summaryrefslogtreecommitdiff
path: root/ext/json/simd
AgeCommit message (Collapse)Author
2025-12-03[ruby/json] Fix macro argumentsNobuyoshi Nakada
`ALWAYS_INLINE()` and `NOINLINE()` are defined with one argument. https://github.com/ruby/json/commit/8fb727901e
2025-11-04[ruby/json] Tentative fix for RHEL8 compilerJean Boussier
``` parser.c:87:77: error: missing binary operator before token "(" #if JSON_CPU_LITTLE_ENDIAN_64BITS && defined(__has_builtin) && __has_builtin(__builtin_bswap64) ``` https://github.com/ruby/json/commit/fce1c7e84a
2025-11-03[ruby/json] Fix duplicate 'inline' declaration specifierJean Boussier
Followup: https://github.com/ruby/json/pull/889 https://github.com/ruby/json/commit/591510392a
2025-11-03[ruby/json] Centralize macro definitionsJean Boussier
https://github.com/ruby/json/commit/1576ea7d47
2025-11-01[ruby/json] Enable JSON_DEBUG for parser/extconf.rbJean Boussier
https://github.com/ruby/json/commit/82b030f294
2025-11-01[ruby/json] parser.c: Use SWAR to skip consecutive spacesJean Boussier
Closes: https://github.com/ruby/json/pull/881 If we encounter a newline, it is likely that the document is pretty printed, hence that the newline is followed by multiple spaces. In such case we can use SWAR to count up to eight consecutive spaces at once. ``` == Parsing activitypub.json (58160 bytes) ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1) +YJIT +PRISM [arm64-darwin24] Warming up -------------------------------------- after 1.118k i/100ms Calculating ------------------------------------- after 11.223k (± 0.7%) i/s (89.10 μs/i) - 57.018k in 5.080522s Comparison: before: 10834.4 i/s after: 11223.4 i/s - 1.04x faster == Parsing twitter.json (567916 bytes) ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1) +YJIT +PRISM [arm64-darwin24] Warming up -------------------------------------- after 118.000 i/100ms Calculating ------------------------------------- after 1.188k (± 1.0%) i/s (841.62 μs/i) - 6.018k in 5.065355s Comparison: before: 1094.8 i/s after: 1188.2 i/s - 1.09x faster == Parsing citm_catalog.json (1727030 bytes) ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1) +YJIT +PRISM [arm64-darwin24] Warming up -------------------------------------- after 58.000 i/100ms Calculating ------------------------------------- after 570.506 (± 3.7%) i/s (1.75 ms/i) - 2.900k in 5.091529s Comparison: before: 419.6 i/s after: 570.5 i/s - 1.36x faster == Parsing float parsing (2251051 bytes) ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1) +YJIT +PRISM [arm64-darwin24] Warming up -------------------------------------- after 22.000 i/100ms Calculating ------------------------------------- after 212.010 (± 1.9%) i/s (4.72 ms/i) - 1.078k in 5.086885s Comparison: before: 189.4 i/s after: 212.0 i/s - 1.12x faster ``` https://github.com/ruby/json/commit/b3fd7b26be Co-Authored-By: Scott Myron <samyron@gmail.com>
2025-07-27[ruby/json] Keep indentation consistent across functions [ci skip]Nobuyoshi Nakada
https://github.com/ruby/json/commit/1988a3ae4c
2025-07-27[ruby/json] Functions defined in headers should be `static inline`Nobuyoshi Nakada
If `load_uint8x16_4` has an external linkage, it is defined in both `generator` and `parser` extension libraries. This duplicate symbol causes a linker error when `--with-static-linked-ext` is given, on some platforms. https://github.com/ruby/json/commit/020693b17a
2025-07-25[ruby/json] Don't assume `__builtin_cpu_supports` existsJean Boussier
Fix: https://github.com/ruby/json/issues/827 On very old compilers it might not exist, at that point might as well skip SIMD entirely. https://github.com/ruby/json/commit/da878435dc
2025-07-07[ruby/json] Improve consistency of code styleJean Boussier
https://github.com/ruby/json/commit/a497c71960
2025-07-01[ruby/json] Stop calling `__builtin_cpu_init`Jean Boussier
It's only needed if using GCC `ifunc` mecanism, which we don't. https://github.com/ruby/json/commit/d3317b9f82
2025-07-01[ruby/json] Suppress -Wunused-functionTakashi Kokubun
https://github.com/ruby/json/commit/94ed471814
2025-07-01[ruby/json] Refactor simd/conf.rb - duplicate codeNobuyoshi Nakada
Integrate duplicate code by extracting headers, types and initialization code. https://github.com/ruby/json/commit/1a768d9179
2025-07-01[ruby/json] Refactor simd/conf.rb - unnecessary `have_type`Nobuyoshi Nakada
Remove `have_type` calls because the next `try_compile` calls check those types. https://github.com/ruby/json/commit/b08e1ca2c1
2025-07-01[ruby/json] Refactor simd/conf.rb - conditions to enableNobuyoshi Nakada
See the results of `have_type` and `try_compile` in addition to `have_header` for NEON as well as x86_64. The former results were just ignored, and `HAVE_TYPE_` macros are unused too. https://github.com/ruby/json/commit/fdbb6062c2
2025-07-01[ruby/json] Refactor simd/conf.rb - balanceNobuyoshi Nakada
Align code for arm and x86_64 in parallel. https://github.com/ruby/json/commit/2211e30a59
2025-07-01[ruby/json] Refactor simd/conf.rb - compiler warningsNobuyoshi Nakada
Suppress warnings for old style function definition and unused variable. https://github.com/ruby/json/commit/58dc0aa938
2025-06-30Adjust ruby/ruby directory structureHiroshi SHIBATA