Learning, and understanding performance dependant code pretty much.
Was testing some other APIs here again messing with stuff, and I required to use a signal api and was testing some out, and I (on an actual game) had MAJOR issues with memory leaking from your library.
I was confused on why it was so high, after removing specifically yours, I had pretty much no issues.
One of the things, I think that might be the cause of, is the fact you don’t have a :Destroy() function for a Signal. Nada. And you should highly add that, even if it just disconnects everything. When disconnecting a function, something that I do with FastSignal is also remove the reference from the signal it was created from on the connection. Seems to have helped.
For reference, it didn’t take long until I had 2000MB of untracked memory!
This is because of course, I’m creating a lot of signals at once, but this shoudn’t be an issue!
I have a loop that keeps testing these APIs and retrying, etc.
This is what it looked like without yours after some time running, maybe 8 minutes.
And this is with your library not too long after launching a new server. About 30 seconds after the server opening.
And this is 90 seconds after the server opening.
Note: The second image I sent you, was about after 30 seconds in-game! The first one, I stayed for like 5 minutes, and no issue!
Even though this is not a library many use, I would highly recommend you fix this.