To add to this, I think nowadays even C++ is too slow for some stuff. Many places use FPGAs
Some neat tricks people have done is to actually process packet bytes in order as they come in on the FPGA, and if it has some actionable header they just send an action before the entire trade packet is received. With that you can go down into the few ns for your w2w latency.
The system programming languages (C / C++ / Rust) will always have more overhead than FPGAs.
A microsecond is fast for C++. It’s like an eternity for an FPGA.