3 ms·
> Cassandra (https://scylladb.com https://scylladb.com) and Kafka (https://vectorized.io https://vectorized.io) have already been rewritten once in C++, with ma
by StreamBright 6y ago
> Cassandra (https://scylladb.com https://scylladb.com) and Kafka (https://vectorized.io https://vectorized.io) have already been rewritten once in C++, with massive latency and throughput improvements.
It is not a single dimension problem as they try to frame it. Performance is a single dimension of systems. Java with GC is a memory safe solution compare to C++ (hello segmentation faults). The reason why the C++ implementation is faster is not that it is written in C++ but it is written using a different approach. There are plenty of Java HFT systems that run circles around C++ systems yet we cannot draw a conclusion that Java is better suited than C++ for HFT. Implementation details matter, code quality matters and performance does not come purely because you pick a particular programming language. Btw. most of the systems which I was working on using Cassandra instead of ScyllaDB because the companies were not ok switch up for some performance gains (because Cassandra was performant enough for their business use case). I think what you receive as superiority is not as clear cut as you try to make it.