Optimization

Optimization

Nov 24, 2014. | By: Jake Ross

Speeding up the analysis loading process would greatly enhance usablity and the UX.

Many attempts have been made to optimize this process with varying degrees of success. A new branch feature/new_db was created to explore database optimizations that could speed up db queries. Initial testing with a db of ~35k analyses show ~40% increase in speed. These numbers should be verified. The new db migration is tricky so effort should be put into optimization without radical database changes.

From initial testing it appears the major bottle neck occurs when construction the Isotope objects for each analysis; ~50 ms per analysis. It is currently unclear how isotope construction time can be minimized. Traits overhead maybe considerable but it doesn’t seem likely the Traits dependency can be removed.

Low hangin fruit

  • temporally cache irradiation data. When loading multiple analyses use a irradiation cache. Maintaining the cache outside of a session may be necessary as sqlachemy does internal caching. This suggests that little to no performance gain will be achieved by discarding the irradiation cache at the end of make_analyses.
  • optimize the sync process. optimize DBAnalysis.sync. investigate all aspects of the sync process except isotope construction

write a benchmarking module for systematic analysis of the changes and their effect.

Subscribe

Subscribe to this blog via RSS.

Categories

Dvc 1

Database 1

Sample 1

Sample prep 1

Recent Posts

Popular Tags

Dvc (1) Database (1) Sample (1) Sample prep (1)

About

New Mexico Geochronology Research Laboratory (NMGRL) is a world class Ar-Ar geochronology laboratory located at New Mexico Bureau of Geology and Mineral Resources. Pychron Labs, LLC is small scientific software consulting firm specializing in data acquisition and processing noble gas mass spectrometry analyses.

Social Links

Our Bunker

801 Leroy Place
87801, Socorro, NM
United States.