What to use for my next benchmark client -- python, jython, golang, pure-Java? Linkbench is Java, insert benchmark is Python. Python has too much CPU overhead, Java can be too verbose, I don't know golang. The benchmark client must access MongoDB, MySQL, Postgres.
Conversation
I enjoy Python but if the workaround for the Python CPU overhead is to write the slow bits in C, then I will pass on it.
1
1
pypy helps sometimes with the CPU overhead but AFAIK pypy3 is "install from source" on Amazon Linux 2 (I see a pattern there) and maybe I have to worry about pure-Python drivers which I don't use by default.
1
jython likely means using Java database connectors, which tend to be well supported, but jython is still Python2
1
golang means I have to learn golang, which isn't a bad thing
3
2
Replying to
I'd personally use rust just because I want to have an excuse for actually using it for something...
2
2
Probably personally would use C++ before going for golang, but I see why many wouldn't.
1
Replying to
Relearning (enough) modern C++ might take more time than learning (enough) golang
1
golang has a standard DB API, which seems like it might be a decisive advantage here. (Though I don't know anything about the specifics.)


