4 ms·
Automatic memory management (especially with a garbage collector) is antithetical to high performance. The LMAX Disruptor pattern would like to have a word wit
by sillysaurus2 13y ago
Automatic memory management (especially with a garbage collector) is antithetical to high performance.
The LMAX Disruptor pattern would like to have a word with you.
http://lmax-exchange.github.io/disruptor/ http://lmax-exchange.github.io/disruptor/
http://martinfowler.com/articles/lmax.html http://martinfowler.com/articles/lmax.html
http://stackoverflow.com/questions/6559308/how-does-lmaxs-disruptor-pattern-work http://stackoverflow.com/questions/6559308/how-does-lmaxs-di...
I'm not just namechecking the Disruptor pattern. I have extensive experience with it. It's about 10% slower than what could be achieved with C -- which is to say, the benefits of not having to program in C far outweigh the 10% loss of performance. And its performance is almost always far higher than what's needed, i.e. the bottlenecks are elsewhere.
I strongly disagree that Boost really adds "so much complexity"
We'll have to agree to disagree, I think. Importing Boost is often a sign that something is awry with the design goals of the project. Either the choice of language is wrong, or the project is too ambitious. Though there are some aspects of Boost that are pretty good, such as its unit testing framework.
if you seriously need shared_ptr, your code design is probably just Not Very Good.
This I fully agree with.
- haberman 13y ago> It's about 10% slower than what could be achieved with C What does that even mean? Are you saying that you have a proof of the theoretically fastest C program that would implement the same functionality and it's 10% slower than that? Does the C you're comparing it against use the Disruptor pattern too? Or is this just a comparison against a naive, single-threaded C program? How does that number vary with the overall heap size of the program? Numbers like this get thrown around that strike me as incredibly dubious.