oj 3.14.1 → 3.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.