venediktov / vanilla-rtb

Real Time Bidding (RTB) - Demand Side Platform framework

Home Page:http://forkbid.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

improve json to C++ mapping performance

venediktov opened this issue · comments

Our current implementation of exchange_handler
boost.asio/jsmn-parser/any_mapper is behind netty/openrtb-core ( Java ) by a lot
On the 4 core machine netty/openrtb-core can get up to 25K QPSl while our exchange_handler is doing about 20K QPS.

  1. Introduce rapidjson library to the stack
  2. remove extra step encoding to jsonv::value or boost::any and encode directly into openrtb::BidRequest
  3. implement json writers with rapidjson API