4 ms·
Elixir is slow enough to get in the way, if we're talking about complex processing tasks. I (along with a team) was tasked with writing a fairly complex account
by microcolonel 9y ago
Elixir is slow enough to get in the way, if we're talking about complex processing tasks. I (along with a team) was tasked with writing a fairly complex accounting/numerics application in Elixir, and one day I had to basically call the whole thing a thousand times more often per request. It took me weeks to accumulate enough microoptimizations to make the thing function (because it was already reasonably well designed).
It's a sort of a "it's fast enough until it isn't" type thing. Python is fast in the same way (and faster with each release!).
For anything that isn't dominated by network and database time, language and runtime performance matters, and OTP/Elixir is slow in that way. In terms of "real world performance", it can sometimes matter more that the incremental cost of preempting your beam process is low, more than whether your process completes in more or less time.
- noncoml 9y agoCompletely agree. What saddens me is that only Erlang/Elixir get the “it’s slow” argument although they are in the same class as python and ruby.
- dahauns 9y agoI know what you mean. I don't know how often I've read "I prefer python/ruby/etc. because its not as bloated and slow as Java"...sigh
- kpil 9y agoThe only thing slow about java is the time to start the jvm. For everything else to be faster you need asm, c, c++, fortran, or rust. Loading an applet over a modem in 1998 doesn't count...
- sz4kerto 9y agoStarting the JVM is <0.5 seconds. On my box it's ~0.1 sec.
- majewsky 9y agoI have programs doing nontrivial things that run in 5 ms, from execve() to exit(). That's milliseconds, not seconds.
- kpil 9y agoExactly, even fairly complex script languages manages to boot, execute and exit in just a few milliseconds. Maybe jigsaw is one piece in the puzzle to reduce the time it takes to start. I doubt it's so bloody complicated, except AOT compilation of all system jars, I suspect it's mainly a matter of getting the time and resources to look at what happens when hello.world is executed.nu That and relabling executable jars to jxe and the desktop is Java's to grab (that last part was a joke)
- dahauns 9y agoExactly what I was going for.