Граф коммитов

8 Коммитов

Автор SHA1 Сообщение Дата
Matt Burke c4a1f2ca03 mochilo v1 == bert v3, mochilo v2 == bert v4 2017-05-30 12:32:32 -04:00
Matt Burke b5e83ef0d8 Serialize symbol, time, regexp in the benchmark, too
user     system      total        real
BERT v1 tiny                     0.010000   0.000000   0.010000 (  0.013280)
BERT v1 small                    0.110000   0.000000   0.110000 (  0.116110)
BERT v1 large                    0.630000   0.010000   0.640000 (  0.646742)
BERT v1 complex                  2.710000   0.000000   2.710000 (  2.738346)
BERT v1 long array               5.360000   0.000000   5.360000 (  5.391206)
BERT v2 tiny                     0.020000   0.000000   0.020000 (  0.018202)
BERT v2 small                    0.140000   0.000000   0.140000 (  0.133662)
BERT v2 large                    0.640000   0.010000   0.650000 (  0.660656)
BERT v2 complex                  2.520000   0.010000   2.530000 (  2.534638)
BERT v2 long array               5.460000   0.010000   5.470000 (  5.520119)
BERT v3 tiny                     0.010000   0.000000   0.010000 (  0.010693)
BERT v3 small                    0.010000   0.000000   0.010000 (  0.011390)
BERT v3 large                    0.220000   0.030000   0.250000 (  0.246068)
BERT v3 complex                  0.060000   0.000000   0.060000 (  0.055431)
BERT v3 long array               0.520000   0.000000   0.520000 (  0.522735)
JSON tiny                        0.000000   0.000000   0.000000 (  0.005991)
JSON small                       0.020000   0.000000   0.020000 (  0.010092)
JSON large                       2.200000   0.020000   2.220000 (  2.252311)
JSON complex                     0.160000   0.000000   0.160000 (  0.159742)
JSON long array                  0.450000   0.010000   0.460000 (  0.454021)
YAJL tiny                        0.010000   0.000000   0.010000 (  0.006357)
YAJL small                       0.020000   0.000000   0.020000 (  0.023327)
YAJL large                       0.960000   0.020000   0.980000 (  1.002778)
YAJL complex                     0.280000   0.030000   0.310000 (  0.317845)
YAJL long array                  0.750000   0.000000   0.750000 (  0.747592)
Ruby tiny                        0.000000   0.000000   0.000000 (  0.003547)
Ruby small                       0.010000   0.000000   0.010000 (  0.007403)
Ruby large                       0.010000   0.000000   0.010000 (  0.012739)
Ruby complex                     0.020000   0.000000   0.020000 (  0.015415)
Ruby long array                  0.030000   0.000000   0.030000 (  0.036519)
2017-05-26 14:48:03 -04:00
Matt Burke 5c272f0635 v4 (mochilo) -> v3 2017-04-27 14:30:54 -04:00
Matt Burke 40e478c76b Make v4, using mochilo
mochilo is like msgpack, except that it deals with encodings in a
sane(r?) way. mochilo doesn't have a custom type registry, so I've added
one in the "custom-type-registry" branch, and I'm using that here.

This ended up being faster than the msgpack implementation, because
encoding doesn't have to pop up to ruby to deal with strings.

                                     user     system      total        real
BERT v2 tiny                     0.010000   0.000000   0.010000 (  0.015289)
BERT v2 small                    0.130000   0.000000   0.130000 (  0.126682)
BERT v2 large                    0.580000   0.000000   0.580000 (  0.592555)
BERT v2 complex                  2.880000   0.010000   2.890000 (  2.903082)
BERT v2 long array               4.200000   0.000000   4.200000 (  4.262165)

BERT v3 tiny                     0.020000   0.000000   0.020000 (  0.020252)
BERT v3 small                    0.020000   0.000000   0.020000 (  0.024444)
BERT v3 large                    0.700000   0.010000   0.710000 (  0.703152)
BERT v3 complex                  0.090000   0.000000   0.090000 (  0.100372)
BERT v3 long array               1.810000   0.010000   1.820000 (  1.827934)

