Aug. 3rd, 2015

recoder: (Default)

Случилась тут у нас на работе загогулина. В процессе декомпозиции всех наших проектов на микросервисы решили мы воспользоваться шансом и поотпимизировать что можно. В частности - решили поменять JSON парсер, а то он у нас был самодельный, с поддержкой XML и хитрой валидации, но зато несовместимый ни с чем.

Пошли профайлить плюсовые JSON парсеры. Потыкали boost с его свойственными деревьями - оказалось на удивление медленно, причём и в компиляции и в рантайме. Посмотрели на Poco::JSON - более менее фурычит, хотя звёзд с неба и не хватает. Пошли смотреть что ещё бывает в современном мире C++...

А потом по приколу прогнали Python парсер на тех же тестовых данных. И тихо офигели: мерзкий питон уделал наши крутые библиотки в несколько раз. Проверили в разных аспектах - всё верно, питон быстрее плюсов. Даже для эксперимента вызвали из плюсов питоновский парсер - и он всё равно летает.

Как теперь жить с этим знанием? Переписывать всё нафик на Питоне? Таскать везде с собой кусок питона? И самый главный вопрос - как вообще такое могло получиться?!

coding

December 2024

S M T W T F S
1234567
891011121314
15161718192021
22232425 262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 21st, 2025 06:15 am
Powered by Dreamwidth Studios