Комментарии 9
Какие библиотеки, какие аналоги, кого с кем сравниваете, о чем пост?
В тех же Frameworks вы обидели пилоны с торнадо на пустом месте, но альтернативу не предложили (хотя пост про аналоги).
Или же вы спрашиваете аналоги? Ну тогда хабр не для вопросов
В тех же Frameworks вы обидели пилоны с торнадо на пустом месте, но альтернативу не предложили (хотя пост про аналоги).
Или же вы спрашиваете аналоги? Ну тогда хабр не для вопросов
json vs ujson (а по ссылке ещё сравнение с 4 либами), FeedParser vs SpeedParser. Pylons/Django vs Tornado(или ещё чего лёгкого) только в контексте оверхеда.
Ну и в целом это заметка — ощущение от работы с медленным сервером, она больше собирательная. Просто личный опыт раскрываю… на более не претендую.
Ну и в целом это заметка — ощущение от работы с медленным сервером, она больше собирательная. Просто личный опыт раскрываю… на более не претендую.
In [40]: import json
In [41]: %timeit json.dumps(n, ensure_ascii=True)
10000 loops, best of 3: 79 µs per loop
In [42]: %timeit json.dumps(n, ensure_ascii=False)
1000 loops, best of 3: 448 µs per loop
А могли бы вы, то же самое сделать с ujson? У меня ещё просто во весь рост встала проблема размера JSON (до 1.5 мегабайта, после всех мероприятий до 250кило убавил)
На том же самом наборе данных:
In [52]: %timeit ujson.dumps(n, ensure_ascii=False)
10000 loops, best of 3: 46.4 µs per loop
In [53]: %timeit ujson.dumps(n, ensure_ascii=True)
10000 loops, best of 3: 58.3 µs per loop
Вот… по этому я и не заметил этого. :) В ujson с ensure_ascii=False даже быстрее чем с ensure_ascii=True. А так как мы значительно уменьшаем размер JSON это даёт существенный выигрыш.
Какой Python к слову и какой процессор?
Какой Python к слову и какой процессор?
ujson действительно в разы быстрее, но помимо того, что он не поддерживает некоторые аттрибуты, он также не совсем корректно делает дампы некоторых типов, например результаты генераторов (у меня была с ними некоторая дискуссия и в конце концов они добавили мой патч, но все-равно остались некоторые проблемы). Учитывая, что их компанию купила EA, я не особо верю в будущее этой библиотеки (статистика на гитхабе поддерживает мои подозрения), так что мы просто остановились на том, чтобы патчить эту библиотеку локально, не дожидаясь пока они сделают поддержку тех фич, которые нам надо.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Быстрые аналоги популярных библиотек для Python