LINUX.ORG.RU

Laravel — накладные расходы и другое :)

 , , ,


0

1

Смотрю видеоуроки по сабжу с tutplus.com.

Возникают закономерные вопросы, например: такая полезная фича как миграции, т.е. по сути продвинутая система отката изменений и «контроля версий» directly in database, насколько все это для среднестатистического веб-приложения увеличивает нагрузку на БД?

И еще пара вопросов конкретно по Laravel'у:

  • Он действительно «жирнее» Yii 2.0 ? Хотя бы в силу того, что построен поверх Symfony, есть о нем такой «миф» ;
  • Второй вопрос вытекает из первого.

    Выиграем ли мы в производительности, если реализуем нужную нам функциональность на процедурах, «по старинке но с умом»? То есть на более низком уровне абстракции;

Ибо при рассмотрении современных php-фреймворков меня не покидает стойкое ощущение дежавю: лет эдак 12-15 назад тоже были разные GUI-тулкиты... история повторяется теперь и для Веба? Лень двигатель прогресса?

★★★★★

т.е. по сути продвинутая система отката изменений и «контроля версий» directly in database, насколько все это для среднестатистического веб-приложения увеличивает нагрузку на БД?

Никак не увеличивает, это просто механизм внесения изменений, во время выполнения он никак не задействован.

Он действительно «жирнее» Yii 2.0 ? Хотя бы в силу того, что построен поверх Symfony, есть о нем такой «миф» ;

Да гонят, я его тестировал на нагрузку, примерно как джанга, а она намного шустрее, чем Yii. Ну и вообще, даже Symfony держит бешеные нагрузки на самом деле, все зависит от архитектуры.

Выиграем ли мы в производительности, если реализуем нужную нам функциональность на процедурах, «по старинке но с умом»? То есть на более низком уровне абстракции;

Нет, проигрываем. Вообще производительность это такая вещь о которой вредно думать заранее. Бери фреймворк который нравится и ты удивишься насколько ты заблуждался изначально со своими идеями писать все на процедурах.

лет эдак 12-15 назад тоже были разные GUI-тулкиты... история повторяется теперь и для Веба? Лень двигатель прогресса?

Эм, че? Фреймворк тебя никак не ограничивает в разработке, зато дает жирные плюшки для тебя и для тех кто будет потом этот код поддерживать, кроме того он оберегает тебя от проблем с безопасностью в 99% случаях.

umren ★★★★★
()

laracasts.com советую еще.

umren ★★★★★
()
Ответ на: комментарий от umren

кроме того он оберегает тебя от проблем с безопасностью в 99% случаях

Это я уже успел подметить по ходу лекций :)

А по поводу повторения истории я так образно выразил «золотое правило» ИТ: при увеличение скорости разработки теряем процент(ы) в производительности.

Вот здесь все именно и зависит от архитектуры самого фреймворка :)

UPD:

Спасибо за ответы :)

Twissel ★★★★★
() автор топика
Последнее исправление: Twissel (всего исправлений: 2)
Ответ на: комментарий от Twissel

при увеличение скорости разработки теряем процент(ы) в производительности.

Это соотношение очень слабенькое, с производительностью тебе заморачиватся уж поверь надо будет не скоро, если только ты не будешь писать бесконечные циклы или делать откровенны ляпы, но тебе в этом и отсутствие фреймворка никакого выигрыша не даст.

umren ★★★★★
()
Ответ на: комментарий от umren

Он действительно «жирнее» Yii 2.0 ? Хотя бы в силу того, что построен поверх Symfony, есть о нем такой «миф» ;

Да гонят, я его тестировал на нагрузку, примерно как джанга, а она намного шустрее, чем Yii

В копилку, хотя и баян:
http://www.techempower.com/benchmarks/#section=data-r9&hw=peak&test=q...

Правда, Laravel там не проходит все тесты. Но хоть добавить пытаются, в прошлом раунде ещё не было.

KRoN73 ★★★★★
()

такая полезная фича как миграции ... насколько все это для среднестатистического веб-приложения увеличивает нагрузку на БД

Так это же сильно редкоиспользуемая функция в цикле жизни приложения. Пусть хоть в 100 раз увеличивается.

turtle_bazon ★★★★★
()
Ответ на: комментарий от turtle_bazon

Ну я про это и писал, что фишка чисто для разработчика.

Хотя согласен поторопился с глупым вопросом и затупил :)

Twissel ★★★★★
() автор топика
Ответ на: комментарий от Twissel

Таки медленнее, как я поглядел?

Symfony сам по себе тормоз. Сделанные на его базе легковесные Silex и Slim шустрее (первый по тесту в полтора раза, второй тесты не прошёл), но всё ещё сильно уступают конкурентам, даже на PHP. Немного отфильтрованного популярного (тест «множественные SQL-запросы», как более близкий к реальности, отобраны не «micro»/«raw», а тяжёлые тесты, с ORM, где есть и т.п.):

Score — Framework — Lang
11270 — Dropwizard — Java
8878 — NodeJS — JavaScript
6964 — Phalcon-micro — PHP
6607 — Play1 — Java
6322 — Phpixie — PHP
5764 — Phalcon — PHP
2662 — Grails — Groovy
1810 — Django — Python
1416 — Spring — Java
1370 — Snap — Haskell
1250 — Lapis — Lua
1196 — Bottle — Python
1111 — Flask — Python
1022 — Lithium — PHP
901 — Silex — PHP/Symfony
580 — Rails — Ruby
459 — Symfony2 — PHP
79 — Sinatra — Ruby

KRoN73 ★★★★★
()
Ответ на: комментарий от rogerw

почему там фласк два раза?

Там разный код:
7710 — Flask с сырыми запросами к MySQL
2031 — Flask на PyPy с сырыми запросами к MySQL
1317 — Flask с полным ORM на nginx/uwsgi
1111 — Flask с полным ORM на Gunicorn
969 — Flask fullORM на Python3.
684 — Flask fullORM на PyPy

KRoN73 ★★★★★
()
Ответ на: комментарий от rogerw

при прочих равных

От условий зависит. В сферическом коне^W^W случае однопоточной объектной числодробилки, работающей с памятью классический Python немного быстрее, чем PHP. PyPy оказывается на порядок быстрее (поэтому меня удивили его низкие результаты с фреймворками, с другой стороны — был бы он реально быстрее, то и пересели бы на него уже все).

Когда речи об объектах/выделении памяти нет, скажем, на голой арифметике, Python обычно быстрее, чем PHP, но иногда — наоборот: http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?test=all&lang=...

В общем, серебряной пули нет. Когда-то были всякие Python Psyco, а PHP был намного тормознее, так что Python рвал его как грелку. Но с тех пор PHP стал быстрее, Psyco умер, Python становится тормознее... Так что паритет. А ещё всякие hhvm появились, но с ними пока ещё сложнее.

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.