Since I do not know your purpose in this, I can't help you to shorten the pubs.
Regardless, 20 million priv keys and corresponding pubkeys should only take up about 2.5Gb in storage space.
The purpose is to make precomputed tables , nothing else. 😁 . Uncompressed pubkeys are fine since i found that it would be beneficial to store them as hash only which eventually will save space too and private keys can be found later by index. No need to save them. I learned it from jean Bsgs Code. It uses 25 bits to save the baby steps. And i think its same as sequential pubkeys if the sole purpose is for making a hash table.
But still i didnt get any idea of how the 15 billion per min speed can be achieved.