AbyssEngine / AbyssEngineOld

The Open Source ARPG Engine.
https://www.abyssengine.com
GNU General Public License v3.0
438 stars 46 forks source link

Why did you decide to migrate from Go to C++? #135

Closed t4wE closed 10 months ago

t4wE commented 1 year ago

Just wondering.

Was it performance issues or C/C++ interop?

Thanks.

essial commented 1 year ago

CGO. The performance of calling native (non go) libraries from golang is garbage slow, especially when dealing with high performance things such as graphics rendering. That may or may not have changed since the switch, but at the time, we were spending weeks tracking out severe performance issues that always seemed to lead back to CGO.

t4wE commented 1 year ago

Thanks, that's what I thought. I experienced the same issue in my projects.

There are new languages compatible with C popping up. I'm now writing my game in V (https://vlang.io), it's basically Go but with C interop, performance, and some nice additions like sum types and better error handling.