Quant development: Is it possible to achieve Java zero GC garbage collection? How?
Zero GC is of course possible if you allocate objects only on start up, do not use 3rd party libraries and use JNI in case if you need to replace some “standard” libraries which are for sure allocates garbage (I think all Sun’s native libraries (io, nio) allocate that garbage). Agree
GC is not the only source of unpredictable latencies in Java application. There are other ones (at least in non RT OSes like regular Linux):
A. Default process scheduler which favors RT, SCHED_FIFO, SCHED_RR and not SCHED_OTHER (which is default for Java)B. Occasional Hardware interrupts that of course have a higher priority than you precious Java threadC. Intel HT creates excessive cache contentionB. Some BIOS default features which needs to be disabled: Processor C-StatesD. Java process page faults (occasional)E. Lack of thread affinity support in Java which results in a poor cache reuse (thread can be rescheduled to another CPU core)
It is just for starter. I am not even talking about Net and File I/O yet.
This was a comment from Vladimir RodionovFACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!