Signal+|Insanely optimized script signal

.lua link beneath pictures I sent

Hello,
It may sound stupid but what are the use cases for this script? I barely know that a signal is some sort of event, so does it replace bindableEvent or something like that?
Thanks

Yes, this module, and the others referenced throughout comments in this post, are for replacing bindable events.

okay thanks!
So it support even a lot of events ?

a difference of microseconds has no effect
being the same speed as anything else is not a selling point (your only selling point)
not saying this is useless but you cant just say “mine is wayyyy better” with such a miniscule difference that is doesnt matter

2 Likes

“difference” means it has an effect. I’m assuming what you mean is that the effect is so small, that it doesn’t really matter.

I never said “mine is wayyyy better”. You’re quoting things that was never said.
People asked for a benhcmark, I provided one, and the results were that mine was faster (over 2x faster in some areas, which while in microseconds, is a big difference percent-wise).

The fact is that mine is faster. Better is a different thing, but since mine has (i think) the same features, and also has full typing and custom types, you could argue that it’s “better”.

I advertise it as fast and optimized, because it is.

Please stop replying to these people, there is literally no point in arguing with them, they are not going to change and they are not criticizing your work in good faith either.

Like this is the type of replies they bring up in a serious argument.
image

I am starting to believe this guy is trolling too, Don’t waste your time.

6 Likes

I am going to try this module out soon. Cannot wait.

Will report back with what I think :smiley:

2 Likes

Its okay, but good job on making it though.

edit: after the recent version 2.7 I would say its pretty good. Nice resource.

1 Like

cool, i made this ultimate benchmark to LemonSignal on --!optimize 2 mode in Studio using Benchmarker.
LemonSignal known better than GoodSignal & FastSignal.

:Fire

1e3 iterations with 1 argument & 10 connections.

1e4 iterations with 1 argument & 10 connections.

:Connect

1e3 iterations.

1e4 iterations.

:Once

1e3 iterations.

1e4 iterations.

:Disconnect

1e3 :Connect’s, immediate :Disconnect.

1e4 :Connect’s, immediate :Disconnect.

:DisconnectAll

1e3 :Connect’s & :DisconnectAll for once.

1e4 :Connect’s & :DisconnectAll for once.

:Destroy

1e3 :Connect’s & :Destroy for once.

1e4 :Connect’s & :Destroy for once.

Download benchmark .rbxl file

3 Likes

Very cool, I will definitely use it.

1 Like

:package: Version 2.7.0

:wastebasket: Removed features:

  • Removed .Connected property, improving speed.

:hammer_and_wrench: Changes & fixes:

  • Removed --!native because I found out it decreases speed in this case.
  • Heavily simplified linked list logic, improving speed.
  • Swapped number-keys out for string-keys, as to avoid mixed-tables, improving speed and readability.
  • No longer stores the connection metatable, improving speed.
  • Now unlinks metatable instead of overriding with a no-op function.
  • Now passes already-cached thread to reusableThreadCall, avoiding coroutine.running().
  • No longer uses thread immediately, because it’s actually slightly faster to resume once.
  • Fixed an error that would occur when a thread calling :Wait() is resumed before fire.
  • Comment changes and additions.
  • Changed class names to PascalCase.
  • Minor variable renamings.
2 Likes

How do you create such benchmark screens? Where you can compare and contrast functions and stuff?

He’s using a plugin by BoatBomber; Benchmarker.
It’s not free but it’s just $5.00 and you’ll have it forever.

2 Likes

This is hot :fire:

Cannot wait to download this version and give it a go!
Looking good so far, thanks for all you do :pray:

1 Like

:package: Version 2.8.0

:hammer_and_wrench: Changes & fixes:

  • New thread storage logic, improving fire speed by a lot.
  • Minor comment changes and additions.
1 Like

Vro forgor to give me credit :broken_heart:

No, it’s at the bottom of the topic post.

1 Like

Ahh alright my bad :heart: //30charlimit

Hi, i think there still an issue :frowning:
I just tested out 2.8.0 with the new thread storage, and it’s still suffering from slow fire times :frowning:

Could it be the bottleneck isn’t storage at all?

When optimizing SimpleSignal, I noticed usage of task.spawn outside of creating the thread at the start led to significantly slower fire times, could be a lead