Skip to content

Instantly share code, notes, and snippets.

@mezis
Created August 23, 2016 07:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mezis/b5e4c5236d92ef82240ef2737a1bb8e2 to your computer and use it in GitHub Desktop.
Save mezis/b5e4c5236d92ef82240ef2737a1bb8e2 to your computer and use it in GitHub Desktop.
MessagePack, JSON, YAML, Protobuf, BSON, Marshal: Ruby 2.3.1 benchmark results
Encode
======
Date: August 22, 2016
System Information
------------------
Operating System: OS X 10.11.6 (15G31)
CPU: Intel Core i7 2.5 GHz
Processor Count:
Memory: 16 GB
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
"MessagePack.pack" is up to 90% faster over 10,000 repetitions
--------------------------------------------------------------
MessagePack.pack 0.018444979010382667 secs Fastest
Oj.dump 0.023276574996998534 secs 20% Slower
BSON_C.serialize 0.03641083199181594 secs 49% Slower
MultiJson.encode (oj) 0.03982484599691816 secs 53% Slower
MultiJson.encode (yajl) 0.04010407897294499 secs 54% Slower
MultiJson.encode (ok_json) 0.04327597899828106 secs 57% Slower
MultiJson.encode (json_gem) 0.046839717018883675 secs 60% Slower
Yajl::Encoder.encode 0.08446792300674133 secs 78% Slower
JSON.generate 0.12207082199165598 secs 84% Slower
Marshal.dump 0.18735383200692013 secs 90% Slower
Protobuffer.new 0.1980817629955709 secs 90% Slower
Decode
======
Date: August 22, 2016
System Information
------------------
Operating System: OS X 10.11.6 (15G31)
CPU: Intel Core i7 2.5 GHz
Processor Count:
Memory: 16 GB
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
"MessagePack.unpack" is up to 91% faster over 10,000 repetitions
----------------------------------------------------------------
MessagePack.unpack 0.11210378998657688 secs Fastest
Oj.load 0.12441667399252765 secs 9% Slower
MultiJson.decode (oj) 0.13859093200881034 secs 19% Slower
MultiJson.decode (yajl) 0.14504034898709506 secs 22% Slower
MultiJson.decode (json_pure) 0.14537504699546844 secs 22% Slower
MultiJson.decode (json_gem) 0.15305959901888855 secs 26% Slower
MultiJson.decode (ok_json) 0.15321946199401282 secs 26% Slower
Yajl::Parser.parse 0.18053687698557042 secs 37% Slower
Marshal.load 0.19586774898925796 secs 42% Slower
BSON_C.deserialize 0.5339813139871694 secs 79% Slower
JSON.parse 0.9331619470031001 secs 87% Slower
Protobuffer.parse 1.2679309590021148 secs 91% Slower
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment