Created
October 29, 2015 20:44
-
-
Save ochrons/1261808852caf799f456 to your computer and use it in GitHub Desktop.
Scala/ScalaJS serialization lib performance comparison
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1/18 : Encode single Seq[Int] | |
============================= | |
Library ops/s % size % size.gz % | |
BooPickle 146324 8.4% 2 100% 32 100% | |
Prickle 231064 13.2% 27 1350% 58 181% | |
uPickle 245188 14.1% 3 150% 35 109% | |
Circe 962996 55.2% 3 150% 35 109% | |
Pushka 1744486 100.0% 3 150% 35 109% | |
2/18 : Decode single Seq[Int] | |
============================= | |
Library ops/s % size % size.gz % | |
BooPickle 416034 70.1% 2 100% 32 100% | |
Prickle 10764 1.8% 27 1350% 58 181% | |
uPickle 405694 68.4% 3 150% 35 109% | |
Circe 348772 58.8% 3 150% 35 109% | |
Pushka 593474 100.0% 3 150% 35 109% | |
3/18 : Encode very large Seq[Int] | |
================================= | |
Library ops/s % size % size.gz % | |
BooPickle 1634 100.0% 18084 100% 14734 100% | |
Prickle 572 35.0% 51180 283% 17744 120% | |
uPickle 81 5.0% 41157 228% 17198 117% | |
Circe 310 19.0% 41157 228% 17198 117% | |
Pushka 1014 62.1% 41157 228% 17198 117% | |
4/18 : Decode very large Seq[Int] | |
================================= | |
Library ops/s % size % size.gz % | |
BooPickle 2000 100.0% 18084 100% 14734 100% | |
Prickle 64 3.2% 51180 283% 17744 120% | |
uPickle 445 22.3% 41157 228% 17198 117% | |
Circe 201 10.1% 41157 228% 17198 117% | |
Pushka 638 31.9% 41157 228% 17198 117% | |
5/18 : Encode large Seq[Double] | |
=============================== | |
Library ops/s % size % size.gz % | |
BooPickle 7560 100.0% 8002 100% 7698 100% | |
Prickle 3916 51.8% 19342 242% 10196 132% | |
uPickle 786 10.4% 18319 229% 9902 129% | |
Circe 3524 46.6% 18319 229% 9902 129% | |
Pushka 6168 81.6% 18319 229% 9902 129% | |
6/18 : Decode large Seq[Double] | |
=============================== | |
Library ops/s % size % size.gz % | |
BooPickle 9714 100.0% 8002 100% 7698 100% | |
Prickle 622 6.4% 19342 242% 10196 132% | |
uPickle 2156 22.2% 18319 229% 9902 129% | |
Circe 1426 14.7% 18319 229% 9902 129% | |
Pushka 2592 26.7% 18319 229% 9902 129% | |
7/18 : Encode large Seq[Float] | |
============================== | |
Library ops/s % size % size.gz % | |
BooPickle 9042 100.0% 4002 100% 3705 100% | |
Prickle 4446 49.2% 13487 337% 5718 154% | |
uPickle 838 9.3% 12464 311% 5594 151% | |
Circe 3596 39.8% 12464 311% 5594 151% | |
Pushka 7824 86.5% 12464 311% 5594 151% | |
8/18 : Decode large Seq[Float] | |
============================== | |
Library ops/s % size % size.gz % | |
BooPickle 10106 100.0% 4002 100% 3705 100% | |
Prickle 678 6.7% 13487 337% 5718 154% | |
uPickle 2966 29.3% 12464 311% 5594 151% | |
Circe 1636 16.2% 12464 311% 5594 151% | |
Pushka 3594 35.6% 12464 311% 5594 151% | |
9/18 : Encode an object tree | |
============================ | |
Library ops/s % size % size.gz % | |
BooPickle 954 100.0% 3544 100% 1747 100% | |
Prickle 277 29.0% 35481 1001% 4328 248% | |
uPickle 451 47.3% 20385 575% 2268 130% | |
Pushka 904 94.8% 20385 575% 2268 130% | |
10/18 : Decode an object tree | |
============================= | |
Library ops/s % size % size.gz % | |
BooPickle 2332 100.0% 3544 100% 1747 100% | |
Prickle 36 1.5% 35481 1001% 4328 248% | |
uPickle 274 11.7% 20385 575% 2268 130% | |
Pushka 452 19.4% 20385 575% 2268 130% | |
11/18 : Encode very large Map[String, Int] | |
========================================== | |
Library ops/s % size % size.gz % | |
BooPickle 33 18.4% 86974 100% 46264 100% | |
Prickle 179 100.0% 170070 196% 49341 107% | |
uPickle 47 26.3% 130047 150% 47167 102% | |
Circe 35 19.6% 130047 150% 47167 102% | |
Pushka 98 54.7% 150047 173% 48412 105% | |
12/18 : Decode very large Map[String, Int] | |
========================================== | |
Library ops/s % size % size.gz % | |
BooPickle 28 87.5% 86974 100% 46264 100% | |
Prickle 13 40.6% 170070 196% 49341 107% | |
uPickle 32 100.0% 130047 150% 47167 102% | |
Circe 14 43.8% 130047 150% 47167 102% | |
Pushka 31 96.9% 150047 173% 48412 105% | |
13/18 : Encoding Seq[Book] with random IDs | |
========================================== | |
Library ops/s % size % size.gz % | |
BooPickle 14094 48.2% 266 100% 245 100% | |
Prickle 9998 34.2% 919 345% 326 133% | |
uPickle 21928 74.9% 736 277% 285 116% | |
Circe 13148 44.9% 736 277% 286 117% | |
Pushka 29262 100.0% 736 277% 285 116% | |
14/18 : Decoding Seq[Book] with random IDs | |
========================================== | |
Library ops/s % size % size.gz % | |
BooPickle 31376 100.0% 266 100% 245 100% | |
Prickle 1886 6.0% 919 345% 326 133% | |
uPickle 9646 30.7% 736 277% 285 116% | |
Circe 7888 25.1% 736 277% 286 117% | |
Pushka 16386 52.2% 736 277% 285 116% | |
15/18 : Encoding Seq[Book] with UUIDs | |
===================================== | |
Library ops/s % size % size.gz % | |
BooPickle 13054 49.5% 306 100% 336 100% | |
Prickle 9734 36.9% 1119 366% 460 137% | |
uPickle 20052 76.0% 936 306% 417 124% | |
Circe 12670 48.0% 936 306% 420 125% | |
Pushka 26388 100.0% 936 306% 417 124% | |
16/18 : Decoding Seq[Book] with UUIDs | |
===================================== | |
Library ops/s % size % size.gz % | |
BooPickle 23066 100.0% 306 100% 336 100% | |
Prickle 1802 7.8% 1119 366% 460 137% | |
uPickle 10010 43.4% 936 306% 417 124% | |
Circe 7876 34.1% 936 306% 420 125% | |
Pushka 16086 69.7% 936 306% 417 124% | |
17/18 : Encoding Seq[Book] with numerical IDs | |
============================================= | |
Library ops/s % size % size.gz % | |
BooPickle 16656 58.0% 194 100% 192 100% | |
Prickle 10456 36.4% 863 445% 272 142% | |
uPickle 20864 72.6% 680 351% 233 121% | |
Circe 13488 46.9% 680 351% 233 121% | |
Pushka 28730 100.0% 680 351% 233 121% | |
18/18 : Decoding Seq[Book] with numerical IDs | |
============================================= | |
Library ops/s % size % size.gz % | |
BooPickle 47370 100.0% 194 100% 192 100% | |
Prickle 1902 4.0% 863 445% 272 142% | |
uPickle 10238 21.6% 680 351% 233 121% | |
Circe 7918 16.7% 680 351% 233 121% | |
Pushka 16420 34.7% 680 351% 233 121% |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1/18 : Encode single Seq[Int] | |
============================= | |
Library ops/s % size % size.gz % | |
BooPickle 779872 9.8% 2 100% 22 100% | |
Prickle 821578 10.4% 29 1450% 47 214% | |
uPickle 2790532 35.2% 3 150% 23 105% | |
Circe 7116588 89.7% 3 150% 23 105% | |
Pushka 7937302 100.0% 3 150% 23 105% | |
2/18 : Decode single Seq[Int] | |
============================= | |
Library ops/s % size % size.gz % | |
BooPickle 5035694 100.0% 2 100% 22 100% | |
Prickle 48302 1.0% 29 1450% 47 214% | |
uPickle 1676716 33.3% 3 150% 23 105% | |
Circe 1364088 27.1% 3 150% 23 105% | |
Pushka 2942924 58.4% 3 150% 23 105% | |
3/18 : Encode very large Seq[Int] | |
================================= | |
Library ops/s % size % size.gz % | |
BooPickle 6178 100.0% 18084 100% 14613 100% | |
Prickle 746 12.1% 71180 394% 18368 126% | |
uPickle 810 13.1% 41157 228% 16665 114% | |
Circe 1172 19.0% 41157 228% 16665 114% | |
Pushka 1396 22.6% 41157 228% 16665 114% | |
4/18 : Decode very large Seq[Int] | |
================================= | |
Library ops/s % size % size.gz % | |
BooPickle 4894 100.0% 18084 100% 14613 100% | |
Prickle 269 5.5% 71180 394% 18368 126% | |
uPickle 760 15.5% 41157 228% 16665 114% | |
Circe 465 9.5% 41157 228% 16665 114% | |
Pushka 968 19.8% 41157 228% 16665 114% | |
5/18 : Encode large Seq[Double] | |
=============================== | |
Library ops/s % size % size.gz % | |
BooPickle 50922 100.0% 8002 100% 7688 100% | |
Prickle 2534 5.0% 19342 242% 9993 130% | |
uPickle 2450 4.8% 18319 229% 9780 127% | |
Circe 2688 5.3% 18319 229% 9780 127% | |
Pushka 2890 5.7% 18319 229% 9780 127% | |
6/18 : Decode large Seq[Double] | |
=============================== | |
Library ops/s % size % size.gz % | |
BooPickle 51358 100.0% 8002 100% 7688 100% | |
Prickle 1314 2.6% 19342 242% 9993 130% | |
uPickle 2848 5.5% 18319 229% 9780 127% | |
Circe 2322 4.5% 18319 229% 9780 127% | |
Pushka 2984 5.8% 18319 229% 9780 127% | |
7/18 : Encode large Seq[Float] | |
============================== | |
Library ops/s % size % size.gz % | |
BooPickle 61180 100.0% 4002 100% 3703 100% | |
Prickle 3256 5.3% 13533 338% 5511 149% | |
uPickle 3106 5.1% 12464 311% 5385 145% | |
Circe 3556 5.8% 12510 313% 5400 146% | |
Pushka 3748 6.1% 12464 311% 5385 145% | |
8/18 : Decode large Seq[Float] | |
============================== | |
Library ops/s % size % size.gz % | |
BooPickle 67708 100.0% 4002 100% 3703 100% | |
Prickle 2198 3.2% 13533 338% 5511 149% | |
uPickle 5288 7.8% 12464 311% 5385 145% | |
Circe 3714 5.5% 12510 313% 5400 146% | |
Pushka 6494 9.6% 12464 311% 5385 145% | |
9/18 : Encode an object tree | |
============================ | |
Library ops/s % size % size.gz % | |
BooPickle 2428 61.9% 3544 100% 1715 100% | |
Prickle 620 15.8% 35481 1001% 4169 243% | |
uPickle 2698 68.8% 20385 575% 2245 131% | |
Pushka 3924 100.0% 20385 575% 2245 131% | |
10/18 : Decode an object tree | |
============================= | |
Library ops/s % size % size.gz % | |
BooPickle 17918 100.0% 3544 100% 1715 100% | |
Prickle 140 0.8% 35481 1001% 4169 243% | |
uPickle 2330 13.0% 20385 575% 2245 131% | |
Pushka 4336 24.2% 20385 575% 2245 131% | |
11/18 : Encode very large Map[String, Int] | |
========================================== | |
Library ops/s % size % size.gz % | |
BooPickle 340 71.6% 86974 100% 45404 100% | |
Prickle 233 49.1% 190070 219% 47909 106% | |
uPickle 475 100.0% 130047 150% 45263 100% | |
Circe 211 44.4% 130047 150% 45263 100% | |
Pushka 278 58.5% 150047 173% 46538 103% | |
12/18 : Decode very large Map[String, Int] | |
========================================== | |
Library ops/s % size % size.gz % | |
BooPickle 347 100.0% 86974 100% 45404 100% | |
Prickle 71 20.5% 190070 219% 47909 106% | |
uPickle 276 79.5% 130047 150% 45263 100% | |
Circe 118 34.0% 130047 150% 45263 100% | |
Pushka 232 66.9% 150047 173% 46538 103% | |
13/18 : Encoding Seq[Book] with random IDs | |
========================================== | |
Library ops/s % size % size.gz % | |
BooPickle 150530 100.0% 266 100% 243 100% | |
Prickle 33962 22.6% 935 352% 325 134% | |
uPickle 126828 84.3% 736 277% 285 117% | |
Circe 73136 48.6% 736 277% 285 117% | |
Pushka 142424 94.6% 736 277% 285 117% | |
14/18 : Decoding Seq[Book] with random IDs | |
========================================== | |
Library ops/s % size % size.gz % | |
BooPickle 446876 100.0% 266 100% 243 100% | |
Prickle 10556 2.4% 935 352% 325 134% | |
uPickle 83932 18.8% 736 277% 285 117% | |
Circe 57080 12.8% 736 277% 285 117% | |
Pushka 144438 32.3% 736 277% 285 117% | |
15/18 : Encoding Seq[Book] with UUIDs | |
===================================== | |
Library ops/s % size % size.gz % | |
BooPickle 63702 49.5% 306 100% 317 100% | |
Prickle 29248 22.7% 1135 371% 461 145% | |
uPickle 111208 86.5% 936 306% 415 131% | |
Circe 66410 51.6% 936 306% 419 132% | |
Pushka 128632 100.0% 936 306% 415 131% | |
16/18 : Decoding Seq[Book] with UUIDs | |
===================================== | |
Library ops/s % size % size.gz % | |
BooPickle 228710 100.0% 306 100% 317 100% | |
Prickle 11426 5.0% 1135 371% 461 145% | |
uPickle 103274 45.2% 936 306% 415 131% | |
Circe 56662 24.8% 936 306% 419 132% | |
Pushka 137604 60.2% 936 306% 415 131% | |
17/18 : Encoding Seq[Book] with numerical IDs | |
============================================= | |
Library ops/s % size % size.gz % | |
BooPickle 153820 100.0% 194 100% 187 100% | |
Prickle 35442 23.0% 879 453% 276 148% | |
uPickle 129444 84.2% 680 351% 234 125% | |
Circe 72788 47.3% 680 351% 232 124% | |
Pushka 147320 95.8% 680 351% 234 125% | |
18/18 : Decoding Seq[Book] with numerical IDs | |
============================================= | |
Library ops/s % size % size.gz % | |
BooPickle 531896 100.0% 194 100% 187 100% | |
Prickle 11644 2.2% 879 453% 276 148% | |
uPickle 108116 20.3% 680 351% 234 125% | |
Circe 58590 11.0% 680 351% 232 124% | |
Pushka 147594 27.7% 680 351% 234 125% |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment