1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/ext/json
Watson d7fa7e2c86
[flori/json] Convert string encoding to UTF-8 only when needed
## Before
```
$ ruby bench_json_generate.rb
Warming up --------------------------------------
                json   129.000  i/100ms
Calculating -------------------------------------
                json      1.300k (± 2.3%) i/s -      6.579k in   5.064656s
```

## After
```
$ ruby bench_json_generate.rb
Warming up --------------------------------------
                json   189.000  i/100ms
Calculating -------------------------------------
                json      1.964k (± 3.3%) i/s -      9.828k in   5.011237s
```

## Code
```
require 'json'
require 'benchmark/ips'

obj = []

1000.times do |i|
  obj << {
    "id" => i,
    :age => 42,
  }
end

Benchmark.ips do |x|
  x.report "json" do |iter|
    count = 0
    while count < iter
      JSON.generate(obj)
      count += 1
    end
  end
end
```

https://github.com/flori/json/commit/c34d01ff6a
2019-10-14 19:54:48 +09:00
..
fbuffer
generator [flori/json] Convert string encoding to UTF-8 only when needed 2019-10-14 19:54:48 +09:00
lib [flori/json] Pass args all #to_json in json/add/*. 2019-10-14 19:54:48 +09:00
parser [flori/json] Only attempt to resize strings not other objects 2019-10-14 19:54:48 +09:00
depend Added depend files 2019-07-14 01:31:29 +09:00
extconf.rb
json.gemspec Removed useless freezes from gemspec files 2019-07-13 07:25:54 +09:00