News for hackers. Stuff that matters.
Re:Leveraging Rust in our high-performance Java database by ilikerashers on Wednesday September 20, 2023 @08:46AM (#37583464)
I remember reading that the founder was working in low-latency Java development with London investment banks for years. I guess it's what he knew.

Also, Rust is a hard language to start a company with so I wouldn't be surprised if this is more of a product maturity thing.

Re:Leveraging Rust in our high-performance Java database by skippyboxedhero on Wednesday September 20, 2023 @12:02PM (#37585861)
Surely it is at least as hard to find people who know how to write Java without GC?

Presumably you can't use Hotspot so you have to write your own VM too?

Re:Leveraging Rust in our high-performance Java database by nhourcard on Wednesday September 20, 2023 @12:05PM (#37585921)
Folks with a background in electronic trading (FX, hedge funds, trading firms etc) are familiar with zero-gc Java. London / NY / HK are a good pool of talent in that respect
Re:Leveraging Rust in our high-performance Java database by skippyboxedhero on Wednesday September 20, 2023 @12:25PM (#37586190)
Yep, I ended up checking their code base. I know a little bit of Java but didn't realise that sun.misc.Unsafe existed, so it does actually look fairly straightforward to create code outside of GC (for anyone reading questdb/std/Unsafe.java seems to be where some allocations are handled). A pain I am sure, but way more manageable than I thought.
Re:Leveraging Rust in our high-performance Java database by Alupis on Wednesday September 20, 2023 @05:52PM (#37590711)
It's not necessarily outside of GC, it's that they make great efforts to avoid GC. Such as instantiating all objects at startup and holding references to avoid GC, never using new keyword, avoiding objects in favor of primitives, avoid exceptions, etc.

These systems often restart or do a full "stop the world" GC once per day.

The system is quite different than what most are used to, especially during a trend towards increasingly Functional styles with immutability as a default, etc.

Peter Lawrey[1] has some great posts/talks about his experiences in HFT.

[1] https://github.com/peter-lawrey