This Benchmark is not designed to run on your device. Add it to a collection to play later, or you can try to run it anyway.

Do you love arguing over whether repeat loops are better than for loops? Well, as it turns out so do about a billion other GameMaker users! Well, we can now put matters such as those to rest by actually, you know, testing it!

This is a little tool that lets you run various bits of sample code to see how its performance compares to similar bits of sample code. There are a handful of example test cases to get you started.

Results are displayed with a few spiffy graphs and you can export them out to a CSV.

The Github repository can be found here, which you may be interested in contributing to. The Readme there has a bunch of additional technical information.

Please don't be awful to people who you see writing "slow" code, because god knows the GameMaker community has a problem with this.

Price

As always,

As usual, the asset is free as-is. I'll fix simple or game-breaking bugs but more involved support requires payment via either Itch or Patreon.  I get the final say in what constitutes "game-breaking."

although in this case I dunno what there really is to break. I might merge in other interesting tests that people come up with though.

Credits

  • Duck is by Munin
Updated 21 days ago
StatusReleased
CategoryOther
PlatformsHTML5
Rating
Rated 5.0 out of 5 stars
(2 total ratings)
AuthorDragonite
Made withGameMaker
Tagsbenchmark, GameMaker, performance
Average sessionAbout an hour

Download

Download NowName your own price

Click download now to get access to the following files:

GMBenchmark-Windows.zip 4.5 MB
GMBenchmark-Windows-YYC.zip 3.7 MB

Development log

Comments

Log in with itch.io to leave a comment.

Didn’t knew [$ "prop"] used more resources and time than .prop. Replaced all of them on my autotile system and reduced the time from avg ~200ms to avg ~20ms.

Amazing job!

(+4)

Variables accessed with the dot operator have their hashes evaluated at compile time, but those accessed with the struct accessor have to have them evaluated at runtime

(+2)

Cool idea, thanks for making this!

great tool. Kind of upsetting how slow array_push is.

(+2)

I’ve been asking them for ages to have it allocate memory in chunks the same way ds_list_add does, but it hasn’t happened yet

Update: it now has https://www.youtube.com/watch?v=C7UrZ7JpQe8