diff options
author | Scott Myron <[email protected]> | 2025-04-28 07:57:10 -0500 |
---|---|---|
committer | Jean Boussier <[email protected]> | 2025-04-30 08:12:41 +0200 |
commit | a3ec53bbb0337121d3518d069516bb7b3a795e96 () | |
tree | 81d1249bfcf7d304668cabb94750398c041f9abd /ext/json/generator/extconf.rb | |
parent | 7f0c6d30d3d42a9d9ee9ab79e2acd86baa9184f4 (diff) |
[ruby/json] Introduce ARM Neon and SSE2 SIMD.
(https://.com/ruby/json/pull/743) See the pull request for the long development history: https://.com/ruby/json/pull/743 ``` == Encoding activitypub.json (52595 bytes) ruby 3.4.2 (2025-02-15 revision https://.com/ruby/json/commit/d2930f8e7a) +YJIT +PRISM [arm64-darwin24] Warming up -------------------------------------- after 2.913k i/100ms Calculating ------------------------------------- after 29.377k (± 2.0%) i/s (34.04 μs/i) - 148.563k in 5.059169s Comparison: before: 23314.1 i/s after: 29377.3 i/s - 1.26x faster == Encoding citm_catalog.json (500298 bytes) ruby 3.4.2 (2025-02-15 revision https://.com/ruby/json/commit/d2930f8e7a) +YJIT +PRISM [arm64-darwin24] Warming up -------------------------------------- after 152.000 i/100ms Calculating ------------------------------------- after 1.569k (± 0.8%) i/s (637.49 μs/i) - 7.904k in 5.039001s Comparison: before: 1485.6 i/s after: 1568.7 i/s - 1.06x faster == Encoding twitter.json (466906 bytes) ruby 3.4.2 (2025-02-15 revision https://.com/ruby/json/commit/d2930f8e7a) +YJIT +PRISM [arm64-darwin24] Warming up -------------------------------------- after 309.000 i/100ms Calculating ------------------------------------- after 3.115k (± 3.1%) i/s (321.01 μs/i) - 15.759k in 5.063776s Comparison: before: 2508.3 i/s after: 3115.2 i/s - 1.24x faster ``` https://.com/ruby/json/commit/49003523da
-rw-r--r-- | ext/json/generator/extconf.rb | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -6,5 +6,36 @@ if RUBY_ENGINE == 'truffleruby' else append_cflags("-std=c99") $defs << "-DJSON_GENERATOR" create_makefile 'json/ext/generator' end |