Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Ticket:

Ältere Jira-Version
serverlevigo support center
serverIde7bd8855-4760-3626-9b6c-97655131f036
keyDOCPV-2852
 

...

  • Throughput: operations per unit of time [Runs by continuously calling Benchmark methods,
         * counting the total throughput over all worker threads. This mode is time-based, and it will
         * run until the iteration time expires]
  • AverageTime: average time per operation [Runs by continuously calling Benchmark methods,
         * counting the average time to call over all worker threads. This is the inverse of Mode#Throughput,
         * but with different aggregation policy. This mode is time-based, and it will run until the iteration time
         * expires.]
  • SampleTime: samples the time for each operation [Runs by continuously calling Benchmark methods,
         * and randomly samples the time needed for the call. This mode automatically adjusts the sampling
         * frequency, but may omit some pauses which missed the sampling measurement. This mode is time-based, and it will
         * run until the iteration time expires.]
  • SingleShotTime: measures the time for a single operation [Runs by calling Benchmark once and measuring its time.

    * This mode is useful to estimate the "cold" performance when you don't want to hide the warmup invocations, or * if you want to see the progress from call to call, or you want to record every single sample. This mode is * work-based, and will run only for a single invocation of {@link Benchmark} * method.]

Memory:

  • Heap memory:  is the storage for Java objects.
  • Non-heap memory: is used by Java to store loaded classes and other meta-data.
  • The allocated memory is an overall amount of memory allocated by the JVM, while used memory is the amount of memory which is actually in use.

Ergebnisse:


– das beste Ergebnis

 – das schlechteste Ergebnis

– das beste Ergebnis mit Marlin

05_square-annot-and-page-rotation.pdf (8 pages)

...

Die Beschreibung der verschiedenen Typen des GCs: https://javapapers.com/java/types-of-java-garbage-collectors/ 

Parallel GC throughput GC. It works by freezing all the application threads while performing GC (multiple threads)

Serial GC - Good for the single-threaded environments. It works by freezing all the application threads while performing GC (Unlike Parallel GC, it uses a single thread)

CMS GC [Concurrent Mark Sweep] - uses multiple threads to scan the heap memory to mark instances for eviction and then sweep the marked instances. In comparison with parallel GC, CMS uses more CPU to ensure better application throughtput. If you can allocate more CPU for better performance then CMS garbage collector is the preferred choice over the parallel collector.

G1 GC for large heap memory areas. It separates the heap memory into regions and does collection within them in parallel.


testdoc_rendering_pixel.png (1 page) - verschidene GC

...

Theorie: If you can allocate more CPU for better performance then CMS garbage collector is the preferred choice over the parallel collector. 

Tools:

JMH Benchmarks (Java Microbenchmark Harness)

Yourkit

Visualisator JMH Benchmarks https://jmh.morethan.io/

...