README.rdoc in brianmario-yajl-ruby-0.4.0 vs README.rdoc in brianmario-yajl-ruby-0.4.1
- old
+ new
@@ -80,39 +80,39 @@
After I finished implementation - this library performs close to the same as the current JSON.parse (C gem) does on small/medium files.
But on larger files, and higher amounts of iteration, this library was around 2x faster than JSON.parse.
The main benefit of this library is in it's memory usage.
-
Since it's able to parse the stream in chunks, it's memory requirements are very, very low.
-Again, I'll post some actual data on this; but in my testing here's what my ruby executable was using to parse a 10MB JSON file 100 times:
+Here's what parsing a 2.43MB JSON file off the filesystem 20 times looks like:
- JSON.parse ~60MB
-
- Yajl::Native.parse ~30MB
+=== Memory Usage
-== Status
+==== Average
-This library is still being refined and should by no means be used in production.
-That being said, I'd like to invite you to clone/fork and test the crap out of it! ;)
+* Yajl::Stream.parse: 32MB
+* JSON.parse: 54MB
+* ActiveSupport::JSON.decode: 63MB
-== TODO
+==== Peak
-While parsing is working for the most part, there are still some edge cases I need to tackle.
-Here's a list of things I need to get done to improve the awesomeness of this library.
+* Yajl::Stream.parse: 32MB
+* JSON.parse: 57MB
+* ActiveSupport::JSON.decode: 67MB
-* Write up a test suite
-* Fix known parsing issues with certain JSON strings (Yajl itself works fine, it's the logic in this library that needs a little tweaking)
-* Write more docs
-* Change API so it can accept a String or an IO
+=== Parse Time
+* Yajl::Stream.parse: 4.54s
+* JSON.parse: 5.47s
+* ActiveSupport::JSON.decode: 64.42s
+
== Special Thanks
I've had a lot of inspiration, and a lot of help. Thanks to everyone who's been a part of this and those to come!
* Lloyd Hilaiel (http://github.com/lloyd) - for writing Yajl!!
-* Josh Ferguson (http://github.com/besquared) - for peer-pressuring me into getting back into C; it worked ;)
-* Jonathan Novak (http://github.com/cypriss) - C hacking help
-* Tom Smith (http://github.com/rtomsmith) - C hacking help
+* Josh Ferguson (http://github.com/besquared) - for peer-pressuring me into getting back into C; it worked ;) Also tons of support over IM
+* Jonathan Novak (http://github.com/cypriss) - pointer-hacking help
+* Tom Smith (http://github.com/rtomsmith) - pointer-hacking help
* Rick (http://github.com/technoweenie) - for making an ActiveSupport patch with support for this library and teasing me that it might go into Rails 3. You sure lit a fire under my ass and I got a ton of work done because of it! :)
* The entire Github Crew - my inspiration, time spent writing this, finding Yajl, So many-MANY other things wouldn't have been possible without this awesome service. I owe you guys some whiskey at Kilowatt.
\ No newline at end of file