RBXEvent - A simple & lightweight custom event library

Learning, and understanding performance dependant code pretty much.

1 Like

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.

Unable to reproduce such high memory by creating new signals/connecting them, but an event destroy method has been implemented.

Event:Destroy()

The Event:Destroy() method disconnects all attached event observers.

1 Like