3 ms·
Sorry but I have to give this a thumbs down for not being a very convincing or well-written blog post. It dumps some data and then immediately jumps to a statem
by cycloptic 7y ago
Sorry but I have to give this a thumbs down for not being a very convincing or well-written blog post. It dumps some data and then immediately jumps to a statement about how "lots of syscalls = bad" without actually detailing what those syscalls are doing in the context of the runtime. And I'm saying this as someone who already runs Alpine on my servers and doesn't need to be convinced. Drew, I think you can write much better posts than this.
- peteradio 7y agoMore matter with less art. I thought it was a breezy read with a simple thesis. I don't know why such a thing should be discouraged.
- cycloptic 7y agoIt should be no surprise to users of CPython and Ruby that those languages have a lot of startup code. The details of what that code is doing are already evident if you're watching it happen in an strace log, but those bits were left out. This isn't art, it's details, and without the details, it's just preaching to the choir. No new readers are going to be convinced.
- macintux 7y agoI didn’t see a great deal of effort to convince anyone of anything. Why must all blog posts be attempts to change the world?
- cycloptic 7y agoWhere I come from, the responsible thing to do when making a public statement is to back it up with facts, sources and explanations. We get enough blogspam and clickbait articles making the rounds here as it is. Please don't contribute to that.
- nielsole 7y agoIt's still an interesting table. I was surprised that Java is 10x faster than Python. I would have expected initializing the JVM would be similarly complex to initializing the Python Interpreter.
- cycloptic 7y agoMy point is that it's not clear from the article why that is the case.
- giantrobot 7y agoThe author doesn't state the Java version but more recent version JREs (9+ IIRC) start up way faster than older versions. I'd imagine a JRE's launch time is heavily influenced by disk cache. A warm launch ends up way faster than a cold launch with the tens of megabytes of classes in RAM means the warm launch basically loads the program's class file from disk.
- kick 7y agoHe literally does list the Java version, though...? OpenJDK 11.0.5 JRE
- giantrobot 7y agoWell I guess I missed it.
- zamadatix 7y agoWhen you run "python" you're most likely running CPython, an interpreter written in C that was 2.5x faster than Java according to this table. You're looking at the numbers for PyPy, an alternative Python implementation written in Python-ish compiled to C which provides a JIT compiler for Python. A bit more understandable why that initializes slowly (though runs faster for longer programs).