External tools/FITS performance

From Archivematica
< External tools
Revision as of 13:13, 22 August 2013 by Mdemeo (talk | contribs) (Began work on JVM startup lag)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

JVM startup lag

A significant part of FITS's startup is spent instantiating the JVM, which is relatively slow. To speed this up, it may be possible to use the nailgun tool, which creates a single shared JVM instance that a tool can connect to, thus bypassing the overhead of needing to start up a JVM every time FITS is run.

A simple test of FITS's startup time was performed using the `fits -h` help command; since the help command performs no actual characterization, most of the time of running this command is spent creating a JVM. Results:

  • Average time without a persistent JVM, averaged over 10 iterations: 4.2852s
  • Average time with a persistent Nailgun JVM, averaged over 10 iterations: 1.7022s