Difference between revisions of "External tools/FITS performance"
(Began work on JVM startup lag) |
|||
Line 4: | Line 4: | ||
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: | 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: | ||
+ | |||
+ | == Benchmarks == | ||
* Average time without a persistent JVM, averaged over 10 iterations: 4.2852s | * 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 | * Average time with a persistent Nailgun JVM, averaged over 10 iterations: 1.7022s | ||
+ | |||
+ | = DROID startup = | ||
+ | |||
+ | The other largest component of FITS startup is the DROID component. The official FITS 0.6.2 uses an older version of DROID, which takes approximately a second to load its signature data at startup. [https://github.com/gmcgath/fits-mcgath Gary McGath's fork of FITS] has been updated to use a more modern version of DROID, substantially improving startup time | ||
+ | |||
+ | == Benchmarks == | ||
+ | |||
+ | * Average startup time for FITS 0.6.2 (with Nailgun), averaged over 10 iterations: 1.7022s | ||
+ | * Average time for FITS-McGath 0.7.5 (with Nailgun), over 10 iterations: 0.7526s |
Revision as of 15:41, 22 August 2013
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:
Benchmarks
- 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
DROID startup
The other largest component of FITS startup is the DROID component. The official FITS 0.6.2 uses an older version of DROID, which takes approximately a second to load its signature data at startup. Gary McGath's fork of FITS has been updated to use a more modern version of DROID, substantially improving startup time
Benchmarks
- Average startup time for FITS 0.6.2 (with Nailgun), averaged over 10 iterations: 1.7022s
- Average time for FITS-McGath 0.7.5 (with Nailgun), over 10 iterations: 0.7526s