Large lst files and their convertion to crd is too slow when many shots are present, i.e., when the UO and UOx peaks are measured along U peaks. This is a problem when blinking.
Underlying problem:
Conversion is implemented in python and needs a lot of string operations, which cannot be jit compiled.
Anticipated solution:
Turn rimseval into a mixed python/rust package using Maturin and implement the lst2crd class in Rust. File conversion and tagged-spectra conversion can then be implemented in Rust for speedup.
Large
lstfiles and their convertion tocrdis too slow when many shots are present, i.e., when the UO and UOx peaks are measured along U peaks. This is a problem when blinking.Underlying problem:
Conversion is implemented in python and needs a lot of string operations, which cannot be jit compiled.
Anticipated solution:
Turn
rimsevalinto a mixed python/rust package using Maturin and implement thelst2crdclass in Rust. File conversion and tagged-spectra conversion can then be implemented in Rust for speedup.