Rendered JSON is ~250 KB in size.
Warming up --------------------------------------
render json: data 20.000 i/100ms
render json: data.to_json
27.000 i/100ms
render json: ActiveSupport::JSON.encode(data)
26.000 i/100ms
render json: JSON.dump(data)
235.000 i/100ms
render json: Oj.dump(data)
602.000 i/100ms
Calculating -------------------------------------
render json: data 197.325 (± 9.6%) i/s - 980.000 in 5.019729s
render json: data.to_json
265.132 (± 7.5%) i/s - 1.323k in 5.023435s
render json: ActiveSupport::JSON.encode(data)
271.085 (± 4.8%) i/s - 1.352k in 5.000137s
render json: JSON.dump(data)
2.467k (±10.8%) i/s - 12.220k in 5.027728s
render json: Oj.dump(data)
6.190k (±15.3%) i/s - 30.100k in 5.016871s
Comparison:
render json: Oj.dump(data): 6189.7 i/s
render json: JSON.dump(data): 2467.3 i/s - 2.51x slower
render json: ActiveSupport::JSON.encode(data): 271.1 i/s - 22.83x slower
render json: data.to_json: 265.1 i/s - 23.35x slower
render json: data: 197.3 i/s - 31.37x slower
Calculating -------------------------------------
render json: data 589.285k memsize ( 64.664k retained)
8.504k objects ( 735.000 retained)
50.000 strings ( 50.000 retained)
render json: data.to_json
359.653k memsize ( 1.128k retained)
7.783k objects ( 13.000 retained)
50.000 strings ( 1.000 retained)
render json: ActiveSupport::JSON.encode(data)
359.653k memsize ( 1.128k retained)
7.783k objects ( 13.000 retained)
50.000 strings ( 1.000 retained)
render json: JSON.dump(data)
54.007k memsize ( 1.128k retained)
813.000 objects ( 13.000 retained)
50.000 strings ( 1.000 retained)
render json: Oj.dump(data)
24.197k memsize ( 1.128k retained)
73.000 objects ( 13.000 retained)
17.000 strings ( 1.000 retained)
Comparison:
render json: Oj.dump(data): 24197 allocated
render json: JSON.dump(data): 54007 allocated - 2.23x more
render json: data.to_json: 359653 allocated - 14.86x more
render json: ActiveSupport::JSON.encode(data): 359653 allocated - 14.86x more
render json: data: 589285 allocated - 24.35x more