Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use the pure-Ruby generator on TruffleRuby as it is much faster #582

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on Apr 16, 2024

  1. Use the pure-Ruby generator on TruffleRuby as it is much faster

    * Using the benchmark from flori#580
    $ ruby benchmarks/bench.rb dump pure
    JSON::Pure::Generator
    truffleruby 24.0.0, like ruby 3.2.2, Oracle GraalVM Native [x86_64-linux]
    Warming up --------------------------------------
          JSON.dump(obj)   116.000 i/100ms
          JSON.dump(obj)   235.000 i/100ms
          JSON.dump(obj)   317.000 i/100ms
          JSON.dump(obj)   372.000 i/100ms
          JSON.dump(obj)   374.000 i/100ms
    Calculating -------------------------------------
          JSON.dump(obj)      3.735k (± 0.9%) i/s  (267.76 μs/i) -     18.700k in   5.007526s
          JSON.dump(obj)      3.738k (± 0.7%) i/s  (267.49 μs/i) -     18.700k in   5.002252s
          JSON.dump(obj)      3.743k (± 0.7%) i/s  (267.18 μs/i) -     19.074k in   5.096375s
          JSON.dump(obj)      3.747k (± 0.5%) i/s  (266.87 μs/i) -     19.074k in   5.090463s
          JSON.dump(obj)      3.746k (± 0.5%) i/s  (266.96 μs/i) -     19.074k in   5.092069s
    $ ruby benchmarks/bench.rb dump ext
    JSON::Ext::Generator
    truffleruby 24.0.0, like ruby 3.2.2, Oracle GraalVM Native [x86_64-linux]
    Warming up --------------------------------------
          JSON.dump(obj)    19.000 i/100ms
          JSON.dump(obj)    18.000 i/100ms
          JSON.dump(obj)    18.000 i/100ms
          JSON.dump(obj)    18.000 i/100ms
          JSON.dump(obj)    21.000 i/100ms
    Calculating -------------------------------------
          JSON.dump(obj)    221.260 (±10.8%) i/s    (4.52 ms/i) -      1.092k in   5.004381s
          JSON.dump(obj)    221.983 (± 8.1%) i/s    (4.50 ms/i) -      1.113k in   5.055574s
          JSON.dump(obj)    221.446 (± 8.6%) i/s    (4.52 ms/i) -      1.113k in   5.073167s
          JSON.dump(obj)    226.452 (± 7.9%) i/s    (4.42 ms/i) -      1.134k in   5.048568s
          JSON.dump(obj)    227.795 (± 8.3%) i/s    (4.39 ms/i) -      1.134k in   5.025187s
    eregon committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    8256455 View commit details
    Browse the repository at this point in the history