Java has several GC options that wont stop the world and ones that are super low latency as well as ones that are time constant (takes the same time to freeup a 100 TB heap as it does a 1KB heap)..
It is quite extrodinary how performant the Java GC is, out of all the memory managed languages it is probably the most efficient, if you know how to use it.
@icedquinn do you have real world java code and some sort of diagnostic showing your GC problem? I can probably help you fix it if so. If you are already calling System.GC() as you wanted (though probably dont need to) then your issue is likely either in your choice of GC algorithm or its configuration.
Did you read what I said... as I said you can do that... you just have no need to stop and restart the health check. Though you can if you really want to for some reason.
System.gc(), call it when you have downtime, you now just accomplished what you wanted.
Nah, usually the problem is the coders are just clueless as to how to properly work with the GC. Its very common to have shitty coders when it comes to performance issues.
I have heard that claim many times... every single time when I investigated it wasnt true and came down to user error (or a lack of understanding in the mechanics of the GC)... Probably 200 times in my career as the guy consultant people call in to fix other peoples mess.
Pbviously in your case I cant say much more without seeing the code or knowing more of the problem... but not once has the GC ever actually turned out to be the problem in the end.
Java lets you do that.
System.gc()
If you call that it prioritized the GC, except you dont need to stop. you can keep running and the GC will clean up the 8gb heap without needing to stop your program at all (though you are welcome to stop if you have nothign to do and speed up the GC a bit I guess).
@icedquinn If you are worried about momentary latency at moments when latency is super critical then use the Java Real-time specification, JSR1
@icedquinn If you use C and traditional malloc and free calls to allocate memory as needed on a per object basis, it is actually **significantly** slower than Java's GC and memory allocation, for example.
If you use a library to pre-slate your memory and do a few really special stuff (thus removing you from access to malloc directly) you will get speeds comparable to Java at best.
You would have a really hard time beating Java's GC manually.
> they stop the world without telling the process
No not really. The GC doesnt freeze your program, it is smart enough to work within the idle time most of the time. You'd be hard pressed to get the GC to glitch your program or slow things down compared to manually doing it. If you do it manually and do a really good job in almost all situations I you will likely get improvements so minimal you could barely measure it.
@icedquinn Not sure I agree. The whole point of the GC not being explicit is to reduce human error, and it does a good job at that. Java performance compared to many other interpreted languages is exceptional (not so much .net).
You also do have the ability to "suggest" the invocation of garbage collection should you need to add some explicit control to speed things up. but it rarely makes much of a difference.
@collin want to share it, maybe something will stick out to other eyes?
Did a little searching:
https://solargraph.org/guides/configuration
looks like you need to refine the "require" option with your optional paths.
Having similarities to past groups doesnt take away from thr fact that they are distinct from those groups.
If i paint in the style of picasso it doesnt mean i **am** picasso.
Actually hippies started in early 1960s in on haight-ashbury. While it grew out of thr beatnik movement it is distinct from beatniks and earlier groups that may have influenced it.
#Observation is one of the foundations of #science. When observing a new fact, we always compare it with a control, a witness or a standard and every conclusion is relative to our references. Sometimes I think we need to remember that and understand that certain things are #incomparable.
@freemo many years ago, when I was doing repairs, we sometimes had to add wire jumpers onto boards (back in the day when a lot of glue logic was used and that was a way to fix bugs). For this we had to use teflon coated ~28AWG stranded wire and used this tool for stripping https://www.weller-tools.com/eu/gb/precision-tools/products/tweezers/29w30. You would put the wire in the jaws and spin the tweezers around until it pierced the insulation then pulled. I would not use this tool for anything else though ...
@TruthSandwich I am not really all that interested in what he said, not disagreeing or agreeing there. I just find the whole capitalist vs socialist discussion interesting.
Jeffrey Phillips Freeman
Innovator & Entrepreneur in Machine Learning, Evolutionary Computing & Big Data. Avid SCUBA diver, Open-source developer, HAM radio operator, astrophotographer, and anything nerdy.
Born and raised in Philadelphia, PA, USA, currently living in Utrecht, Netherlands, USA, and Thailand. Was also living in Israel, but left.
Pronouns: Sir / Mister
(Above pronouns are not intended to mock, i will respect any persons pronouns and only wish pronouns to show respect be used with me as well. These are called neopronouns, see an example of the word "frog" used as a neopronoun here: http://tinyurl.com/44hhej89 )
A proud member of the Penobscot Native American tribe, as well as a Mayflower passenger descendant. I sometimes post about my genealogical history.
My stance on various issues:
Education: Free to PhD, tax paid
Abortion: Protected, tax paid, limited time-frame
Welfare: Yes, no one should starve
UBI: No, use welfare
Racism: is real
Guns: Shall not be infringed
LGBT+/minorities: Support
Pronouns: Will respect
Trump: Moron, evil
Biden: Senile, racist
Police: ACAB
Drugs: Fully legal, no prescriptions needed
GPG/PGP Fingerprint: 8B23 64CD 2403 6DCB 7531 01D0 052D DA8E 0506 CBCE