This is running on an AMD EPYC 7543 CPU, which has 32 cores that can each cycle 2,794,750,000 times per second. It's running with 3 threads (if I understand correctly), so as a rough estimate it's doing one insert every 500,000 CPU cycles (2,794,750,000 * 3 / 15000).
Pretty sure cpu is not a limiting factor here
15 per millisecond sounds horrible.. and it looks like it is actually using 3 threads so its even worse..
It's not enormous, but it's good for the simplicity and would probably be sufficient for quite a number of use cases. And I'd guess that it's also probably more than what many programmers get by Lego stacking 14 different abstractions.