5 ms·
It's going to completely depend on the tool. I can start an elixir app in half a second, which is going to be unacceptable in many situations. That said, there
by lytedev 4y ago
It's going to completely depend on the tool. I can start an elixir app in half a second, which is going to be unacceptable in many situations.
That said, there are also many situations where that is a tradeoff absolutely worth making!
- throwawaymaths 4y agoI wonder if you can tree-shake unnecessary modules in the release. There's a lot of stuff in the otp beam release you probably don't need in any given CLI app and it should be easy to parse bytecode and figure out dependencies.
- manusachi 4y agoThat's one of the goals of Firefly[1] > It can compile code more efficiently than the BEAM by stripping out dead code and compiling only what’s necessary for an application. Though, they only mention faster compilation and smaller digital footprint, not faster startup. [1] https://dockyard.com/blog/2022/09/01/dockyard-r-d-firefly-optimizes-your-elixir-compilation https://dockyard.com/blog/2022/09/01/dockyard-r-d-firefly-op...
- asabil 4y agoShouldn’t be necessary if you configure your release to start in interactive move instead of embedded mode as modules would then get loaded lazily
- worthless-trash 4y agoHello friend, I'm chasing you down from a previous comment, did you get anywhere with that elixir/liveview text ui ?
- throwawaymaths 4y agoI did not. Too busy at work.
- worthless-trash 4y agoI am still very keen on this, even if its not a 'web app' style tui code. There has also been interest on genserver.social too. Thank you for taking the time to respond.
- throwawaymaths 4y agoI think there may be someone else in the community working on this
- throwawaymaths 4y agofound it, even has the same name: https://github.com/E-xyza/ex_term https://github.com/E-xyza/ex_term
- worthless-trash 4y agoIts amusing that you both came to the same conclusion on naming :)
- guiriduro 4y agoIf you have several commands you're likely to use and possibly pipe together, it might make sense to have lightweight compiled C/Rust command client stubs invoke an Elixir server, so you'd pay the BEAM startup cost only once, in exchange for some complexity.