Seems the speed it really declines with the size of the inserted documents. My production data is a hash with 14-15 keys and string/int values of maybe 10 characters each
Ah, I see. This is a known problem with the performance of the protobuf serialization library we're using in the Ruby driver (see https://github.com/rethinkdb/rethinkdb/issues/897). It bottlenecks the CPU and should be fixed in the next release.
In the meantime, you could try running a multithreaded/multiprocess script -- that would significantly increase throughput.
When I loop and keep generating these documents:
I get around 140/s. Without the insert() call, I reach 50.000+, so it doesn't seem to be the overhead.With simple documents (3 keys, int values) I reach 350-400.
p.s. script @ https://gist.github.com/rb2k/5777997