json_pure 1.1.3 → 1.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +9 -0
- data/Rakefile +47 -53
- data/VERSION +1 -1
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log +52 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat +1000 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat +1001 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat +900 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat +901 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat +1000 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat +1001 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log +261 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat +1000 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat +1001 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat +1000 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat +1001 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat +1000 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat +1001 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log +262 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat +1000 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat +1001 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log +82 -0
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log +34 -0
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat +900 -0
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat +901 -0
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log +81 -0
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat +1000 -0
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat +1001 -0
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log +82 -0
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat +1000 -0
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat +1001 -0
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log +82 -0
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat +1000 -0
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat +1001 -0
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log +82 -0
- data/benchmarks/generator_benchmark.rb +162 -0
- data/benchmarks/parser_benchmark.rb +193 -0
- data/bin/edit_json.rb +0 -1
- data/bin/prettify_json.rb +0 -1
- data/doc-templates/main.txt +284 -0
- data/ext/json/ext/generator/extconf.rb +2 -0
- data/ext/json/ext/generator/generator.c +62 -18
- data/ext/json/ext/parser/extconf.rb +2 -0
- data/ext/json/ext/parser/parser.c +128 -81
- data/ext/json/ext/parser/parser.rl +31 -7
- data/ext/json/ext/parser/unicode.c +4 -4
- data/lib/json/add/core.rb +1 -1
- data/lib/json/editor.rb +11 -2
- data/lib/json/ext.rb +2 -0
- data/lib/json/pure/generator.rb +77 -41
- data/lib/json/pure/parser.rb +6 -2
- data/lib/json/pure.rb +2 -0
- data/lib/json/version.rb +1 -1
- data/lib/json.rb +0 -221
- data/tests/test_json.rb +7 -4
- data/tests/test_json_addition.rb +8 -5
- data/tests/test_json_fixtures.rb +6 -2
- data/tests/test_json_generate.rb +8 -2
- data/tests/test_json_rails.rb +30 -2
- data/tests/test_json_unicode.rb +8 -7
- data/tools/fuzz.rb +0 -1
- data/tools/server.rb +0 -1
- metadata +46 -9
- data/benchmarks/benchmark.txt +0 -133
- data/benchmarks/benchmark_generator.rb +0 -48
- data/benchmarks/benchmark_parser.rb +0 -26
- data/benchmarks/benchmark_rails.rb +0 -26
- data/tests/runner.rb +0 -25
@@ -0,0 +1,261 @@
|
|
1
|
+
========================== 2009-04-01T16:53:42 CEST ===========================
|
2
|
+
Benchmarking on ruby 1.8.6 (2008-08-11 patchlevel 287) [i686-linux].
|
3
|
+
Running 'GeneratorBenchmarkExt' for 1000 iterations/method (compare_time=real)
|
4
|
+
===============================================================================
|
5
|
+
|
6
|
+
This first run is only for warmup.
|
7
|
+
GeneratorBenchmarkExt#generator_fast:
|
8
|
+
real total user system
|
9
|
+
sum 1.818191528 1.840000000 1.830000000 0.010000000
|
10
|
+
min 0.001368999 0.000000000 0.000000000 0.000000000
|
11
|
+
std- -0.000870656 -0.002702580 -0.002705600 -0.000306228
|
12
|
+
mean 0.001818192 0.001840000 0.001830000 0.000010000
|
13
|
+
std+ 0.004507039 0.006382580 0.006365600 0.000326228
|
14
|
+
max 0.026389122 0.030000000 0.030000000 0.010000000
|
15
|
+
std 0.002688848 0.004542580 0.004535600 0.000316228
|
16
|
+
std% 147.885830391 246.879359662 247.847020509 3162.277660168
|
17
|
+
harm 0.001475231 nan nan nan
|
18
|
+
geo 0.001529059 0.000000000 0.000000000 0.000000000
|
19
|
+
q1 0.001397133 0.000000000 0.000000000 0.000000000
|
20
|
+
med 0.001406908 0.000000000 0.000000000 0.000000000
|
21
|
+
q3 0.001425028 0.000000000 0.000000000 0.000000000
|
22
|
+
1000 549.99706 0.001818192
|
23
|
+
calls calls/sec secs/call
|
24
|
+
|
25
|
+
0.02514 -|
|
26
|
+
0.02264 -|*
|
27
|
+
0.02013 -|
|
28
|
+
0.01763 -|
|
29
|
+
0.01513 -|
|
30
|
+
0.01263 -|
|
31
|
+
0.01013 -|
|
32
|
+
0.00762 -|
|
33
|
+
0.00512 -|
|
34
|
+
0.00262 -|**************************************************
|
35
|
+
|
36
|
+
Outliers detected with box plot algo (median=0.00141, iqr=0.00003, factor=3.00):
|
37
|
+
high=63 very_high=132
|
38
|
+
|
39
|
+
Ljung-Box statistics: q=15.00353 (alpha=0.05, df=50).
|
40
|
+
0.00000 < 0.95000 => No autocorrelation was detected.
|
41
|
+
|
42
|
+
GeneratorBenchmarkExt#generator_fast:
|
43
|
+
real total user system
|
44
|
+
sum 1.826970100 1.830000000 1.820000000 0.010000000
|
45
|
+
min 0.001377106 0.000000000 0.000000000 0.000000000
|
46
|
+
std- -0.000992693 -0.002749527 -0.002708588 -0.000306228
|
47
|
+
mean 0.001826970 0.001830000 0.001820000 0.000010000
|
48
|
+
std+ 0.004646633 0.006409527 0.006348588 0.000326228
|
49
|
+
max 0.027617931 0.030000000 0.030000000 0.010000000
|
50
|
+
std 0.002819663 0.004579527 0.004528588 0.000316228
|
51
|
+
std% 154.335471491 250.247404066 248.823509412 3162.277660168
|
52
|
+
harm 0.001469225 nan nan nan
|
53
|
+
geo 0.001522946 0.000000000 0.000000000 0.000000000
|
54
|
+
q1 0.001402140 0.000000000 0.000000000 0.000000000
|
55
|
+
med 0.001411915 0.000000000 0.000000000 0.000000000
|
56
|
+
q3 0.001425982 0.000000000 0.000000000 0.000000000
|
57
|
+
1000 547.35433 0.001826970
|
58
|
+
calls calls/sec secs/call
|
59
|
+
|
60
|
+
0.02631 -|
|
61
|
+
0.02368 -|*
|
62
|
+
0.02106 -|
|
63
|
+
0.01843 -|
|
64
|
+
0.01581 -|
|
65
|
+
0.01319 -|
|
66
|
+
0.01056 -|
|
67
|
+
0.00794 -|
|
68
|
+
0.00531 -|
|
69
|
+
0.00269 -|**************************************************
|
70
|
+
|
71
|
+
Outliers detected with box plot algo (median=0.00141, iqr=0.00002, factor=3.00):
|
72
|
+
high=84 very_high=91
|
73
|
+
|
74
|
+
Ljung-Box statistics: q=13.47105 (alpha=0.05, df=50).
|
75
|
+
0.00000 < 0.95000 => No autocorrelation was detected.
|
76
|
+
|
77
|
+
No initial data truncated.
|
78
|
+
=> System may have been in a steady state from the beginning.
|
79
|
+
-------------------------------------------------------------------------------
|
80
|
+
|
81
|
+
This first run is only for warmup.
|
82
|
+
GeneratorBenchmarkExt#generator_pretty:
|
83
|
+
real total user system
|
84
|
+
sum 2.625656843 2.590000000 2.580000000 0.010000000
|
85
|
+
min 0.002025127 0.000000000 0.000000000 0.000000000
|
86
|
+
std- -0.000656844 -0.002684440 -0.002689855 -0.000306228
|
87
|
+
mean 0.002625657 0.002590000 0.002580000 0.000010000
|
88
|
+
std+ 0.005908158 0.007864440 0.007849855 0.000326228
|
89
|
+
max 0.028638124 0.030000000 0.030000000 0.010000000
|
90
|
+
std 0.003282501 0.005274440 0.005269855 0.000316228
|
91
|
+
std% 125.016381076 203.646340853 204.257944451 3162.277660168
|
92
|
+
harm 0.002154247 nan nan nan
|
93
|
+
geo 0.002239052 0.000000000 0.000000000 0.000000000
|
94
|
+
q1 0.002051830 0.000000000 0.000000000 0.000000000
|
95
|
+
med 0.002062082 0.000000000 0.000000000 0.000000000
|
96
|
+
q3 0.002082050 0.000000000 0.000000000 0.000000000
|
97
|
+
1000 380.85708 0.002625657
|
98
|
+
calls calls/sec secs/call
|
99
|
+
|
100
|
+
0.02731 -|
|
101
|
+
0.02465 -|*
|
102
|
+
0.02198 -|
|
103
|
+
0.01932 -|
|
104
|
+
0.01666 -|
|
105
|
+
0.01400 -|
|
106
|
+
0.01134 -|
|
107
|
+
0.00868 -|
|
108
|
+
0.00602 -|
|
109
|
+
0.00336 -|**************************************************
|
110
|
+
|
111
|
+
Outliers detected with box plot algo (median=0.00206, iqr=0.00003, factor=3.00):
|
112
|
+
high=98 very_high=107
|
113
|
+
|
114
|
+
Ljung-Box statistics: q=349.53704 (alpha=0.05, df=50).
|
115
|
+
1.00000 >= 0.95000 => Autocorrelation was detected.
|
116
|
+
|
117
|
+
GeneratorBenchmarkExt#generator_pretty:
|
118
|
+
real total user system
|
119
|
+
sum 2.399331093 2.360000000 2.360000000 0.000000000
|
120
|
+
min 0.002033949 0.000000000 0.000000000 0.000000000
|
121
|
+
std- -0.000767217 -0.002736080 -0.002736080 0.000000000
|
122
|
+
mean 0.002665923 0.002622222 0.002622222 0.000000000
|
123
|
+
std+ 0.006099064 0.007980525 0.007980525 0.000000000
|
124
|
+
max 0.029814005 0.030000000 0.030000000 0.000000000
|
125
|
+
std 0.003433140 0.005358303 0.005358303 0.000000000
|
126
|
+
std% 128.778658745 204.342051806 204.342051806 nan
|
127
|
+
harm 0.002164550 nan nan nan
|
128
|
+
geo 0.002253865 0.000000000 0.000000000 0.000000000
|
129
|
+
q1 0.002059937 0.000000000 0.000000000 0.000000000
|
130
|
+
med 0.002071142 0.000000000 0.000000000 0.000000000
|
131
|
+
q3 0.002090931 0.000000000 0.000000000 0.000000000
|
132
|
+
900 375.10455 0.002665923
|
133
|
+
calls calls/sec secs/call
|
134
|
+
|
135
|
+
0.02843 -|
|
136
|
+
0.02565 -|*
|
137
|
+
0.02287 -|
|
138
|
+
0.02009 -|
|
139
|
+
0.01731 -|
|
140
|
+
0.01453 -|
|
141
|
+
0.01176 -|
|
142
|
+
0.00898 -|
|
143
|
+
0.00620 -|
|
144
|
+
0.00342 -|**************************************************
|
145
|
+
|
146
|
+
Outliers detected with box plot algo (median=0.00207, iqr=0.00003, factor=3.00):
|
147
|
+
high=89 very_high=86
|
148
|
+
|
149
|
+
Ljung-Box statistics: q=342.52637 (alpha=0.05, df=50).
|
150
|
+
1.00000 >= 0.95000 => Autocorrelation was detected.
|
151
|
+
|
152
|
+
Truncated initial 100 measurements: 1000 -> 900 (-10.00%).
|
153
|
+
-------------------------------------------------------------------------------
|
154
|
+
|
155
|
+
This first run is only for warmup.
|
156
|
+
GeneratorBenchmarkExt#generator_safe:
|
157
|
+
real total user system
|
158
|
+
sum 2.218419790 2.210000000 2.210000000 0.000000000
|
159
|
+
min 0.001708984 0.000000000 0.000000000 0.000000000
|
160
|
+
std- -0.000607850 -0.002484458 -0.002484458 0.000000000
|
161
|
+
mean 0.002218420 0.002210000 0.002210000 0.000000000
|
162
|
+
std+ 0.005044690 0.006904458 0.006904458 0.000000000
|
163
|
+
max 0.026993036 0.030000000 0.030000000 0.000000000
|
164
|
+
std 0.002826270 0.004694458 0.004694458 0.000000000
|
165
|
+
std% 127.400134370 212.418923782 212.418923782 nan
|
166
|
+
harm 0.001839661 nan nan nan
|
167
|
+
geo 0.001909029 0.000000000 0.000000000 0.000000000
|
168
|
+
q1 0.001738071 0.000000000 0.000000000 0.000000000
|
169
|
+
med 0.001749992 0.000000000 0.000000000 0.000000000
|
170
|
+
q3 0.001769066 0.000000000 0.000000000 0.000000000
|
171
|
+
1000 450.77131 0.002218420
|
172
|
+
calls calls/sec secs/call
|
173
|
+
|
174
|
+
0.02573 -|
|
175
|
+
0.02320 -|
|
176
|
+
0.02067 -|
|
177
|
+
0.01814 -|
|
178
|
+
0.01562 -|
|
179
|
+
0.01309 -|
|
180
|
+
0.01056 -|
|
181
|
+
0.00803 -|
|
182
|
+
0.00550 -|
|
183
|
+
0.00297 -|**************************************************
|
184
|
+
|
185
|
+
Outliers detected with box plot algo (median=0.00175, iqr=0.00003, factor=3.00):
|
186
|
+
high=58 very_high=129
|
187
|
+
|
188
|
+
Ljung-Box statistics: q=24.03262 (alpha=0.05, df=50).
|
189
|
+
0.00070 < 0.95000 => No autocorrelation was detected.
|
190
|
+
|
191
|
+
GeneratorBenchmarkExt#generator_safe:
|
192
|
+
real total user system
|
193
|
+
sum 2.252413511 2.250000000 2.250000000 0.000000000
|
194
|
+
min 0.001720905 0.000000000 0.000000000 0.000000000
|
195
|
+
std- -0.000940042 -0.002634809 -0.002634809 0.000000000
|
196
|
+
mean 0.002252414 0.002250000 0.002250000 0.000000000
|
197
|
+
std+ 0.005444869 0.007134809 0.007134809 0.000000000
|
198
|
+
max 0.030152082 0.030000000 0.030000000 0.000000000
|
199
|
+
std 0.003192455 0.004884809 0.004884809 0.000000000
|
200
|
+
std% 141.734856492 217.102633117 217.102633117 nan
|
201
|
+
harm 0.001827244 nan nan nan
|
202
|
+
geo 0.001895755 0.000000000 0.000000000 0.000000000
|
203
|
+
q1 0.001747131 0.000000000 0.000000000 0.000000000
|
204
|
+
med 0.001757145 0.000000000 0.000000000 0.000000000
|
205
|
+
q3 0.001773119 0.000000000 0.000000000 0.000000000
|
206
|
+
1000 443.96821 0.002252414
|
207
|
+
calls calls/sec secs/call
|
208
|
+
|
209
|
+
0.02873 -|
|
210
|
+
0.02589 -|*
|
211
|
+
0.02304 -|
|
212
|
+
0.02020 -|
|
213
|
+
0.01736 -|
|
214
|
+
0.01451 -|
|
215
|
+
0.01167 -|
|
216
|
+
0.00883 -|
|
217
|
+
0.00599 -|
|
218
|
+
0.00314 -|**************************************************
|
219
|
+
|
220
|
+
Outliers detected with box plot algo (median=0.00176, iqr=0.00003, factor=3.00):
|
221
|
+
high=92 very_high=86
|
222
|
+
|
223
|
+
Ljung-Box statistics: q=19.23732 (alpha=0.05, df=50).
|
224
|
+
0.00003 < 0.95000 => No autocorrelation was detected.
|
225
|
+
|
226
|
+
No initial data truncated.
|
227
|
+
=> System may have been in a steady state from the beginning.
|
228
|
+
========================== 2009-04-01T16:54:07 CEST ===========================
|
229
|
+
|
230
|
+
Comparing times (call_time_mean):
|
231
|
+
1 GeneratorBenchmarkExt#generator_fast 1000 repeats:
|
232
|
+
547.354332608 ( real) -> 1.459x
|
233
|
+
0.001826970
|
234
|
+
2 GeneratorBenchmarkExt#generator_safe 1000 repeats:
|
235
|
+
443.968212317 ( real) -> 1.184x
|
236
|
+
0.002252414
|
237
|
+
3 GeneratorBenchmarkExt#generator_pretty 900 repeats:
|
238
|
+
375.104545883 ( real) -> 1.000x
|
239
|
+
0.002665923
|
240
|
+
calls/sec ( time) -> speed covers
|
241
|
+
secs/call
|
242
|
+
|
243
|
+
Comparing times (call_time_median):
|
244
|
+
1 GeneratorBenchmarkExt#generator_fast 1000 repeats:
|
245
|
+
708.258020939 ( real) -> 1.467x
|
246
|
+
0.001411915
|
247
|
+
2 GeneratorBenchmarkExt#generator_safe 1000 repeats:
|
248
|
+
569.105020353 ( real) -> 1.179x
|
249
|
+
0.001757145
|
250
|
+
3 GeneratorBenchmarkExt#generator_pretty 900 repeats:
|
251
|
+
482.825371244 ( real) -> 1.000x
|
252
|
+
0.002071142
|
253
|
+
calls/sec ( time) -> speed covers
|
254
|
+
secs/call
|
255
|
+
===============================================================================
|
256
|
+
Writing measurement data file '/data/scm/json/benchmarks/data/GeneratorBenchmarkExt#generator_fast.dat'.
|
257
|
+
Writing autocorrelation plot file '/data/scm/json/benchmarks/data/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat'.
|
258
|
+
Writing measurement data file '/data/scm/json/benchmarks/data/GeneratorBenchmarkExt#generator_pretty.dat'.
|
259
|
+
Writing autocorrelation plot file '/data/scm/json/benchmarks/data/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat'.
|
260
|
+
Writing measurement data file '/data/scm/json/benchmarks/data/GeneratorBenchmarkExt#generator_safe.dat'.
|
261
|
+
Writing autocorrelation plot file '/data/scm/json/benchmarks/data/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat'.
|