@@ -33,56 +33,56 @@ Only `all+ASCII` performance comparison brings a meaningful result, because the
33
33
34
34
| Command | Mean [ ms] | Min [ ms] | Max [ ms] | Relative |
35
35
| :---| ---:| ---:| ---:| ---:|
36
- | ` target/release/strings target/debug/strings ` | 818.1 ± 70.1 | 751.8 | 952.2 | 1.09 ± 0.11 |
37
- | ` strings target/debug/strings ` | 748.9 ± 34 .2 | 723.7 | 839.7 | 1.00 |
36
+ | ` target/release/strings target/debug/strings ` | 864.2 ± 57.0 | 797.0 | 986.9 | 1.04 ± 0.08 |
37
+ | ` strings target/debug/strings ` | 831.4 ± 26 .2 | 804.1 | 888.2 | 1.00 |
38
38
39
39
#### Rust variant memory usage and context switches
40
40
41
- Maximum resident set size (kbytes): 2468
42
- Voluntary context switches: 2903
43
- Involuntary context switches: 3
41
+ Maximum resident set size (kbytes): 2448
42
+ Voluntary context switches: 2924
43
+ Involuntary context switches: 6
44
44
45
45
#### C variant memory usage and context switches
46
46
47
- Maximum resident set size (kbytes): 2532
48
- Voluntary context switches: 5305
47
+ Maximum resident set size (kbytes): 2572
48
+ Voluntary context switches: 5347
49
49
Involuntary context switches: 4
50
50
51
51
### ASCII chars search, only data section(s) scan (in-memory byte array mode)
52
52
53
53
| Command | Mean [ ms] | Min [ ms] | Max [ ms] | Relative |
54
54
| :---| ---:| ---:| ---:| ---:|
55
- | ` target/release/strings -d target/debug/strings ` | 167.4 ± 19.8 | 151.9 | 236.1 | 3.65 ± 0.46 |
56
- | ` strings -d target/debug/strings ` | 45.8 ± 2.0 | 41.8 | 56.5 | 1.00 |
55
+ | ` target/release/strings -d target/debug/strings ` | 161.5 ± 4.0 | 154.4 | 168.5 | 3.42 ± 0.21 |
56
+ | ` strings -d target/debug/strings ` | 47.3 ± 2.6 | 42.6 | 55.0 | 1.00 |
57
57
58
58
#### Rust variant memory usage and context switches
59
59
60
- Maximum resident set size (kbytes): 23456
61
- Voluntary context switches: 597
62
- Involuntary context switches: 0
60
+ Maximum resident set size (kbytes): 23592
61
+ Voluntary context switches: 599
62
+ Involuntary context switches: 1
63
63
64
64
#### C variant memory usage and context switches
65
65
66
- Maximum resident set size (kbytes): 4844
66
+ Maximum resident set size (kbytes): 4832
67
67
Voluntary context switches: 113
68
68
Involuntary context switches: 0
69
69
70
70
### Unicode chars search, complete file scan (file stream mode)
71
71
72
72
| Command | Mean [ ms] | Min [ ms] | Max [ ms] | Relative |
73
73
| :---| ---:| ---:| ---:| ---:|
74
- | ` target/release/strings -u escape target/release/strings ` | 243.1 ± 13.7 | 225.3 | 264.7 | 1.23 ± 0.13 |
75
- | ` strings -Ue target/release/strings ` | 197.2 ± 18.1 | 169.6 | 233.2 | 1.00 |
74
+ | ` target/release/strings -u escape target/release/strings ` | 260.3 ± 18.0 | 233.0 | 302.5 | 1.40 ± 0.12 |
75
+ | ` strings -Ue target/release/strings ` | 185.3 ± 9.8 | 175.8 | 208.7 | 1.00 |
76
76
77
77
#### Rust variant memory usage and context switches
78
78
79
- Maximum resident set size (kbytes): 2472
80
- Voluntary context switches: 2903
81
- Involuntary context switches: 4
79
+ Maximum resident set size (kbytes): 2460
80
+ Voluntary context switches: 830
81
+ Involuntary context switches: 1
82
82
83
83
#### C variant memory usage and context switches
84
84
85
- Average total size (kbytes): 0
86
- Minor (reclaiming a frame) page faults: 2187
87
- Voluntary context switches: 789
85
+ Maximum resident set size (kbytes): 7784
86
+ Voluntary context switches: 1196
87
+ Involuntary context switches: 0
88
88
0 commit comments