Re:Making Rust as Fast as Go
by steveklabnik on Sunday May 03, 2020 @10:13AM
(#23059097)
The problem with this is that not every system makes their system call ABI stable. You have two choices here: use the interface that is stable (which is libc), or track changes and fix things up when they break.
[ Parent
| on HN ]
The only stable interface on Windows are the documented functions from kernel32.dll, user32.dll etc. Libc is a compatibility layer above that, that Microsoft invents a new incompatible distribution mechanism for every 3-5 years. It’s pure DLL hell unfortunately.
Edit: Not even the DLL name of Microsoft’s libc is stable (msvcrt140.dll etc.), leading to all kinds of wild goose chases when trying to run old binaries.
Re:Making Rust as Fast as Go
by steveklabnik on Sunday May 03, 2020 @10:39AM
(#23059266)
Yes, I was being imprecise wrt Windows, thanks :)
Yeah, I saw your username too late or I would have known that you know that. ;) But it’s a common misunderstanding among many Unix programmers, so I feel it was good to clarify.
Re:Making Rust as Fast as Go
by steveklabnik on Sunday May 03, 2020 @10:57AM
(#23059368)
Nah I think it's helpful! Comments are read by a lot more folks than just the person you're replying to. I knew it wasn't exactly libc but I didn't know the full hierarchy involved.