2013-11-13 7 views
1

Мне интересно это, с точки зрения производительности только, как они отличаются друг от друга, учитывая правильное использование?Производительность: Class Based Views VS Function Based Views

+0

Я думаю, что большинство преимуществ классических представлений связаны с оргинированием вашего кода, уменьшением повторения и его повторным использованием (методы mixin и т. Д.). Я считаю, что различия в производительности минимальны или вообще отсутствуют. Это просто мое мнение, у меня нет полномочий знать об этом. Итак, комментарий, а не ответ – yuvi

+0

В Python самой дорогой операцией является вызов функции. CBV выполняют много вызовов функций. При этом прикладной уровень редко является узким местом системы. – Thomas

+0

@ Томас, да, я представил эту ситуацию, но на самом деле я хотел бы знать, кто-то профилировал это. Какова цена функций CBV в общей производительности. Может быть, это может быть аргументом для гибридного подхода, я имею в виду использование CBV только тогда, когда это возможно. – Medeiros

ответ

1

Они вообще не отличаются производительностью.

+0

Можете ли вы подробнее рассказать об этом? – Medeiros

+0

Не имеет практического значения, что во время обработки запроса есть еще несколько вызовов функций (создание экземпляра). Вы никогда не собираетесь создавать тонны представлений на основе классов в цикле, потому что они такие, какие они - виды. Постоянный крошечный удар по производительности - все равно. Во всем, что связано с веб-сайтом, узким местом всегда является доступ к данным. При этом вам следует попытаться избежать повторения запросов в представлениях и сделать некоторую логику для каждого элемента - пусть db сделает это и просто извлечет результаты. Если вы это сделаете, то вы действительно можете столкнуться с тем, что часть python сама по себе медленная и потребляющая память. – clime

Смежные вопросы