Skip to content

add missing tests - #53

Open
pauldreik wants to merge 3 commits into
mainfrom
missing_tests
Open

add missing tests#53
pauldreik wants to merge 3 commits into
mainfrom
missing_tests

Conversation

@pauldreik

Copy link
Copy Markdown
Owner

not all headers had a test file. also fixes an omission for queue, it should not include algorithm since it is large (and will keep growing)

priority_queue needs push_heap/pop_heap/make_heap, not the whole 1000+
line <algorithm> header. Move the heap primitives into the shared
minimal-helpers header already used by map/list/set.
csignal forwarded signal.h without putting anything into namespace
std. typeindex had no std::hash<type_index> specialization, so
type_index couldn't be used as an unordered_map key.
@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown

rdfind build-time diff (configure / compile / run tests)

Compiler: c++ (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0.

rdfind build time with psychicstd, main vs this PR (same runner). 🟢 faster · 🔴 slower · 🟡 within noise. A change is colored only when its bootstrap 95% CI excludes 0 and it clears ±5% / 3ms. vs system is this PR's speedup over system libstdc++, for context -- a regression is less alarming if psychicstd is still far ahead. Median system-time drift (noise proxy): 0.2%.

No significant changes (🟡 3 within noise).

🟡 3 benchmark(s) within noise
benchmark main PR Δ (95% CI) vs system
compile 644.7ms 645.8ms 🟡 +0.2% [-9.5, +0.6] 3.1x
configure 1243.9ms 1242.9ms 🟡 -0.1% [-0.4, +0.0] 1.0x
run tests 8384.5ms 8400.5ms 🟡 +0.2% [-0.3, +0.8] 0.2x

Reproduce this on your machine: scripts/compare_realworld.py rdfind --build-type debug --reps 3

@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown

Compile-time performance diff

Compiler: g++ (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0.

psychicstd compile time, main vs this PR (same runner). 🟢 faster · 🔴 slower · 🟡 within noise. A change is colored only when its bootstrap 95% CI excludes 0 and it clears ±5% / 3ms. vs system is this PR's speedup over system libstdc++, for context -- a regression is less alarming if psychicstd is still far ahead. Median system-time drift (noise proxy): 2.4%.

🔴 2 slower · 🟢 1 faster · 🟡 78 within noise.

benchmark main PR Δ (95% CI) vs system
span 64.3ms 68.3ms 🔴 +6.2% [+5.1, +7.8] 4.4x
set 71.5ms 75.0ms 🔴 +5.0% [+3.9, +7.9] 2.6x
unordered_map 50.1ms 46.9ms 🟢 -6.4% [-6.9, -2.4] 4.7x
🟡 78 benchmark(s) within noise
benchmark main PR Δ (95% CI) vs system
algorithm 69.0ms 70.7ms 🟡 +2.4% [-1.0, +6.5] 4.1x
all-headers 24.4ms 24.3ms 🟡 -0.5% [-23.1, +1.9] 2.6x
any 34.9ms 35.4ms 🟡 +1.5% [-3.0, +5.6] 1.4x
array 28.7ms 28.7ms 🟡 -0.1% [-2.3, +0.8] 2.5x
atomic 16.3ms 16.9ms 🟡 +3.6% [+1.2, +9.1] 4.6x
bit 46.1ms 46.9ms 🟡 +1.8% [+0.4, +4.1] 3.5x
cassert 16.1ms 17.3ms 🟡 +7.2% [+4.7, +11.4] 1.1x
cctype 18.6ms 19.9ms 🟡 +6.5% [+3.5, +8.7] 1.1x
cerrno 21.8ms 20.4ms 🟡 -6.4% [-31.9, -4.8] 1.1x
cfenv 15.3ms 16.1ms 🟡 +5.0% [-19.3, +10.1] 1.0x
cfloat 14.5ms 14.6ms 🟡 +1.2% [-2.1, +5.7] 1.1x
chrono 32.8ms 32.4ms 🟡 -1.1% [-3.4, +0.9] 26.3x
cinttypes 20.8ms 20.4ms 🟡 -2.0% [-5.4, -0.1] 1.1x
ciso646 14.6ms 14.5ms 🟡 -0.9% [-4.2, +2.9] 1.1x
climits 15.0ms 15.6ms 🟡 +4.1% [-0.6, +7.0] 1.1x
clocale 18.2ms 18.2ms 🟡 -0.2% [-4.2, +1.3] 1.0x
cmath 42.9ms 43.6ms 🟡 +1.7% [-2.4, +6.1] 3.9x
compare 21.8ms 21.8ms 🟡 -0.1% [-11.0, +1.0] 1.7x
complex 47.3ms 46.3ms 🟡 -2.1% [-4.0, +1.3] 8.8x
concepts 25.5ms 24.0ms 🟡 -6.0% [-8.1, -2.7] 1.2x
condition_variable 34.0ms 31.7ms 🟡 -6.8% [-8.4, -2.6] 29.3x
cstdarg 18.9ms 17.8ms 🟡 -5.9% [-7.5, -3.3] 1.1x
cstddef 18.9ms 18.1ms 🟡 -4.3% [-6.3, -3.5] 1.0x
cstdint 15.0ms 14.2ms 🟡 -4.8% [-8.3, +4.9] 1.1x
cstdio 21.3ms 21.4ms 🟡 +0.5% [-0.9, +3.2] 1.1x
cstdlib 21.5ms 21.4ms 🟡 -0.5% [-1.7, +4.9] 1.1x
cstring 19.2ms 18.6ms 🟡 -2.6% [-5.6, +1.4] 1.0x
ctime 18.9ms 19.2ms 🟡 +1.2% [-1.8, +3.1] 1.1x
cwchar 18.3ms 17.9ms 🟡 -1.9% [-3.2, -0.3] 1.1x
deque 52.5ms 53.9ms 🟡 +2.6% [+0.7, +3.0] 3.4x
exception 16.9ms 18.7ms 🟡 +10.7% [+4.7, +12.6] 1.8x
filesystem 184.8ms 189.4ms 🟡 +2.5% [-23.7, +4.8] 3.9x
forward_list 34.2ms 34.0ms 🟡 -0.6% [-2.7, +1.3] 4.3x
fstream 104.3ms 104.9ms 🟡 +0.5% [-0.8, +2.1] 3.0x
functional 28.4ms 27.4ms 🟡 -3.8% [-4.7, -0.5] 8.8x
initializer_list 15.9ms 16.0ms 🟡 +0.6% [-2.3, +3.2] 1.1x
iomanip 119.0ms 117.3ms 🟡 -1.4% [-3.1, -0.9] 2.9x
ios 67.3ms 66.7ms 🟡 -0.8% [-3.7, +3.4] 4.0x
iosfwd 114.5ms 110.9ms 🟡 -3.2% [-4.2, +0.9] 2.8x
iostream 122.9ms 124.0ms 🟡 +0.9% [-1.0, +2.3] 2.5x
istream 111.5ms 114.6ms 🟡 +2.7% [+0.8, +4.7] 2.9x
iterator 50.0ms 48.7ms 🟡 -2.6% [-4.9, +1.0] 6.4x
limits 24.1ms 23.0ms 🟡 -4.8% [-8.8, -2.6] 1.1x
list 37.3ms 36.3ms 🟡 -2.8% [-3.9, +0.1] 4.1x
locale 133.4ms 134.5ms 🟡 +0.8% [-3.6, +5.0] 2.8x
map 75.8ms 72.7ms 🟡 -4.1% [-7.9, -2.8] 2.8x
memory 105.3ms 106.1ms 🟡 +0.8% [-0.7, +1.9] 4.5x
mutex 15.6ms 15.2ms 🟡 -2.3% [-5.0, -0.2] 9.7x
new 16.3ms 15.8ms 🟡 -3.1% [-9.2, +2.8] 1.1x
numeric 24.8ms 24.9ms 🟡 +0.1% [-1.6, +1.3] 2.5x
optional 33.6ms 32.4ms 🟡 -3.3% [-5.4, -2.4] 2.1x
ostream 138.9ms 134.4ms 🟡 -3.2% [-4.3, -2.5] 2.7x
random 98.8ms 101.4ms 🟡 +2.6% [-3.5, +4.1] 5.0x
ranges 50.8ms 51.2ms 🟡 +0.7% [-0.8, +2.8] 8.5x
rapidjson 237.6ms 240.1ms 🟡 +1.0% [-1.9, +2.0] 2.3x
rapidjson/dom 339.5ms 337.2ms 🟡 -0.7% [-10.6, +0.7] 2.0x
rapidjson/parse 267.2ms 267.3ms 🟡 +0.0% [-2.7, +2.3] 2.2x
rapidjson/write 374.3ms 380.7ms 🟡 +1.7% [+0.5, +4.6] 1.8x
ratio 20.3ms 21.1ms 🟡 +4.3% [+0.5, +6.5] 1.5x
regex 106.7ms 110.7ms 🟡 +3.7% [-0.1, +5.2] 17.2x
sstream 121.9ms 125.7ms 🟡 +3.2% [-0.3, +6.1] 2.6x
stack 49.3ms 51.3ms 🟡 +4.2% [+2.7, +7.0] 3.8x
stdexcept 77.6ms 79.5ms 🟡 +2.5% [+0.2, +3.7] 3.2x
streambuf 114.6ms 117.0ms 🟡 +2.1% [-3.1, +2.5] 2.7x
string 70.7ms 70.8ms 🟡 +0.2% [-2.0, +3.2] 3.5x
string_view 50.5ms 50.5ms 🟡 +0.0% [-4.1, +3.6] 2.7x
system_error 92.8ms 91.9ms 🟡 -1.0% [-2.6, +0.3] 3.0x
thread 31.9ms 31.9ms 🟡 -0.3% [-3.5, +0.8] 12.4x
tuple 71.0ms 70.5ms 🟡 -0.7% [-11.4, +1.4] 2.9x
type_traits 19.0ms 19.4ms 🟡 +2.3% [-1.0, +3.3] 1.4x
typeinfo 16.4ms 15.4ms 🟡 -5.6% [-9.4, -2.4] 1.2x
unordered_set 50.9ms 48.8ms 🟡 -4.1% [-4.8, -2.1] 4.6x
utility 22.3ms 21.2ms 🟡 -5.3% [-7.9, -0.8] 2.2x
valarray 22.2ms 22.9ms 🟡 +3.1% [+0.7, +5.1] 12.8x
variant 142.4ms 140.5ms 🟡 -1.3% [-3.3, +1.9] 3.6x
vector 49.2ms 47.0ms 🟡 -4.4% [-5.3, -3.2] 4.0x
version 13.4ms 11.4ms 🟡 -15.0% [-17.4, -13.0] 1.2x
wordcounter 196.4ms 194.9ms 🟡 -0.8% [-2.0, +0.5] 3.3x

Reproduce this on your machine: scripts/compare_performance.py --reps 5 g++ origin/main

@github-actions

Copy link
Copy Markdown

Sanitizer diff (ASan/UBSan)

🔴 2 header(s) regressed, 🟢 2 header(s) improved.

header before after Δ
algorithm 6/25 2/25 🔴 -4
vector 18/25 17/25 🔴 -1
cassert 2/9 3/9 🟢 +1
cstdlib 2/9 3/9 🟢 +1
59 header(s) unchanged
header passes/sampled
any 2/18
array 16/25
atomic 3/25
cctype 2/5
cerrno 3/25
cfloat 3/25
chrono 0/25
ciso646 3/25
climits 11/25
clocale 3/25
cmath 1/12
compare 1/14
complex 9/25
concepts 1/25
csignal 3/25
cstddef 13/21
cstdint 3/5
cstdio 3/25
cstring 2/5
ctime 3/25
cwchar 3/25
deque 15/25
exception 9/21
forward_list 4/25
fstream 2/25
functional 4/25
initializer_list 0/0
iomanip 5/25
iostream 0/1
istream 0/25
iterator 5/25
limits 24/25
list 3/25
map 6/25
memory 4/25
mutex 4/25
new 5/25
numeric 0/25
optional 6/25
ostream 15/25
random 1/25
ranges 0/25
ratio 7/13
regex 1/25
set 0/25
sstream 4/25
stack 9/25
stdexcept 9/9
streambuf 15/25
string 1/25
string_view 4/25
thread 0/25
tuple 3/25
type_traits 13/25
typeinfo 1/5
unordered_map 6/25
unordered_set 4/25
utility 4/25
valarray 0/25

@github-actions

Copy link
Copy Markdown

Compliance diff

🔴 2 header(s) regressed, 🟢 2 header(s) improved.

header before after Δ
algorithm 7/40 3/40 🔴 -4
vector 29/40 28/40 🔴 -1
cassert 2/9 3/9 🟢 +1
cstdlib 2/9 3/9 🟢 +1
59 header(s) unchanged
header passes/sampled
any 2/18
array 26/40
atomic 4/40
cctype 2/5
cerrno 4/29
cfloat 4/29
chrono 1/40
ciso646 4/29
climits 15/40
clocale 4/29
cmath 1/12
compare 1/14
complex 14/40
concepts 1/35
csignal 4/29
cstddef 13/21
cstdint 3/5
cstdio 4/29
cstring 2/5
ctime 4/29
cwchar 4/29
deque 27/40
exception 9/21
forward_list 7/40
fstream 3/40
functional 4/40
initializer_list 0/0
iomanip 9/40
iostream 0/1
istream 5/40
iterator 7/40
limits 36/37
list 4/40
map 11/40
memory 7/40
mutex 4/40
new 16/40
numeric 1/40
optional 9/40
ostream 23/40
random 1/40
ranges 0/40
ratio 7/13
regex 3/40
set 1/40
sstream 5/40
stack 16/36
stdexcept 9/9
streambuf 24/37
string 2/40
string_view 5/40
thread 1/40
tuple 5/40
type_traits 19/40
typeinfo 1/5
unordered_map 6/40
unordered_set 6/40
utility 5/40
valarray 1/40

@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown

simdutf build-time diff (compile / run tests)

Compiler: c++ (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0.

simdutf build time with psychicstd, main vs this PR (same runner). 🟢 faster · 🔴 slower · 🟡 within noise. A change is colored only when its bootstrap 95% CI excludes 0 and it clears ±5% / 3ms. vs system is this PR's speedup over system libstdc++, for context -- a regression is less alarming if psychicstd is still far ahead. Median system-time drift (noise proxy): 0.4%.

No significant changes (🟡 2 within noise).

🟡 2 benchmark(s) within noise
benchmark main PR Δ (95% CI) vs system
compile 18314.1ms 18359.0ms 🟡 +0.2% [+0.1, +0.3] 2.1x
run tests 42494.5ms 42458.4ms 🟡 -0.1% [-0.5, +0.7] 1.0x

Reproduce this on your machine: scripts/compare_realworld.py simdutf --build-type debug --reps 3

27 headers had no test_*.cpp: bit, cassert, cctype, cerrno, cfenv,
cfloat, cinttypes, ciso646, climits, clocale, cmath,
condition_variable, csignal, cstdarg, cstdio, cstdlib, cstring,
ctime, cwchar, iosfwd, locale, ostream, queue, streambuf,
system_error, typeindex, version.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant