Skip to content

Instantly share code, notes, and snippets.

@ochrons
Created October 29, 2015 20:44
Show Gist options
  • Save ochrons/1261808852caf799f456 to your computer and use it in GitHub Desktop.
Save ochrons/1261808852caf799f456 to your computer and use it in GitHub Desktop.
Scala/ScalaJS serialization lib performance comparison
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%
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