File: benchmark_performance_optimized.txt

package info (click to toggle)
ruby-rqrcode-core 2.1.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 520 kB
  • sloc: ruby: 2,289; makefile: 4; sh: 4
file content (120 lines) | stat: -rw-r--r-- 5,393 bytes parent folder | download
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
110
111
112
113
114
115
116
117
118
119
120
/Users/duncan/.local/share/mise/installs/ruby/3.3.4/bin/ruby test/benchmark_performance.rb
================================================================================
RQRCode Core - Detailed Performance Benchmark (benchmark-ips)
================================================================================
Ruby: 3.3.4 (arm64-darwin24)
ARCH_BITS: 64
================================================================================


--- By Data Size ---
ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin24]
Warming up --------------------------------------
          Small (v1)    29.000 i/100ms
     Medium URL (v5)     8.000 i/100ms
         Large (v24)     1.000 i/100ms
Calculating -------------------------------------
          Small (v1)    292.903 (± 0.3%) i/s    (3.41 ms/i) -    609.000 in   2.079211s
     Medium URL (v5)     85.342 (± 1.2%) i/s   (11.72 ms/i) -    176.000 in   2.062425s
         Large (v24)      8.684 (± 0.0%) i/s  (115.16 ms/i) -     18.000 in   2.072975s

Comparison:
          Small (v1):      292.9 i/s
     Medium URL (v5):       85.3 i/s - 3.43x  slower
         Large (v24):        8.7 i/s - 33.73x  slower


--- By Encoding Mode ---
ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin24]
Warming up --------------------------------------
             Numeric    29.000 i/100ms
        Alphanumeric    19.000 i/100ms
                Byte    19.000 i/100ms
Calculating -------------------------------------
             Numeric    291.792 (± 0.7%) i/s    (3.43 ms/i) -    609.000 in   2.087222s
        Alphanumeric    196.603 (± 0.5%) i/s    (5.09 ms/i) -    399.000 in   2.029540s
                Byte    197.528 (± 0.5%) i/s    (5.06 ms/i) -    399.000 in   2.020013s

Comparison:
             Numeric:      291.8 i/s
                Byte:      197.5 i/s - 1.48x  slower
        Alphanumeric:      196.6 i/s - 1.48x  slower


--- By QR Version (same data) ---
ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin24]
Warming up --------------------------------------
           Version 1    29.000 i/100ms
           Version 5     8.000 i/100ms
          Version 10     3.000 i/100ms
          Version 20     1.000 i/100ms
          Version 40     1.000 i/100ms
Calculating -------------------------------------
           Version 1    292.591 (± 0.7%) i/s    (3.42 ms/i) -    609.000 in   2.081510s
           Version 5     85.645 (± 1.2%) i/s   (11.68 ms/i) -    176.000 in   2.055076s
          Version 10     34.641 (± 0.0%) i/s   (28.87 ms/i) -     72.000 in   2.078604s
          Version 20     11.825 (± 0.0%) i/s   (84.57 ms/i) -     24.000 in   2.029676s
          Version 40      3.507 (± 0.0%) i/s  (285.17 ms/i) -      8.000 in   2.281342s

Comparison:
           Version 1:      292.6 i/s
           Version 5:       85.6 i/s - 3.42x  slower
          Version 10:       34.6 i/s - 8.45x  slower
          Version 20:       11.8 i/s - 24.74x  slower
          Version 40:        3.5 i/s - 83.44x  slower


--- By Error Correction Level ---
ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin24]
Warming up --------------------------------------
       Level :l (7%)    26.000 i/100ms
      Level :m (15%)    30.000 i/100ms
      Level :q (25%)    27.000 i/100ms
      Level :h (30%)    29.000 i/100ms
Calculating -------------------------------------
       Level :l (7%)    297.489 (± 0.3%) i/s    (3.36 ms/i) -    598.000 in   2.010190s
      Level :m (15%)    307.389 (± 0.7%) i/s    (3.25 ms/i) -    630.000 in   2.049575s
      Level :q (25%)    288.344 (± 0.3%) i/s    (3.47 ms/i) -    594.000 in   2.060071s
      Level :h (30%)    295.327 (± 0.3%) i/s    (3.39 ms/i) -    609.000 in   2.062147s

Comparison:
      Level :m (15%):      307.4 i/s
       Level :l (7%):      297.5 i/s - 1.03x  slower
      Level :h (30%):      295.3 i/s - 1.04x  slower
      Level :q (25%):      288.3 i/s - 1.07x  slower


--- Creation vs Rendering ---
ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin24]
Warming up --------------------------------------
         Create only    29.000 i/100ms
     Create + render    29.000 i/100ms
         Render only    28.000 i/100ms
Calculating -------------------------------------
         Create only    294.409 (± 0.7%) i/s    (3.40 ms/i) -    609.000 in   2.068685s
     Create + render    289.981 (± 0.7%) i/s    (3.45 ms/i) -    580.000 in   2.000234s
         Render only    291.282 (± 0.3%) i/s    (3.43 ms/i) -    588.000 in   2.018688s

Comparison:
         Create only:      294.4 i/s
         Render only:      291.3 i/s - 1.01x  slower
     Create + render:      290.0 i/s - 1.02x  slower


--- Multi-segment Encoding ---
ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin24]
Warming up --------------------------------------
      Single segment    14.000 i/100ms
       Multi-segment    19.000 i/100ms
Calculating -------------------------------------
      Single segment    145.551 (± 0.7%) i/s    (6.87 ms/i) -    294.000 in   2.019949s
       Multi-segment    196.185 (± 5.1%) i/s    (5.10 ms/i) -    399.000 in   2.041346s

Comparison:
       Multi-segment:      196.2 i/s
      Single segment:      145.6 i/s - 1.35x  slower


================================================================================
Performance benchmark complete!
================================================================================