Hi Will, let me pick up what I've said yesterday, taking a slightly different angle. As a developer, I often make the observation that I dislike some piece of code, because I deem it inadequately written (in many cases by myself). When things have settled down in some way, it often becomes quite hard to change them, which increases the feeling of inadequacy. On the other hand, I've often seen that my gut feeling regarding performance is -- well, largely right -- but more often somehow blown out of proportion. It is very hard to guess what part is the most detriment to performance. One thing seems to be clear: for the creation of the Zyn engine, performance was not the top leading regard. Rather, it was built to create sonic quality without compromise. Everything is structured there in a way to perform some very specific computations, which, as such are hard to understand and to get right. But let's be honest: there is another thing we /don't see/ clearly. Its the question /how bad the engine performs/, actually. For example: it may seem preposterously inadequate to use only a single thread for sound production -- but did we take latency into account? Will, I'd like to respond to your concern and the possibility to somehow consider it in the proposed project. And I think this would fit in very well. Just we'd have to reformulate it slightly: On 02.01.25 19:17, Will Godfrey wrote:
We are very 'wasteful' of notes. At each note on we allocate memory, define all the elements, then populate it with the starting parameters. When the note finishes we throw this all away, and start again with the next note.
So we should have a look if it's actually wasteful to do so. As part of the proposed project (and the first prototype), we'd have to make some changes to the note-init code. And we'd have to investigate empirically what would be the cost of doing so. As a by-product, we could get hard data as to the extent that the note-init phase contributes to the overall costs of computing a note. And by logical implication, this carries over to the impact of memory allocation. Thus, we could answer the question: is there suitable leverage in note memory allocation to justify the effort of "touching a running system"? -- Hermann _______________________________________________ Yoshimi-devel mailing list Yoshimi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/yoshimi-devel