@@ -301,24 +301,16 @@ end
301301
302302large_decoded_proplist = to_proplist . ( to_proplist , large_decoded_json )
303303
304- BenchGroup . set ( "Encode — 1.2 KB OpenRTB" )
305- IO . puts ( "=== ENCODE BENCHMARK ===\n " )
304+ BenchGroup . set ( "Decode — 1.2 KB OpenRTB" )
305+ IO . puts ( "=== DECODE BENCHMARK ===\n " )
306306
307307Benchee . run (
308308 % {
309- "jason [map() :: binary()]" => fn -> Jason . encode! ( bid_response ) end ,
310- "jason [map() :: iodata()]" => fn -> Jason . encode_to_iodata! ( bid_response ) end ,
311- "jiffy [map() :: iodata()]" => fn -> :jiffy . encode ( bid_response ) end ,
312- "jiffy [proplist() :: iodata()]" => fn ->
313- :jiffy . encode ( bid_response_proplist , [ :force_utf8 ] )
314- end ,
315- "otp json [map() :: iodata()]" => fn -> :json . encode ( bid_response ) end ,
316- "simdjsone [map() :: iodata()]" => fn -> :simdjson . encode ( bid_response ) end ,
317- "simdjsone [proplist() :: iodata()]" => fn -> :simdjson . encode ( bid_response_proplist ) end ,
318- "torque [map() :: binary()]" => fn -> Torque . encode! ( bid_response ) end ,
319- "torque [map() :: iodata()]" => fn -> Torque . encode_to_iodata ( bid_response ) end ,
320- "torque [proplist() :: binary()]" => fn -> Torque . encode! ( bid_response_proplist ) end ,
321- "torque [proplist() :: iodata()]" => fn -> Torque . encode_to_iodata ( bid_response_proplist ) end
309+ "jason decode" => fn -> Jason . decode! ( sample_json ) end ,
310+ "jiffy decode" => fn -> :jiffy . decode ( sample_json , [ :return_maps ] ) end ,
311+ "otp json decode" => fn -> :json . decode ( sample_json ) end ,
312+ "simdjsone decode" => fn -> :simdjson . decode ( sample_json ) end ,
313+ "torque decode" => fn -> Torque . decode! ( sample_json ) end
322314 } ,
323315 warmup: 2 ,
324316 time: 5 ,
@@ -330,22 +322,16 @@ Benchee.run(
330322 ] ++ ci_formatters
331323)
332324
333- BenchGroup . set ( "Encode — 750 KB Twitter" )
334- IO . puts ( "\n === LARGE JSON ENCODE BENCHMARK ===\n " )
325+ BenchGroup . set ( "Decode — 750 KB Twitter" )
326+ IO . puts ( "\n === LARGE JSON DECODE BENCHMARK ===\n " )
335327
336328Benchee . run (
337329 % {
338- "jason [map() :: binary()]" => fn -> Jason . encode! ( large_decoded_json ) end ,
339- "jason [map() :: iodata()]" => fn -> Jason . encode_to_iodata! ( large_decoded_json ) end ,
340- "jiffy [map() :: iodata()]" => fn -> :jiffy . encode ( large_decoded_json ) end ,
341- "jiffy [proplist() :: iodata()]" => fn -> :jiffy . encode ( large_decoded_proplist ) end ,
342- "otp json [map() :: iodata()]" => fn -> :json . encode ( large_decoded_json ) end ,
343- "simdjsone [map() :: iodata()]" => fn -> :simdjson . encode ( large_decoded_json ) end ,
344- "simdjsone [proplist() :: iodata()]" => fn -> :simdjson . encode ( large_decoded_proplist ) end ,
345- "torque [map() :: binary()]" => fn -> Torque . encode! ( large_decoded_json ) end ,
346- "torque [map() :: iodata()]" => fn -> Torque . encode_to_iodata ( large_decoded_json ) end ,
347- "torque [proplist() :: binary()]" => fn -> Torque . encode! ( large_decoded_proplist ) end ,
348- "torque [proplist() :: iodata()]" => fn -> Torque . encode_to_iodata ( large_decoded_proplist ) end
330+ "jason decode" => fn -> Jason . decode! ( large_json ) end ,
331+ "jiffy decode" => fn -> :jiffy . decode ( large_json , [ :return_maps ] ) end ,
332+ "otp json decode" => fn -> :json . decode ( large_json ) end ,
333+ "simdjsone decode" => fn -> :simdjson . decode ( large_json ) end ,
334+ "torque decode" => fn -> Torque . decode! ( large_json ) end
349335 } ,
350336 warmup: 2 ,
351337 time: 5 ,
@@ -357,16 +343,24 @@ Benchee.run(
357343 ] ++ ci_formatters
358344)
359345
360- BenchGroup . set ( "Decode — 1.2 KB OpenRTB" )
361- IO . puts ( "\n === DECODE BENCHMARK ===\n " )
346+ BenchGroup . set ( "Encode — 1.2 KB OpenRTB" )
347+ IO . puts ( "\n === ENCODE BENCHMARK ===\n " )
362348
363349Benchee . run (
364350 % {
365- "jason decode" => fn -> Jason . decode! ( sample_json ) end ,
366- "jiffy decode" => fn -> :jiffy . decode ( sample_json , [ :return_maps ] ) end ,
367- "otp json decode" => fn -> :json . decode ( sample_json ) end ,
368- "simdjsone decode" => fn -> :simdjson . decode ( sample_json ) end ,
369- "torque decode" => fn -> Torque . decode! ( sample_json ) end
351+ "jason [map() :: binary()]" => fn -> Jason . encode! ( bid_response ) end ,
352+ "jason [map() :: iodata()]" => fn -> Jason . encode_to_iodata! ( bid_response ) end ,
353+ "jiffy [map() :: iodata()]" => fn -> :jiffy . encode ( bid_response ) end ,
354+ "jiffy [proplist() :: iodata()]" => fn ->
355+ :jiffy . encode ( bid_response_proplist , [ :force_utf8 ] )
356+ end ,
357+ "otp json [map() :: iodata()]" => fn -> :json . encode ( bid_response ) end ,
358+ "simdjsone [map() :: iodata()]" => fn -> :simdjson . encode ( bid_response ) end ,
359+ "simdjsone [proplist() :: iodata()]" => fn -> :simdjson . encode ( bid_response_proplist ) end ,
360+ "torque [map() :: binary()]" => fn -> Torque . encode! ( bid_response ) end ,
361+ "torque [map() :: iodata()]" => fn -> Torque . encode_to_iodata ( bid_response ) end ,
362+ "torque [proplist() :: binary()]" => fn -> Torque . encode! ( bid_response_proplist ) end ,
363+ "torque [proplist() :: iodata()]" => fn -> Torque . encode_to_iodata ( bid_response_proplist ) end
370364 } ,
371365 warmup: 2 ,
372366 time: 5 ,
@@ -378,16 +372,22 @@ Benchee.run(
378372 ] ++ ci_formatters
379373)
380374
381- BenchGroup . set ( "Decode — 750 KB Twitter" )
382- IO . puts ( "\n === LARGE JSON DECODE BENCHMARK ===\n " )
375+ BenchGroup . set ( "Encode — 750 KB Twitter" )
376+ IO . puts ( "\n === LARGE JSON ENCODE BENCHMARK ===\n " )
383377
384378Benchee . run (
385379 % {
386- "jason decode" => fn -> Jason . decode! ( large_json ) end ,
387- "jiffy decode" => fn -> :jiffy . decode ( large_json , [ :return_maps ] ) end ,
388- "otp json decode" => fn -> :json . decode ( large_json ) end ,
389- "simdjsone decode" => fn -> :simdjson . decode ( large_json ) end ,
390- "torque decode" => fn -> Torque . decode! ( large_json ) end
380+ "jason [map() :: binary()]" => fn -> Jason . encode! ( large_decoded_json ) end ,
381+ "jason [map() :: iodata()]" => fn -> Jason . encode_to_iodata! ( large_decoded_json ) end ,
382+ "jiffy [map() :: iodata()]" => fn -> :jiffy . encode ( large_decoded_json ) end ,
383+ "jiffy [proplist() :: iodata()]" => fn -> :jiffy . encode ( large_decoded_proplist ) end ,
384+ "otp json [map() :: iodata()]" => fn -> :json . encode ( large_decoded_json ) end ,
385+ "simdjsone [map() :: iodata()]" => fn -> :simdjson . encode ( large_decoded_json ) end ,
386+ "simdjsone [proplist() :: iodata()]" => fn -> :simdjson . encode ( large_decoded_proplist ) end ,
387+ "torque [map() :: binary()]" => fn -> Torque . encode! ( large_decoded_json ) end ,
388+ "torque [map() :: iodata()]" => fn -> Torque . encode_to_iodata ( large_decoded_json ) end ,
389+ "torque [proplist() :: binary()]" => fn -> Torque . encode! ( large_decoded_proplist ) end ,
390+ "torque [proplist() :: iodata()]" => fn -> Torque . encode_to_iodata ( large_decoded_proplist ) end
391391 } ,
392392 warmup: 2 ,
393393 time: 5 ,
0 commit comments