oj 3.14.1 → 3.14.2

Sign up to get free protection for your applications and to get access to all the features.
data/test/foo.rb CHANGED
@@ -6,8 +6,53 @@ $: << File.join(File.dirname(__FILE__), "../ext")
6
6
 
7
7
  require "oj"
8
8
 
9
+ class Stuff
10
+ attr_accessor :alpha, :bravo, :charlie, :delta, :echo, :foxtrot, :golf, :hotel, :india, :juliet
11
+ def self.json_create(arg)
12
+ obj = self.new
13
+ obj.alpha = arg["alpha"]
14
+ obj.bravo = arg["bravo"]
15
+ obj.charlie = arg["charlie"]
16
+ obj.delta = arg["delta"]
17
+ obj.echo = arg["echo"]
18
+ obj.foxtrot = arg["foxtrot"]
19
+ obj.golf = arg["golf"]
20
+ obj.hotel = arg["hotel"]
21
+ obj.india = arg["india"]
22
+ obj.juliet = arg["juliet"]
23
+ obj
24
+ end
25
+ end
9
26
 
10
- s = "{\"f1\":\"data\\nW\x0\"}\r\n"
11
- #s = "{\"f1\":\"data\\nW\"}\r\n"
27
+ $obj_json = %|{
28
+ "alpha": [0, 1,2,3,4,5,6,7,8,9],
29
+ "bravo": true,
30
+ "charlie": 123,
31
+ "delta": "some string",
32
+ "echo": null,
33
+ "^": "Stuff",
34
+ "foxtrot": false,
35
+ "golf": "gulp",
36
+ "hotel": {"x": true, "y": false},
37
+ "india": [null, true, 123],
38
+ "juliet": "junk"
39
+ }|
12
40
 
13
- j = Oj.load(s)
41
+ def parse(json)
42
+ p_usual = Oj::Parser.new(:usual)
43
+ p_usual.cache_keys = true
44
+ p_usual.cache_strings = (p_usual.cache_keys ? 6 : 0)
45
+ p_usual.symbol_keys = true
46
+ p_usual.create_id = '^'
47
+ p_usual.class_cache = true
48
+ p_usual.ignore_json_create = true
49
+
50
+ p_usual.parse(json)
51
+ nil
52
+ end
53
+
54
+ parse($obj_json)
55
+
56
+ Oj.mem_report()
57
+
58
+ Oj.mem_report()
data/test/perf_parser.rb CHANGED
@@ -181,6 +181,7 @@ perf = Perf.new()
181
181
  perf.add('Oj::Parser.usual', '') { p_usual.parse($obj_json) }
182
182
  perf.add('Oj::compat_load', '') { Oj.compat_load($obj_json) }
183
183
  perf.add('JSON::Ext', 'parse') { JSON.load($obj_json) }
184
+
184
185
  perf.run($iter)
185
186
 
186
187
  unless $failed.empty?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oj
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.14.1
4
+ version: 3.14.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Ohler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-01 00:00:00.000000000 Z
11
+ date: 2023-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler
@@ -111,6 +111,8 @@ files:
111
111
  - ext/oj/fast.c
112
112
  - ext/oj/intern.c
113
113
  - ext/oj/intern.h
114
+ - ext/oj/mem.c
115
+ - ext/oj/mem.h
114
116
  - ext/oj/mimic_json.c
115
117
  - ext/oj/object.c
116
118
  - ext/oj/odd.c
@@ -304,7 +306,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
304
306
  - !ruby/object:Gem::Version
305
307
  version: '0'
306
308
  requirements: []
307
- rubygems_version: 3.3.3
309
+ rubygems_version: 3.4.1
308
310
  signing_key:
309
311
  specification_version: 4
310
312
  summary: A fast JSON parser and serializer.