Случилась тут у нас на работе загогулина. В процессе декомпозиции всех наших проектов на микросервисы решили мы воспользоваться шансом и поотпимизировать что можно. В частности - решили поменять JSON парсер, а то он у нас был самодельный, с поддержкой XML и хитрой валидации, но зато несовместимый ни с чем.
Пошли профайлить плюсовые JSON парсеры. Потыкали boost с его свойственными деревьями - оказалось на удивление медленно, причём и в компиляции и в рантайме. Посмотрели на Poco::JSON - более менее фурычит, хотя звёзд с неба и не хватает. Пошли смотреть что ещё бывает в современном мире C++...
А потом по приколу прогнали Python парсер на тех же тестовых данных. И тихо офигели: мерзкий питон уделал наши крутые библиотки в несколько раз. Проверили в разных аспектах - всё верно, питон быстрее плюсов. Даже для эксперимента вызвали из плюсов питоновский парсер - и он всё равно летает.
Как теперь жить с этим знанием? Переписывать всё нафик на Питоне? Таскать везде с собой кусок питона? И самый главный вопрос - как вообще такое могло получиться?!
no subject
Date: 2015-08-03 11:51 am (UTC)А GSON не смотрели? или он только на java?
(no subject)
From:no subject
Date: 2015-08-03 12:56 pm (UTC)(no subject)
From:no subject
Date: 2015-08-03 01:02 pm (UTC)(no subject)
From:no subject
Date: 2015-08-03 01:07 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2015-08-03 02:13 pm (UTC)- а как это?
- а какая разница, все равно ж на проводах время теряется?
(no subject)
From:(no subject)
From:no subject
Date: 2015-08-03 02:55 pm (UTC)(no subject)
From:no subject
Date: 2015-08-03 03:33 pm (UTC)надо вывалить на суд общественности бенчмарки и исходники, авось и объяснения нашлись бы?!
(no subject)
From:(no subject)
From:no subject
Date: 2015-08-03 03:38 pm (UTC)Не знаю, как оно там относительно питона, но скорее всего RapidJSON быстрее будет.
no subject
Date: 2015-08-03 05:23 pm (UTC)no subject
Date: 2015-08-03 05:56 pm (UTC)Вообще вот : http://lionet.livejournal.com/118853.html
(no subject)
From: