-
Notifications
You must be signed in to change notification settings - Fork 10
/
performance_report.txt
110 lines (80 loc) · 3.65 KB
/
performance_report.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
Running on Qo v0.5.0 at rev 7b49c20d29630d9f56328d4663bb1b1ce1add2b0
- Ruby ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]
Array * Array - Literal
=======================
Vanilla result: true
Qo.and result: true
Warming up --------------------------------------
Vanilla 245.363k i/100ms
Qo.and 67.365k i/100ms
Calculating -------------------------------------
Vanilla 7.823M (± 4.0%) i/s - 39.258M in 5.027372s
Qo.and 859.133k (± 2.3%) i/s - 4.311M in 5.020923s
Comparison:
Vanilla: 7822633.5 i/s
Qo.and: 859133.0 i/s - 9.11x slower
Array * Array - Index pattern match
===================================
Vanilla result: true
Qo.and result: true
Warming up --------------------------------------
Vanilla 43.805k i/100ms
Qo.and 21.434k i/100ms
Calculating -------------------------------------
Vanilla 511.690k (± 2.0%) i/s - 2.584M in 5.053034s
Qo.and 241.516k (± 2.7%) i/s - 1.222M in 5.062575s
Comparison:
Vanilla: 511689.7 i/s
Qo.and: 241515.5 i/s - 2.12x slower
Array * Object - Predicate match
================================
Vanilla result: false
Qo.and result: false
Warming up --------------------------------------
Vanilla 129.649k i/100ms
Qo.and 25.903k i/100ms
Calculating -------------------------------------
Vanilla 2.049M (± 2.7%) i/s - 10.242M in 5.002097s
Qo.and 287.416k (± 3.8%) i/s - 1.451M in 5.054898s
Comparison:
Vanilla: 2049180.0 i/s
Qo.and: 287416.4 i/s - 7.13x slower
Array * Array - Select index pattern match
==========================================
Vanilla result: [["Robert", 22], ["Roberta", 22]]
Qo.and result: [["Robert", 22], ["Roberta", 22]]
Warming up --------------------------------------
Vanilla 12.729k i/100ms
Qo.and 6.911k i/100ms
Calculating -------------------------------------
Vanilla 135.430k (± 1.8%) i/s - 687.366k in 5.077139s
Qo.and 71.615k (± 2.8%) i/s - 359.372k in 5.022246s
Comparison:
Vanilla: 135430.5 i/s
Qo.and: 71615.2 i/s - 1.89x slower
Hash * Hash - Hash intersection
===============================
Vanilla result: [{:name=>"Robert", :age=>22}, {:name=>"Roberta", :age=>22}]
Qo.and result: [{:name=>"Robert", :age=>22}, {:name=>"Roberta", :age=>22}]
Warming up --------------------------------------
Vanilla 33.461k i/100ms
Qo.and 5.366k i/100ms
Calculating -------------------------------------
Vanilla 366.234k (± 3.1%) i/s - 1.840M in 5.030236s
Qo.and 54.974k (± 4.4%) i/s - 279.032k in 5.087315s
Comparison:
Vanilla: 366233.9 i/s
Qo.and: 54973.5 i/s - 6.66x slower
Hash * Object - Property match
==============================
Vanilla result: [#<struct Person name="Robert", age=22>, #<struct Person name="Roberta", age=22>]
Qo.and result: [#<struct Person name="Robert", age=22>, #<struct Person name="Roberta", age=22>]
Warming up --------------------------------------
Vanilla 33.166k i/100ms
Qo.and 5.659k i/100ms
Calculating -------------------------------------
Vanilla 371.150k (± 3.4%) i/s - 1.857M in 5.010508s
Qo.and 58.451k (± 3.4%) i/s - 294.268k in 5.040637s
Comparison:
Vanilla: 371149.8 i/s
Qo.and: 58450.6 i/s - 6.35x slower