Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Make Melon.js a compiler plugin #1109

Open
L1lith opened this issue Jun 15, 2022 · 2 comments
Open

Make Melon.js a compiler plugin #1109

L1lith opened this issue Jun 15, 2022 · 2 comments
Labels

Comments

@L1lith
Copy link
Contributor

L1lith commented Jun 15, 2022

I wonder how much compiler optimization we could do under the hood. It could also increase performance in cross-platform environments. For example all Melon.js API calls are an abstraction over the native APIs, so we could write our library for melon.js, and then at compile time we could remove the melon.js library all together from their code and replace their function calls with native API functions for better performance.

This would also be cool because we could compile for other targets more easily like console or mobile without any performance penalties besides the JS runtime itself (meaning no melon library to load and no bridge needed at runtime between the melon JS internals and the native APIs)

This does sound like it could be a lot of work but I think it would be a super nifty feature if anyone feels like figuring out how to do this. I'm currently doing research on doing this on one of my libraries so I might write an update on what I've learned.

@L1lith L1lith mentioned this issue Jun 18, 2022
@obiot obiot added the Feature label Aug 19, 2022
@L1lith
Copy link
Contributor Author

L1lith commented Sep 28, 2022

See Also: #1134

@L1lith
Copy link
Contributor Author

L1lith commented Oct 4, 2022

I don't think this should be a big priority for now tbh. Ironing out ES6 modules should give us pretty great performance as is.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants