Today I found that the Blood 'n Bones modpack description says
"Because Hardcore just isn't Hardcore enough. This pack is not for the casual player. Warning! This pack does not support adding/removing mods. Adding mods will break progression, removing mods will break recipe changes. Recommended JVM Arguments: -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CICompilerCountPerCPU -XX:+TieredCompilation"
so I've added that to my FTB launcher java arguments list as well... even tho I have absolutely no idea what they do or if they'll help outside of the BnB environment.
They are actually added into the options of the launcher as well(it is what the Fast computer option do). Was never announce anywhere but the BnB thread afaik.
But personally I only saw a performance decrease when trying them with Monster.
The first two -- garbage collection flags -- say to use the CMS collector instead of the default collector. When the default collector needs to do garbage collection, it stops the game completely, and cleans up. This has the lowest overhead, but it gives lags. My worst-case collection lag was over 90 seconds; 3-5 seconds is typical.
CMS avoids this by having the full collections run in parallel with the game, and starts them before they are needed. The result is more overhead, but no lag. Additionally, CMS is threaded, and can use your extra cores.
If you have leftover CPU when running minecraft, and sitting still, then you probably will benefit from CMS -- that extra CPU is spent on the cleanup without bothering the game.
If you do not have leftover CPU, then you will see slightly worse performance, but no massive lag spikes -- so smoother, but worse, performance.
If you only have one or two cores (real or virtual), you probably want an additional flag that tells CMS to break it's work into smaller pieces, to give more time to the main application.
===
The other two flags -- the compiler flags -- I don't know enough about. As a quick approximation, they say to spend more time doing a better job of compiling.
Again, if you have spare CPU, this means use that to make the compiled code better -- so that the game will get faster as you play longer. But if you have spare CPU, it's questionable if you need that.
If you don't have spare CPU, or if you cannot keep up with 20 TPS when you start, then this will slow down the early game even more -- but as more and more of the code gets better compilation, your TPS will go up, and it may be able to keep up with 20 TPS as you play longer.