Yesterday I found this Godot little bench I created a few years ago to quickly evaluate whether Godot GDScript’s interpreter is fast enough for a commercial project that could possibly target Nintendo Switch. This was important because I’ve been biten by cpython in the past (py2.7) where a simple 2D arcady game struggled to reach 60 fps on certain underpowered laptops to my disappointment.. and GDScript while not python is almost identical in many ways.

At the time (a few years ago), I used my Nvidia Shield TV as the analogue for the Switch and the performance didn’t inspire confidence. I had two choices switch to the .NET version of Godot or adopt GDScript and use C++ for later optimization of bottlenecks.

I opted for the C++ route since that’s my main language and I intended to port the game to Switch later (though at the time I identified lack of hot-reloading of Godot’s native extensions as a problem which has been solved around Godot 4.2). Ultimately the project didn’t get further than a vertical slice and a mini demo so never needed to cash my C++ in.

Today just to have a few hours of fun I wanted to revisit that simple bench to plot Godot’s performance progress. This is by no means an objective benchmark it’s just for fun so I’m not even gonna share the code, but still a good indication of comparative interpreter progression I think.

Runtimes are tested on a PC with an AMD Ryzen 7 3700X and an AMD RX 590 GPU on Windows 11.

Godot Release Date Runtime (less is better) Binary size
Godot 3.5.2 March 2023 1.209 37.181 MB
Godot 4.0.4 August 2023 1.366 64.201 MB
Godot 4.1.4 April 2024 1.362 67.309 MB
Godot 4.2.2 April 2024 1.319 67.977 MB
Godot 4.3 August 2024 1.316 82.145 MB
Godot 4.4.1 March 2025 1.056 95.137 MB
Godot 4.5 September 2025 0.537 94.396 MB
Godot 4.0.4 .NET August 2023 0.017 65.385 MB
Godot 4.5 .NET September 2025 0.017 94.629 MB

Now this is interesting!

Along with the star of additions in 4.5 in my opinion: stencil/depth-write effects, the Godot team found a way to DOUBLE the performance of GDScript runtime! (at least for my specific test script). That’s some amazing progress in 1 version.

I’ve skimmed the list of changes in 4.5 but could not easily pinpoint where that 2x jump in performance could be coming from, but it’s great news!

Naturally the .NET (C#) runtime is basically native performance level thanks to JIT compilation. A runtime boost that could reach 30x-80x depending on whether you use Godot 4.5 or prior versions. Which begs the question, why would anyone opt for GDScript/C++ instead of C# at this point?

To answer that you must decide from the beginning whether you want to port your game to Android/iOS or Switch/Playstation/XBOX/etc. The GDScript version is more versatile in regards to porting to current and future platforms that don’t exist yet. Although MonoGame has managed to do it (Supergiant Games: Bastion, Transistor, and I think Hades as well).

The second reason is the excellent deep integration of GDScript in Godot as its native scripting interface.

Android/iOS has gotten some meaningful updates in 4.5 and seems to be a focus for the team but is still marked as experimental at this point.

Regarding consoles I know there are commercial providers to port Godot games and they may already provide full C# support? I haven’t looked into that for a while.



blog comments powered by Disqus

Published

13 October 2025

Category

gamedev

Tags