Honestly if you're a millisecond too slow you might as well not trade at all. From my own experience with trying to get Python to go fast for crypto trading, you can get it pretty fast using Cython - single digit microseconds on an average AWS instance for a simple linear regression was my proudest moment. They're probably pushing it even faster because nanoseconds are where the money's at. Many HFT firms are down in the double digit nanoseconds, I believe. Maybe lower.
For reference, a byte at 10gbps is almost 1ns long.
Though the encoder runs 64/66bits at a time, so you really get around 8B every 7ns or so.
For crypto you pay the miners to put your transaction first. You don't need millisecond precission reaction time.
Crypto trading takes place on exchanges, not the blockchain though?
In crypto, you have centralised (e.g. Coinbase) and decentralised exchanges (e.g. Uniswap). Decentralised exchanges operate onchain via smart contracts.
This article from a16z explains the mechanics of reordering transactions for profit (MEV): https://a16zcrypto.com/posts/article/mev-explained/