Speaker
Description
A 20-year-old codebase, an ancient and inefficient dependency, a weakness tangled up in 1.5 million lines of code, and the proper tools to finally restore order and performance.
The Mantid project is an international software collaboration to create a program suite for every need in neutron scattering data reduction workflows, first begun in 2007. Since that time, it has relied on the API released by the NeXus International Advisory Committee for reading neutron scattering data files. Multiple code audits showed Mantid had severe performance deficiencies in data loading. Users frequently complained about load times. However, data loading was at the heart of literally every workflow performed in Mantid. How can a central, legacy operation be replaced, when it has the potential to break any and every workflow?
This will discuss the strangler pattern for legacy system updating, and how to properly make use of it when attempting to refactor old, venerable, yet outdated code dependencies.