On Fri, 15 Jul 2022, at 18:33, Will Godfrey wrote:
When you say higher CPU cost, can you give a rough
estimate as to how much?
About 3x.
Is it possible to have both versions compiled, and for
a host to switch between
them at runtime?
Yes, that's the way it's designed. The library can run either engine. You pick one
when you construct the stretcher object, and the rest of the API and the way you use it
are identical.
In principle to switch an application from one to the other is simply a matter of adding
"| OptionEngineFiner" to the end of the options list when the existing code
constructs its stretcher. (I say "in principle" because you would want to test
it thoroughly and check that it is actually doing what you expect!)
It is also usually a good idea to call the new function getEngineVersion() after
construction to check you have the engine you expected, because that guarantees you
don't accidentally get linked against an old library version that doesn't support
the new engine.
See also this post which has more background
https://thebreakfastpost.com/2022/07/13/rubber-band-library-a-thrilling-new…
Chris