summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'parse_error_encoding' of https://github.com/nobu/json into ↵be-compatible-with-ruby-2.2.1Florian Frank2015-05-154-136/+180
|\ | | | | | | be-compatible-with-ruby-2.2.1
| * parser.rl: rb_enc_raisenobu2015-04-184-93/+144
| | | | | | | | | | | | | | * ext/json/ext/parser/parser.rl: raise with messages in UTF-8 encoding. [ruby-core:67386] [Bug #10705] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| * parser.rl: use rb_encodingnobu2015-04-182-124/+119
| | | | | | | | | | | | | | * ext/json/ext/parser/parser.rl (convert_encoding): use rb_encoding functions to compare and convert encodings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| * parser.rl: use StringValuenobu2015-04-182-23/+21
| | | | | | | | | | | | | | | | * ext/json/ext/parser/parser.rl (cParser_initialize): use StringValue instead of direct rb_convert_type and remove duplicate conversion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* | Merge branch 'backport-r49161' of https://github.com/hsbt/json into ↵Florian Frank2015-05-151-8/+0
|\ \ | | | | | | | | | be-compatible-with-ruby-2.2.1
| * | backport ruby/ruby r49161: ↵SHIBATA Hiroshi2015-04-121-8/+0
| |/ | | | | | | https://github.com/ruby/ruby/commit/c0ee6f2af98a8322e842bb2847492bfc56cb21b9
* | backported ruby/ruby trunk r49562: ↵SHIBATA Hiroshi2015-02-132-1/+11
|/ | | | https://github.com/ruby/ruby/commit/e5c516c89a62839fd025ae112041ed9a5f06c9d0
* 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
| * | 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.