On Tue, 17 Sep 2024 19:04:39 +0200 ichthyo <p...@ichthyostega.de> wrote:
>On 17.09.24 16:15, Will Godfrey wrote: >> Not a big issue, but I'm wondering if (in CMakeLists.txt) we should make this >> compiled by default. I always have it enabled here. >> >> Indeed, do we need to make it optional at all? The reporting is already user >> switchable, and no doubt some people have been confused when it seems to do >> nothing, not having been compiled in. > >Accessing the system clock always costs some performance; it is an overhead >comparable to an ordered read from an atomic variable, so it's not negligible. >Thus I would argue that it is not justified to put such a merely diagnostic >feature on such a critical code path by default. > >Maybe it is in fact not relevant or it goes alongside with existing >synchronisation overhead. But the point I'd make is, it is hard to prove >such an added feature really does /not/ matter. Think of different audio >systems, plugin hosts, different platforms. So without an extended >investigation, we're just guessing and in such a situation I'd err to the >safe side and not add anything to a hot path which is not strictly required. > >-- Hermann OK, good point. I think that leaves two practical options. The obvious one is to hide the 'Log Load times' line in Settings->Switches when it hasn't been compiled for - not quite sure how we do that! Another possibility that might be practical is to use the switch setting to enable/disable the timing code. That way, the only overhead would be a couple of bool tests. Possibly with a bit of code duplication that could be reduced to just one bool. I actually use this looking for sources of Xruns created by a lot of note-on events at the same time, or an 'expensive' note on at the same time as (say) an instrument change on a different part. P.S. With Kristian's confirmation, and after I've dealt with Art's list of User Guide typos and errors, I'll set V2.3.3 rc1. -- Will J Godfrey _______________________________________________ Yoshimi-devel mailing list Yoshimi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/yoshimi-devel