Pull to refresh

Comments 31

Хочу уточнить немного:

Я правильно понимаю, что AIOHTTP + asyncio — оказались непригодными, и теперь мейнстрим это Sanic?
Sanic побыстрей чем aiohttp, но зато последний релиз был в декабре 2017. Когда будет новый релиз не понятно. В том релизе который есть, даже версии зависимостей не зафиксированы, из-за чего словили тут баг, когда websocket обновились.
В итоге aiohttp выглядит постабильней и поддержка лучше. Sanic побыстрей, но разница уже уменьшается.
Это странно, если учитывать, что автор aiohttp — Андрей Светлов. Как измеряли?
В сети есть бенчмарки на всякие hello word. В них сейчас разница в 1,5-2 раза в зависимости от версии Sanic и aiohttp.
Мы свой проект нагружали, там разница не такая большая, но Sanic побольше нагрузку держит.
Ну и если на то пошло, самые крутые бенчмарки сейчас у vibora, но для продакшена это фреймворк не гоов, а когда будет готов, то еще неизвестно какие цифры будут.
Не странно — sanic использует magicstack httptools parser — а он написан на c. (uvloop — тоже эти ребята)
aiohttp — python native. По факту — разница не в 1.5-2 раза, а более чем в 10.
В моих тестах (на ноуте) был приблизительно следующий результат
— aiohttp — ~6к Requests per Second
— sanic — ~30k RPS
— Naked httptools — 90K
НО! Следует понимать что:
1. aiohttp и sanic это куча кода, плюшек, удобств. А magicstack это парсер — и добавление плюшек замедляет (хотя далеко не так как в aiohttp)
2. Такой результат только при работе на установившихся соединениях — если на каждый запрос создавать и рвать соедиенение то результат упадет раз в 20.
нет. К стати vybora performance тесты не совсем корректны, они распараллеливают, а при использовании вышесказанных либ, речь шла об однопоточной производительности.
Они тоже используют http_parser на С — только похоже сами написали. Ну это радует. +1 потенциально быстрый фреймворк… Главное чтобы не заглох.
UFO just landed and posted this here
На самом деле даже лучше. uvloop тоже базируется на libuv — которая изначально была разработана для nodejs и в принципе все логично. Светлов конечно молодца, но по хорошему в aiohttp надо идти этим путем — и будет все быстрее…
т.е. vibora — это multithreading а sanic и другие — это асинхронщина?
Нет, там также в основе asyncio.
Распараллеливается же с помощью multiprocessing, треды тут никак не могут помочь.
10 веб-фреймворков Python, с которыми стоит работать в 2018 году

Но прежде чем начать с ним работать, стоит запомнить, что с Python 3 он несовместим.

?
это про Web2py.
Очень не хватило таблички, хотя бы на уровне сравнения — какие версии питонов поддерживает.
Абсолютно поддерживаю. Для API — отличный выбор. Действительно минималистичен и среди синхронных фреймворков является крайне быстрым (частично на Cython).

Еще сейчас активно разрабатывается Vibora — асинхронный веб-фреймворк, внутренности которого написаны на Cython, из-за чего он получился невероятно быстрым (на странице проекта есть относительно свежие бенчмарки). До production-ready ему далеко, но «звездочку» им поставил, однозначно стоит следить. :)
UFO just landed and posted this here
CherryPy удобен, так так хорошо работать одновременно с другими библиотеками, создавать потоки, синхрон и асинхрон, вообще большой простор для фантазии
в отличии от джанго =/
UFO just landed and posted this here
Это очень полезная статья.
Но в связи с этим возникает вопрос, есть ли уже готовые cms, как, например, wordpress, но написанные на Питоне?
Т.е. почти как plug-n-play — запустил установщик, и вот тебе готовый сайт.

А не так, как с django или даже django-cms, надо сначала установить, потом написать свои apps, а только после запускать все в продакшн? И еще не забыть сделать свой шаблон для сайта…
Нет. Тут фишка в чем. Python — изначально предназначен для быстрой разработки стартапов (т.е. проекты, где нужна большая гибкость), либо для промышленной разработки. Поэтому, использовать его для типичных сайтов — неразумно.
Я думаю причина в другом. А именно в том что создать cms да ещё бесплатно не такая простая задача. Например на том же php до недавнего времени не было аналога для построения админок аналогичной по возможностям с Django. Поэтому то что Django это python а wordpress это php это просто ход истории а не атрибут какого то языка. Приведу Вам ещё пример. Для nodejs также нет широко используемых cms и только недавно появились конструкторы админок. Но это уже внутри какого то фреймворка react, vue и т.д. И это все при том притоке разработчиков js ко трое имеем.
Не согласен.
Cms — это продукт, ориентированный, прежде всего, на пользователя, который управляет содержимым сайта. Django, например — это фреймворк, читай — инструмент, созданный для облегчения разработки, в том числе и cms. Сравнивать их не корректно, на мой взгляд.
Широта использования того или иного инструмента или продукта — это вопрос усилий по продвижению их авторов. WordPress или Magento весьма известны и популярны, не без усилий владельцев, которые зарабатывают на поддержке этих opensource проектов.
Почему нет столь же успешных проектов на python — это отдельный повод для размышлений.
Я не сравнивал Django с cms. Я говорил что в каждом языке есть свои опенсорсные инструменты. И в python нет общепризнанной лидирующей cms не потому что это такой язык а потом у что создать что то хорошее и бесплатное это довольно сложно. Аналогично в php до недавнего времени не было средств для построения админок которая есть например у Django. Что как раз можно заключить из той реплики на которую я ответил что в python нет cms потому что она там не нужна тк все уже есть в самом питоне
Аналогично в php до недавнего времени не было средств для построения админок которая есть например у Django


А что уже есть? Помнится изучал этот вопрос где-то 1,5 года назад, ничего толкового не было…
Широта использования того или иного инструмента или продукта — это вопрос усилий по продвижению их авторов.

Я как и многие разработчики человек непредвзятый по отношению к технологиям и фрнймвкркам. Я неоднократно пытался найти cms не обязательно топовую которая ускорила разработку. Кроме wp или drupal. И пока что ничего не попадалось. Есть на php такая линейка как бы даже поддерживаемая идеологами symfony. Это zulu cms. Вообщк то даже разработчики позиционируют ее как для сайтов среднего уровня по сложности и по нагрузке. Под node.js вообще все просмотренные мной cms элементарно глючат.
Это я к тому говорю что не только в продвижении дела если говорить о продвижении как о маркетинговом процессе.
Sign up to leave a comment.