Working on failed unit tests.
GROOVY-6546 Added support for a faster JSON parser. http://jira.codehaus.org/browse/GROOVY-6546
GROOVY-6546 Added support for a faster JSON parser.
Cleaned up code style to match Groovy code base. Added more tests for JsonLax Parser to show what it does. Took out spurious JDK1.7 dependencies. GROOVY-6546
I had no luck getting offset and count to work with JDK 1.6. I disable FastStringUtils if JDK 1.6 is encountered, i.e., if I find a Count and Offset, I turn off FastStrngUtils. This works, and we get the speed for JDK 1.7.

I noticed you use Unsafe. From what I can tell it is almost optional,
but not 100%. There is a chance to find a slightly different
implementation of String out there.

When you do
https://github.com/groovy/groovy-core/pull/317/files#diff-d5083c2146fab6
0490dfd6f620890fdfR61 I assume your thought is that either all or none
of the fields there are available. Effectively if the field count is
not available, your test for direct access still passes and then line
93 would fail.

To avoid checking against multiple things all the time I would suggest
to add a boolean for this... or you reuse ENABLED for this - then you
need to set the value later.

what do you think? Jochen Theodorou
Clean up to get rid of all processing of offset and count.
Failed to compile with JDK 1.5, but I removed the issues I found.
Added comments, added documentation, added cleanup for FastStringUtils, added more types of buffer handling and input stream handling to slurper. Added a good description of parser types. Added Apache 2.0 license header to files that were missing it. Ran code formatter.
Took out Surrogate
Got rid of code duplication as reported by @blackdrag
Fixed unicode issue reported by Andrey.
Grew the wrong buffer. Caught it doing benchmark… Boon temporarily slowest JSON serailizer known to man.
Got rid of duplicate parseInt code
Merge pull request #317 from RichardHightower/master

Added support for faster parser that use index overlay, windowing/segmented buffering, and has a lax mode. See GROOVY-6546