With MutationStatement.execute turned into a no-op, I only get about 33k insert_prepared ops/s on my laptop. That is: this is an upper bound for our performance if Cassandra were infinitely fast, limited by netty handling the protocol + connections.
This is up from about 13k/s with MS.execute running normally.
~40% overhead from netty seems awfully high to me, especially for insert_prepared where the return value is tiny. (I also used 4-byte column values to minimize that part as well.)