New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace CGO with PureGo and/or an embedded C compiler #223
Comments
A few thoughts: a. The value add would be mostly for OSX, trusting it works, as that's the only current platform that relies on objective C code. Fundamentally this is why we have historically not read any ebiten code, or code from any other Go game engine; I'm sure there are lots of great ideas that oak could adapt, but we don't want to just end up building a copy of an existing library. d. As a minor point, oak tries to minimize dependencies as much as possible. That said, oak's drivers are extensible, and anyone motivated could build variant drivers using either of these methods, and we'd be more than happy to link to them as alternatives to those built in. |
Well. The beauty of (lib)tcc is that it includes JIT functionality as well as optional overflow/memory protections. |
Just an idea but have you considered switching to Ebiten's PureGo or even shipping something like tinycc?
I only did a proof-of-concept about a year ago but from my cursory inspection building tinycc as a shared object and dynamically calling it through PureGo was blazingly fast in comparison to CGO.
Admittedly, I have no point of reference as to how this combo would perform for larger projects with lots of multiplatform dependencies (tinycc on its own is definitely up to that task, as witnessed by CToy)
The text was updated successfully, but these errors were encountered: