Open franz1981 opened 3 weeks ago
1) I was thinking of using parallel.
2) We cannot set cpu-set as the number of cores associated with the GitHub agent is not fixed
3) I always do it to have the same value, which may be good or bad for all variants.
4) I do not compute the startup time. That's where we need specific infrastructure, as hammering the service will just overload the OS queues and report wrong numbers.
- We cannot set cpu-set as the number of cores associated with the GitHub agent is not fixed
So let's go with one core and accept the JIT slowness. The different number of cores affect how much spare cpu cycles can be used to handle GC (unless SerialGC is used, really) because the same cpus will be shared for both application, GC and JIT tasks. Said that, it should affect the numbers, but not the "trends" i.e. a framework which is slow to start because allocate too much, use reflection or just perform wasteless work will just become slower, especially relatively to another which does all the other things right (guess who? ihih)
- I always do it to have the same value, which may be good or bad for all variants.
Without AlwaysPretouch, the actual heap used depends too much by the GC - and the RSS by consequence. My suggestion is to limit the heap size AND use AlwaysPretouch, sizing it to match the minimum heap required to run decently the cheaper framework e.g. test quarkus with X MB max heap AND AlwaysPretouch and observe the minimum value which doesn't affect the load, than use that value for the other framework - and have fun :D
- I do not compute the startup time. That's where we need specific infrastructure, as hammering the service will just overload the OS queues and report wrong numbers.
:+1:
There are few things which can affect the reliability of measures here: