Most likely none.
The most likely bugs you'll encounter are due to Fil-C using musl, not glibc (that always leads to some incompatibilities for GNU code).
> Are you subsetting the language
No.
> or do those libraries/applications run into some "benign" UB under normal operation that is caught by Fil-C?
Sometimes, but rarely.
source https://github.com/pizlonator/llvm-project-deluge/blob/delug...
$ hyperfine "LC_ALL=C sort < subtitles2018.en" "LC_ALL=C gsort < subtitles2018.en"
Benchmark 1: LC_ALL=C sort < subtitles2018.en
Time (mean ± σ): 2.007 s ± 0.005 s [User: 1.940 s, System: 0.064 s]
Range (min … max): 1.997 s … 2.015 s 10 runs
Benchmark 2: LC_ALL=C gsort < subtitles2018.en
Time (mean ± σ): 898.5 ms ± 9.7 ms [User: 2795.8 ms, System: 93.6 ms]
Range (min … max): 875.0 ms … 906.9 ms 10 runs
Summary
LC_ALL=C gsort < subtitles2018.en ran
2.23 ± 0.02 times faster than LC_ALL=C sort < subtitles2018.en
Info about the tools: $ which sort
/usr/bin/sort
$ which gsort
/opt/homebrew/bin/gsort
$ brew info coreutils | head -n3
==> coreutils: stable 9.6 (bottled), HEAD
GNU File, Shell, and Text utilities
https://www.gnu.org/software/coreutils/
There are other tools in coreutils for which this applies as well.The GNU tools have overall been pretty heavily optimized. Why do you think they did that if it literally didn't matter? Just for shits & giggles?
You should try that benchmark with sort compiled with Fil-C.
But what you said is (emphasis mine):
> For these tools, you won’t notice.
> None of these tools that they’re oxidizing is compute bound
just blatantly wrong and a >2x difference in perf is absolutely relevant and something I would notice personally. Maybe I'm the only one who likes sorting to be as fast as possible, but I'd guess not.
> You should try that benchmark with sort compiled with Fil-C.
Feel free to post a complete MRE for doing this and I'd be happy to run it.
The interesting question - going back to my original post - is what the Fil-C slow down would be. Just because a program takes 100% CPU doesn't mean it'll experience bad overheads when compiled with Fil-C.
I don't know what you mean by "complete MRE". You can download the Fil-C binaries and point coreutils' configure script at the compiler and see what happens. It's not hard.
I showed you in my original comment. Both are C. One is the `sort` that comes with macOS, as shown at `/usr/bin/sort`, and the other is from GNU coreutils.
> Also, it's just one benchmark of sort, so for all we know the two sort implementations really have the same perf if you test a broader set of cases.
Sure, you're welcome to come up with a more comprehensive benchmark suite to support YOUR claim that tools like `sort` are not "compute bound" and you won't "notice" a difference in speed. I agree that 1 benchmark is insufficient to make generalized claims about performance. But it is very obviously better than 0 benchmarks (which is the number you have provided to support your claim).
See also: https://en.wikipedia.org/wiki/Burden_of_proof_(philosophy)
In the interest of over-communicating, please note the qualification I gave originally: for files cached in RAM.
> I don't know what you mean by "complete MRE". You can download the Fil-C binaries and point coreutils' configure script at the compiler and see what happens. It's not hard.
Cool, then you should be able to show me a transcript of the precise commands necessary to do this very easily!