Skip to content

Benchmarks

Matthieu Monsch edited this page Sep 28, 2015 · 30 revisions

Benchmarks

Displayed rates were computed over 100,000 records, taking the median of 10 runs. Percentages are relative to the fastest throughput for the schema. -1 values indicate that the library doesn't support the schema.

All benchmarks were run on a MacBook Air (1.7GHz processor). The code is available in the benchmarks folder of the main avsc repository.

Decoding

library          java-avro      node-avro-io     node-avsc      node-json     python-fastavro
                       ops    %          ops   %       ops    %       ops   %             ops   %
schema
ArrayString.avsc   1333354  100       168208  12    905364   67    933778  70          124155   9
Bytes.avsc         3425019  100       365112  10   1068876   31    611305  17          483808  14
Cake.avsc           403309  100           -1  -1    115395   28     94199  23           22342   5
Coupon.avsc        1242237  100        60955   4    290590   23    281907  22           53553   4
Double.avsc        4950980  100       316707   6   3301198   66   1338197  27          558435  11
Enum.avsc          3657786   91       385443   9   3982641  100   1913830  48          469684  11
Human.avsc         1452605  100        82425   5    498063   34    329794  22          101258   6
Int.avsc           4017684  100       403430  10   2910795   72   2016750  50          465666  11
Long.avsc          4008418  100       386055   9   1816200   45   1809810  45          329801   8
Person.avsc        2167419  100           -1  -1   1586244   73    768013  35          190789   8
String.avsc        3527611  100       293975   8   2983329   84   1607787  45          412093  11
User.avsc           543478  100           -1  -1    115933   21    101874  18           17080   3

Encoding

library          java-avro      node-avro-io    node-avsc      node-json      python-fastavro
                       ops    %          ops  %       ops    %       ops    %             ops   %
schema
ArrayString.avsc    729958   85        17158  2    279543   32    856244   99          108645  12
Bytes.avsc         1196898  100        78853  6    644118   53    180587   15          447893  37
Cake.avsc           168380  100           -1 -1    103997   61     50583   30           13635   8
Coupon.avsc         727009  100         6438  0    302544   41    130612   17           42179   5
Double.avsc        1315088   98           -1 -1    807702   60   1341094  100          515322  38
Enum.avsc               -1   -1        55772  3    754863   44   1680202   99          392083  23
Human.avsc          865279  100        13741  1    370070   42    150127   17           76748   8
Int.avsc           1240742   62        64575  3    840674   42   1986039  100          412469  20
Long.avsc          1280031   87        36167  2    829022   56   1466763   99          262829  17
Person.avsc         906625  100           -1 -1    619858   68    842436   92          139652  15
String.avsc        1212165   74        70248  4    536671   32   1636948   99          322442  19
User.avsc           245129   86           -1 -1    283556  100     66724   23           13041   4
Clone this wiki locally