venediktov / vanilla-rtb

Real Time Bidding (RTB) - Demand Side Platform framework
http://forkbid.com
GNU General Public License v3.0
318 stars 84 forks source link

improve json to C++ mapping performance #66

Closed venediktov closed 7 years ago

venediktov commented 7 years ago

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