summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
| * | Update json-java.gemspecDaniel Grippi2015-01-021-1/+1
| | | | | | | | | | | | Pluralize "license" to match other gemspecs.
| * | Change documentation to reflect new default valueFlorian Frank2015-01-021-2/+2
| | |
| * | Fix typo in commentIgnacio Galindo2015-01-021-1/+1
| | |
* | | Fall back to Data_* wrappers on ancient rubiesFlorian Frank2015-01-025-1/+19
| | |
* | | Fix typoFlorian Frank2015-01-021-1/+1
| | |
* | | Merge branch 'ruby-2.2' of https://github.com/zzak/json into zzak-ruby-2.2Florian Frank2015-01-0217-59/+125
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Conflicts: .travis.yml json.gemspec json_pure.gemspec
| * | Ignore generated filesZachary Scott2014-12-271-0/+2
| | |
| * | RUBY_TYPED_FREE_IMMEDIATELY isn't always availableZachary Scott2014-12-273-33/+39
| | |
| * | Use ALLOC and MEMZERO instead of ZALLOCZachary Scott2014-12-261-1/+2
| | |
| * | Revert part of "Sync with trunk"Zachary Scott2014-12-263-49/+0
| | | | | | | | | | | | This partially reverts commit 18b3000.
| * | Ignore .bundle generated filesZachary Scott2014-12-261-0/+1
| | |
| * | Add extconf from trunkZachary Scott2014-12-251-0/+3
| | |
| * | Only use gc stress assert if availableZachary Scott2014-12-251-9/+11
| | |
| * | Sync tests with trunkZachary Scott2014-12-252-15/+11
| | |
| * | This file shouldn't be committedZachary Scott2014-12-253-281/+1
| | |
| * | bundle exec rakeZachary Scott2014-12-253-3/+283
| | | | | | | | | | | | generates new specs and makefile for compiling the CEXT
| * | Build on 2.2.0 tooZachary Scott2014-12-251-0/+1
| | |
| * | This value has changed somehowZachary Scott2014-12-251-1/+1
| | |
| * | Sync with trunkZachary Scott2014-12-2515-112/+197
| |/
| * Merge pull request #221 from iainbeeston/allow_ruby_head_to_failFlorian Frank2014-11-051-0/+1
| |\ | | | | | | Allow ruby-head builds to fail
| | * Added ruby-head to travis allowed-failuresIain Beeston2014-11-041-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
| * Merge pull request #217 from jasonrclark/dont_mutate_dump_default_optionsFlorian Frank2014-09-262-1/+7
| |\ | | | | | | Don't mutate JSON.dump_default_options from dump
| | * Don't mutate JSON.dump_default_options from dumpJason R. Clark2014-09-192-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.
| * - Pass over generator.c for grammar fixes.Vipul A M2014-07-033-5/+4
| | | | | | | | - Typo fixes across json ext
| * Fix documentation wordingFlorian Frank2014-07-031-1/+1
| |
| * Test on Ruby 2.1.x as wellFlorian Frank2014-07-031-1/+1
| |
| * Merge pull request #212 from vipulnsward/pass-typoFlorian Frank2014-07-034-13/+13
| |\ | | | | | | Grammar/ Typo fixes
| | * - Pass over generator.c for grammar fixes.Vipul A M2014-07-034-13/+13
| |/ | | | | | | - Typo fixes across json ext
| * No binstubsFlorian Frank2014-07-031-1/+1
| |
| * Newest ruby 2.1.xFlorian Frank2014-07-031-1/+1
| |
| * ReindentedFlorian Frank2014-07-031-7/+6
| |
| * Document `Rational` json generation methods.Vipul A M2014-07-031-4/+10
| |
| * Merge pull request #211 from vipulnsward/complex-docFlorian Frank2014-07-031-1/+7
| |\ | | | | | | Document `Complex` json generation methods.
| | * Document `Complex` json generation methods.Vipul A M2014-07-031-1/+7
| | |
| * | Merge pull request #209 from vipulnsward/method-definedFlorian Frank2014-07-031-1/+1
| |\ \ | | |/ | |/| Use method_defined? to check if method exists instead of slower check
| | * Use method_defined? to check if method exists instead of slower check on ↵Vipul A M2014-07-031-1/+1
| |/ | | | | | | instance_methods
| * Merge pull request #202 from danielgrippi/patch-1Florian Frank2014-04-021-1/+1
| |\ | | | | | | Update json-java.gemspec
| | * Update json-java.gemspecDaniel Grippi2014-04-021-1/+1
| |/ | | | | Pluralize "license" to match other gemspecs.
| * Change documentation to reflect new default valueFlorian Frank2014-04-012-3/+3
| |