4 ms·
> manually managing object pools to remove most of the GC overhead, but then you're essentially back to manually managing memory using compile-time lifetime dec
by kaba0 4y ago
> manually managing object pools to remove most of the GC overhead, but then you're essentially back to manually managing memory using compile-time lifetime decisions.
But those very firms will use ordinary normal Java for the initialization part and only switch to the more restricted “manual memory managed” Java on the hot loop — you are still much more ahead in productivity/manageability. Especially that it is not rare at all to just manage a huge ByteBuffer from Java - for indexing that’s what I would use with some sane abstraction over.
Oh and mind you, in case of low-lat trading where Java is not sufficient, nor is C++ -> the next step is ASICs.