Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

So Java is nearly as low-latency as C if you're willing to write your Java as if it were C?


It can be done. It is just not very practical, you are better off writing C.

The only situation I can think of where Java would be right fit is where you have an application with a lot of logic and just a small part that needs to be highly optimized.


Most trading systems I work on only need a very small portion to be highly optimised. As long as most of the code is pretty efficient that is fine.


Real programmers can write FORTRAN in any language.


No. Java is not low-latency by any stretch. Java advocates would like to think it is, until a Bank, like BoA spends $8 million on Java in 2014, just to have it fail compliance testing. Entire project was scrapped.



250ms is not real-time, nor high frequency.


Please, get informed on what real-time is before you comment (in general it is good idea to understand a concept before you place confident comments like yours).

https://en.wikipedia.org/wiki/Real-time_computing

Real-time has nothing to do with performance and everything to do with predictability and deadlines.

People are put off when they find out that real time versions of Java or Linux are actually slower than the regular ones. Until you think about it a little bit and if they were faster there would not be multiple versions.

Real-time versions of products are created because sometimes performance is achieved by means of stochastic processes or amortizing costs and you need to remove these optimizations to be able to support deadlines.

Real-time programming emphasizes ability to calculate how long an operation will take as more valuable than raw performance.


250ms could easily be real time in the context of a given system.

Real time doesn't (necessarily) mean fast, it means the latency is bounded.


It might not be high frequency, but it certainly is real-time, unless you are implying that the agencies that give this kind of government certifications are all a bunch of fools.


Doesn't real time just mean that you can guarantee to react within certain time limits? In principle, those time limits could be hours or days..


Yes, but those limits are part of certification processes like those done by companies like https://www.highintegritysystems.com.

Usually playing with numbers in these kind of deployments isn't part of the package.


The trading systems we work on have a wire-to-wire latency of 20 - 50 microseconds on the 99.9%ile. It really depends on what you are looking to achieve.


I think this may not due to programming language, but beyond that.


You're really just paying for the jvm overhead at that point. 20-30% seems in the right ballpark.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: