1- import _benchmark from 'benchmark' ;
2- const { Benchmark } = _benchmark ;
1+ import { group , summary , barplot , bench , run } from 'mitata' ;
32
43import { makeMessagePackDecoder } from '@urlpack/msgpack' ;
54const urlpack = makeMessagePackDecoder ( ) ;
@@ -16,45 +15,48 @@ import * as msgpackr from 'msgpackr';
1615const complex1 = new Uint8Array ( [ 0x82 , 0xa1 , 0x61 , 0x81 , 0xa1 , 0x62 , 0xa1 , 0x63 , 0xa1 , 0x63 , 0x94 , 0xc0 , 0xc0 , 0xc0 , 0x81 , 0xa1 , 0x64 , 0xa1 , 0x63 ] ) ;
1716const complex2 = new Uint8Array ( [ 0x88 , 0xa3 , 0x69 , 0x6e , 0x74 , 0x1 , 0xa5 , 0x66 , 0x6c , 0x6f , 0x61 , 0x74 , 0xcb , 0x3f , 0xe0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0xa7 , 0x62 , 0x6f , 0x6f , 0x6c , 0x65 , 0x61 , 0x6e , 0xc3 , 0xa4 , 0x6e , 0x75 , 0x6c , 0x6c , 0xc0 , 0xa6 , 0x73 , 0x74 , 0x72 , 0x69 , 0x6e , 0x67 , 0xa7 , 0x66 , 0x6f , 0x6f , 0x20 , 0x62 , 0x61 , 0x72 , 0xa5 , 0x61 , 0x72 , 0x72 , 0x61 , 0x79 , 0x92 , 0xa3 , 0x66 , 0x6f , 0x6f , 0xa3 , 0x62 , 0x61 , 0x72 , 0xa6 , 0x6f , 0x62 , 0x6a , 0x65 , 0x63 , 0x74 , 0x82 , 0xa3 , 0x66 , 0x6f , 0x6f , 0x1 , 0xa3 , 0x62 , 0x61 , 0x7a , 0xcb , 0x3f , 0xe0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0xa4 , 0x64 , 0x61 , 0x74 , 0x65 , 0xd7 , 0xff , 0xbe , 0x7f , 0x17 , 0x0 , 0x60 , 0xf8 , 0x3c , 0x5f ] ) ;
1817
19- new Benchmark . Suite ( )
20- . add ( 'warmup' , ( ) => {
21- urlpack . decode ( complex1 ) ;
22- msgpack . decode ( complex1 ) ;
23- msgpack5 . decode ( complex1 ) ;
24- msgpackLite . decode ( complex1 ) ;
25- msgpackr . decode ( complex1 ) ;
26- } )
27- . add ( 'decode complex 1 - @urlpack/msgpack' , ( ) => {
28- urlpack . decode ( complex1 ) ;
29- } )
30- . add ( 'decode complex 1 - @msgpack/msgpack' , ( ) => {
31- msgpack . decode ( complex1 ) ;
32- } )
33- . add ( 'decode complex 1 - msgpack5' , ( ) => {
34- msgpack5 . decode ( complex1 ) ;
35- } )
36- . add ( 'decode complex 1 - msgpack-lite' , ( ) => {
37- msgpackLite . decode ( complex1 ) ;
38- } )
39- . add ( 'decode complex 1 - msgpackr' , ( ) => {
40- msgpackr . decode ( complex1 ) ;
41- } )
42- . add ( 'decode complex 2 - @urlpack/msgpack' , ( ) => {
43- urlpack . decode ( complex2 ) ;
44- } )
45- . add ( 'decode complex 2 - @msgpack/msgpack' , ( ) => {
46- msgpack . decode ( complex2 ) ;
47- } )
48- . add ( 'decode complex 2 - msgpack5' , ( ) => {
49- msgpack5 . decode ( complex2 ) ;
50- } )
51- . add ( 'decode complex 2 - msgpack-lite' , ( ) => {
52- msgpackLite . decode ( complex2 ) ;
53- } )
54- . add ( 'decode complex 2 - msgpackr' , ( ) => {
55- msgpackr . decode ( complex2 ) ;
56- } )
57- . on ( 'cycle' , event => {
58- console . log ( event . target . toString ( ) ) ;
59- } )
60- . run ( ) ;
18+ group ( 'decode complex 1' , ( ) => {
19+ summary ( ( ) => {
20+ barplot ( ( ) => {
21+ bench ( '@urlpack/msgpack' , ( ) => {
22+ urlpack . decode ( complex1 ) ;
23+ } ) . gc ( 'inner' ) . baseline ( ) ;
24+ bench ( '@msgpack/msgpack' , ( ) => {
25+ msgpack . decode ( complex1 ) ;
26+ } ) . gc ( 'inner' ) ;
27+ bench ( 'msgpack5' , ( ) => {
28+ msgpack5 . decode ( complex1 ) ;
29+ } ) . gc ( 'inner' ) ;
30+ bench ( 'msgpack-lite' , ( ) => {
31+ msgpackLite . decode ( complex1 ) ;
32+ } ) . gc ( 'inner' ) ;
33+ bench ( 'msgpackr' , ( ) => {
34+ msgpackr . decode ( complex1 ) ;
35+ } ) . gc ( 'inner' ) ;
36+ } ) ;
37+ } ) ;
38+ } ) ;
39+
40+ group ( 'decode complex 2' , ( ) => {
41+ summary ( ( ) => {
42+ barplot ( ( ) => {
43+ bench ( '@urlpack/msgpack' , ( ) => {
44+ urlpack . decode ( complex2 ) ;
45+ } ) . gc ( 'inner' ) . baseline ( ) ;
46+ bench ( '@msgpack/msgpack' , ( ) => {
47+ msgpack . decode ( complex2 ) ;
48+ } ) . gc ( 'inner' ) ;
49+ bench ( 'msgpack5' , ( ) => {
50+ msgpack5 . decode ( complex2 ) ;
51+ } ) . gc ( 'inner' ) ;
52+ bench ( 'msgpack-lite' , ( ) => {
53+ msgpackLite . decode ( complex2 ) ;
54+ } ) . gc ( 'inner' ) ;
55+ bench ( 'msgpackr' , ( ) => {
56+ msgpackr . decode ( complex2 ) ;
57+ } ) . gc ( 'inner' ) ;
58+ } ) ;
59+ } ) ;
60+ } ) ;
61+
62+ run ( ) ;
0 commit comments