summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Specify JSON module interfacerfc-7159-jsonFlorian Frank2015-06-151-2/+1
|
* Disallow usage of symbolize_names and create_additionsFlorian Frank2015-06-155-18/+35
|
* Ext parser is green now as wellFlorian Frank2015-06-158-468/+240
|
* Refactor tests and make pure parser greenFlorian Frank2015-06-1522-810/+813
|
* Remove byte sniffing from Ext::ParserFlorian Frank2015-06-132-127/+57
|
* Remove generate restriction for […]/{…}Florian Frank2015-06-134-66/+3
|
* Remove byte sniffing from Pure::ParserFlorian Frank2015-06-131-33/+1
|
* Remove dependency on permutationFlorian Frank2015-06-134-23/+8
| | | | Ruby can do this by now on her own.
* Move common setup into test_helper.rbFlorian Frank2015-06-1314-24/+28
|
* Bump version to 1.8.3v1.8.3Florian Frank2015-06-015-4/+6
|
* use newest rubygemsFlorian Frank2015-06-012-2/+2
|
* Check 2.2.1 and 2.2.2 explicitelyFlorian Frank2015-06-011-0/+2
|
* Merge pull request #247 from nobu/potential_memory_leakFlorian Frank2015-05-295-34/+15
|\ | | | | Potential memory leak
| * generator.c: allocate structs with wrappernobu2015-05-282-11/+5
| | | | | | | | | | | | | | | | * ext/json/ext/generator/generator.c (cState_s_allocate): allocate structs with making new wrapper objects and get rid of potential memory leak. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| * parser.rl: allocate structs with wrappernobu2015-05-283-23/+10
|/ | | | | | | | * ext/json/ext/parser/parser.rl (cJSON_parser_s_allocate): allocate structs with making new wrapper objects and get rid of potential memory leak. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Merge pull request #245 from headius/patch-1Florian Frank2015-04-221-3/+3
|\ | | | | Fix mention of C extensions in README
| * Fix mention of C extensions in READMECharles Oliver Nutter2015-04-211-3/+3
|/ | | JRuby's extension is part of json now and is written in Java.
* use ZALLOC if it can be used, and defined ZALLOC macro.SHIBATA Hiroshi2015-02-125-39/+54
|
* sync trunk again: fixed regression of r49027SHIBATA Hiroshi2015-02-122-9/+9
|
* Merge branch 'master' of storage.gate.ping.de:/git/jsonv1.8.2Florian Frank2015-01-090-0/+0
|\
| * Bump version number to 1.8.2Florian Frank2015-01-084-5/+5
| |
| * Merge branch 'master' of github.com:flori/jsonFlorian Frank2015-01-083-4/+19
| |\
| | * Merge pull request #225 from mmacvicar/fix-space-beforeFlorian Frank2015-01-032-0/+14
| | |\ | | | | | | | | JSON::State is not using the parameter space_before
| | | * Make generator format test backwards compatibleMichael Mac-Vicar2014-12-071-1/+1
| | | |
| | | * Use space_before as documented in the generatorMichael Mac-Vicar2014-12-071-0/+1
| | | | | | | | | | | | | | | | | | | | This option was already documented but not implemented, allows setting the separator used before the ":" during generation.
| | | * Add test for format options used by the generatorMichael Mac-Vicar2014-12-071-0/+13
| | | | | | | | | | | | | | | | | | | | The space_before, space, indent, object_nl and array_nl options of the space were not covered.
| | * | Merge pull request #226 from bbrowning/runtimeinfo-contention-fixFlorian Frank2015-01-022-89/+91
| | |\ \ | | | | | | | | | | Improve JRuby perf. by removing source of multithreaded contention
| | | * | Improve JRuby perf. by removing source of multithreaded contentionBen Browning2014-12-162-89/+91
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RuntimeInfo.forRuntime method synchronizes all invocations and ParserSession#parseString was calling this many times when parsing large JSON strings. Thus, when running in a heavily multithreaded environment, threads were spending a large portion of their time waiting on that synchronization instead of doing work parsing the JSON. This fix simply passes in the RuntimeInfo object to the ParserSession when it's instantiated, since the RuntimeInfo is already known and we've already incurred the synchronization cost at that time. Using the test script at https://gist.github.com/bbrowning/0b89580b03a5f19e7a9f, I get the following results before and after this fix on my machine: Before: $ jruby ~/tmp/json_contention.rb 337.920000 0.570000 338.490000 ( 57.955000) After: $ jruby ~/tmp/json_contention.rb 326.400000 0.580000 326.980000 ( 43.084000) That's a 25% reduction in processing time for parsing the same JSON on my quad core machine. I'd expect an even higher percentage improvement on a machine with more CPUs.
| | * | Merge pull request #228 from JuanitoFatas/patch/travis-new-build-envFlorian Frank2015-01-021-0/+3
| | |\ \ | | | | | | | | | | Use the new build env on Travis.
| | | * | Use the new build env on Travis.Juanito Fatas2014-12-191-0/+3
| | | |/
| | * | Merge pull request #230 from jc00ke/patch-1Florian Frank2015-01-021-4/+2
| | |\ \ | | | |/ | | |/| CI with current rbx-2
| | | * CI with current rbx-2Jesse Cooke2014-12-251-4/+2
| | |/
* | | Bump version number to 1.8.2Florian Frank2015-01-094-5/+5
| | |
* | | Add to CHANGESFlorian Frank2015-01-091-0/+9
| | |
* | | Make generator format test backwards compatibleMichael Mac-Vicar2015-01-091-1/+1
| | |
* | | Use space_before as documented in the generatorMichael Mac-Vicar2015-01-091-0/+1
| | | | | | | | | | | | | | | This option was already documented but not implemented, allows setting the separator used before the ":" during generation.
* | | Add test for format options used by the generatorMichael Mac-Vicar2015-01-091-0/+13
| | | | | | | | | | | | | | | The space_before, space, indent, object_nl and array_nl options of the space were not covered.
* | | Use the new build env on Travis.Juanito Fatas2015-01-091-0/+3
| | |
* | | CI with current rbx-2Jesse Cooke2015-01-091-4/+2
|/ /
* | Merge branch 'ruby220' of https://github.com/hsbt/json into zzak-ruby-2.2zzak-ruby-2.2Florian Frank2015-01-030-0/+0
|\ \
| * | fix to build fail with rb_str_new macro usageSHIBATA Hiroshi2014-12-281-1/+1
| |/
* | Merge branch 'master' into zzak-ruby-2.2Florian Frank2015-01-027-94/+113
|\ \
| * | Improve JRuby perf. by removing source of multithreaded contentionBen Browning2015-01-022-89/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RuntimeInfo.forRuntime method synchronizes all invocations and ParserSession#parseString was calling this many times when parsing large JSON strings. Thus, when running in a heavily multithreaded environment, threads were spending a large portion of their time waiting on that synchronization instead of doing work parsing the JSON. This fix simply passes in the RuntimeInfo object to the ParserSession when it's instantiated, since the RuntimeInfo is already known and we've already incurred the synchronization cost at that time. Using the test script at https://gist.github.com/bbrowning/0b89580b03a5f19e7a9f, I get the following results before and after this fix on my machine: Before: $ jruby ~/tmp/json_contention.rb 337.920000 0.570000 338.490000 ( 57.955000) After: $ jruby ~/tmp/json_contention.rb 326.400000 0.580000 326.980000 ( 43.084000) That's a 25% reduction in processing time for parsing the same JSON on my quad core machine. I'd expect an even higher percentage improvement on a machine with more CPUs.
| * | Added ruby-head to travis allowed-failuresIain Beeston2015-01-021-0/+1
| | | | | | | | | | | | | | | | | | | | | This is probably a contraversial idea. ruby-head can be fairly unstable but then json is a core gem. At least if it's an allowed-failure then builds will always be run against ruby-head, but pull requests (and master) won't report build failures if something is broken in ruby-head
| * | Don't mutate JSON.dump_default_options from dumpJason R. Clark2015-01-022-1/+7
| | | | | | | | | | | | | | | | | | | | | The use of Hash#update from the JSON.dump method was mutating the dump_default_options hash on any call to dump with a limit provided. An individual method call with an overriding value shouldn't update the defaults in this way.
| * | No binstubsFlorian Frank2015-01-021-1/+1
| | |
| * | ReindentedFlorian Frank2015-01-021-7/+6
| | |
| * | Document `Rational` json generation methods.Vipul A M2015-01-021-4/+10
| | |
| * | Document `Complex` json generation methods.Vipul A M2015-01-021-1/+7
| | |
| * | Use method_defined? to check if method exists instead of slower check on ↵Vipul A M2015-01-021-1/+1
| | | | | | | | | | | | instance_methods