4 ms·
Java is my main language, but not for those things if I can help it. For network protocols for example, I’m a big fan of Netty. Thanks for answering! I’m sure
by mav3r1ck 9y ago
Java is my main language, but not for those things if I can help it. For network protocols for example, I’m a big fan of Netty.
Thanks for answering!
I’m sure you’re aware of all this and I don’t want to backseat drive/code. It’s just I was on a project once where microsecond latency mattered and it was written in Java, but with a custom String class and custom garbage collection (using a custom object pool instead of relying on JVM’s to avoid any GC halt, which would be intolerable). It was a really fun project tech wise, but at that point, C/C++ would have made wayyyyyy more sense and saved us a lot of headaches.
- pjmlp 9y agoThere are plenty of options available in that domain. https://www.ptc.com/en/products/developer-tools/perc https://www.ptc.com/en/products/developer-tools/perc https://www.aicas.com/cms/en/JamaicaVM https://www.aicas.com/cms/en/JamaicaVM http://www.microej.com/ http://www.microej.com/ https://www-03.ibm.com/software/products/bg/real-time https://www-03.ibm.com/software/products/bg/real-time Then there are the Java variants out of Mountain View, although Android's performance is not in the same league as those ones. This are just the most well known ones, Java is not only the OpenJDK. As for microsecond latency, I guess it matters a lot to the US military. http://www.militaryaerospace.com/articles/2006/10/lockheed-martin-selects-aonix-perc-virtual-machine-for-aegis-weapon-system.html http://www.militaryaerospace.com/articles/2006/10/lockheed-m... "PERC Ultra offered Lockheed Martin the responsiveness it needed to meet its most demanding timing requirements. In addition to real-time threading and deterministic garbage collection, PERC Ultra provided the instrumentation and VM management tools necessary to support the mission-critical real-time requirements of the Aegis Weapon System." "The Lockheed Martin-developed Aegis Weapon System is the sea-based element of the U.S. Ballistic Missile Defense System. The Aegis Weapon System is a radar and missile system integrated with its own command and control system, capable of simultaneous operation defending against advanced air, surface, and subsurface threats."
- touisteur 9y agoErr... Maybe not microsecond latency ? Yes PERC is AOT, and real-time (if you call sched-fifo and preempt_rt on Linux real-time) but consistent microsecond (!) latency on something other than microcontroler/dsp/fpga hardware and with PERC, I'd like to see. My experience says more likely millisecond latency, which is good enough for most radar applications (you'll have dedicated fine-tuned nanosecond-capable hardware for high quality rx / tx anyway)... Edited: but Yes, and they're not the only ones that did radar or embedded software with PERC. There was a time (5-10 years ago ?) it was all the rage...
- pjmlp 9y agoThanks for the clarification. My knowledge is related to papers and articles.
- DannyB2 9y agoYou say you're a big fan of Netty. It's developers probably had to work with bytes in Java.