Feature #18265
openSelf-contained one-binary feature which discuss on ruby kaigi 2021 day 2, 《 Ruby Committers vs the World / CRuby Committers》
Description
https://www.youtube.com/watch?v=zQnN1pqK4FQ
Yes, what i said is this.
- Go-language supports to make self-contained one-binary.
- Is it useful for ruby?
I personal propose add this feature into ruby 3.X in the future, i consider this is a killer
advantage compare to others dynamic language.
And, this feature is very important for distribute code to the third party.(e.g. client) for two reason:
- distribute is easy.
- for protect code change unexpectly by client
in fact, my friend switch from ruby to go recent days, the only reason is, it could not find out
a usable solution to distribute code to our client safely.
Because i could not find out a mature similar issue, so, just create this for discuss.
BTW: maybe not so useful, Emacs editor since version 28 can native compilation of Elisp files which has greatly improved performance and start-up time, i don't know if this tech can be borrow from there for ruby.
anyway, i consider both are similarities, i hope that can help.
Following is some links come from Andrea Corallo, the emacs native compilation maintainer.
https://akrl.sdf.org/gccemacs.html
https://akrl.sdf.org/Kludging_LPC_2020.pdf
Hope there have useful info for AoT ruby .rb source code into .rbn
(rb native, as .el compile to .eln) use libgccjit.
Files