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

Reply via email to