BERT v4 tiny                     0.010000   0.000000   0.010000 (  0.013301)
BERT v4 small                    0.010000   0.000000   0.010000 (  0.012317)
BERT v4 large                    0.230000   0.060000   0.290000 (  0.292852)
BERT v4 complex                  0.070000   0.000000   0.070000 (  0.064578)
BERT v4 long array               0.110000   0.000000   0.110000 (  0.110842)

Msgpack tiny                     0.000000   0.000000   0.000000 (  0.001644)
Msgpack small                    0.010000   0.000000   0.010000 (  0.002568)
Msgpack large                    0.180000   0.000000   0.180000 (  0.192238)
Msgpack complex                  0.040000   0.000000   0.040000 (  0.041482)
Msgpack long array               0.070000   0.000000   0.070000 (  0.065986)
2017-04-24 17:49:30 -04:00
Matt Burke 5c88d933e0 benchmark the new BERT encoder
It's slightly slower than plain msgpack, but still much better than
older BERT.

                                     user     system      total        real
BERT v1 tiny                     0.020000   0.000000   0.020000 (  0.019957)
BERT v1 small                    0.150000   0.000000   0.150000 (  0.141066)
BERT v1 large                    0.710000   0.000000   0.710000 (  0.723820)
BERT v1 complex                  2.950000   0.000000   2.950000 (  2.972712)
BERT v1 long array               3.870000   0.000000   3.870000 (  3.898899)
BERT v2 tiny                     0.010000   0.000000   0.010000 (  0.017890)
BERT v2 small                    0.160000   0.000000   0.160000 (  0.159581)
BERT v2 large                    0.720000   0.000000   0.720000 (  0.733793)
BERT v2 complex                  2.960000   0.010000   2.970000 (  2.975499)
BERT v2 long array               4.080000   0.000000   4.080000 (  4.106795)
BERT v3 tiny                     0.020000   0.000000   0.020000 (  0.024472)
BERT v3 small                    0.020000   0.000000   0.020000 (  0.025297)
BERT v3 large                    0.320000   0.020000   0.340000 (  0.337157)
BERT v3 complex                  0.090000   0.000000   0.090000 (  0.085884)
BERT v3 long array               0.100000   0.000000   0.100000 (  0.104439)
JSON tiny                        0.010000   0.000000   0.010000 (  0.007604)
JSON small                       0.010000   0.000000   0.010000 (  0.014245)
JSON large                       2.450000   0.010000   2.460000 (  2.473644)
JSON complex                     0.170000   0.000000   0.170000 (  0.174540)
JSON long array                  0.350000   0.000000   0.350000 (  0.357081)
YAJL tiny                        0.010000   0.000000   0.010000 (  0.005566)
YAJL small                       0.020000   0.000000   0.020000 (  0.019177)
YAJL large                       1.060000   0.030000   1.090000 (  1.094342)
YAJL complex                     0.300000   0.000000   0.300000 (  0.307467)
YAJL long array                  0.140000   0.000000   0.140000 (  0.136261)
Ruby tiny                        0.000000   0.000000   0.000000 (  0.002919)
Ruby small                       0.010000   0.000000   0.010000 (  0.008211)
Ruby large                       0.000000   0.010000   0.010000 (  0.009826)
Ruby complex                     0.020000   0.000000   0.020000 (  0.013560)
Ruby long array                  0.080000   0.000000   0.080000 (  0.082170)
Msgpack tiny                     0.000000   0.000000   0.000000 (  0.002561)
Msgpack small                    0.000000   0.000000   0.000000 (  0.003771)
Msgpack large                    0.190000   0.000000   0.190000 (  0.195700)
Msgpack complex                  0.040000   0.010000   0.050000 (  0.044514)
Msgpack long array               0.070000   0.000000   0.070000 (  0.071905)
2017-04-21 10:36:27 -04:00
Matt Burke 4fa5e2e2d3 Benchmark dat msgpack 2017-04-21 09:03:53 -04:00
Tom Preston-Werner f0524d23c8 eliminate unneeded array traversal and update benches 2009-10-24 12:01:18 -07:00
Tom Preston-Werner 1fc17e94f5 add benchmark runner and results 2009-10-24 00:50:20 -07:00