News for hackers. Stuff that matters.
Re:Python 3.13 Gets a JIT by oblio on Tuesday January 09, 2024 @07:26AM (#38925336)
Do a quick test with the latest JVM.

Print Hello, world.

That's it. Time it.

Do the same with Python.

The difference is minuscule.

People don't build CLIs with them due to cultural reasons (fashion). Developers are creatures of fashion.

Re:Python 3.13 Gets a JIT by guappa on Tuesday January 09, 2024 @09:04AM (#38926286)
> Do a quick test with the latest JVM.

java: 031s python: 013s

it's 3x slower to start up… it means that any bash script with a loop calling a java command will run 3x slower.

3x slower isn't my definition of minuscule.

Re:Python 3.13 Gets a JIT by oblio on Tuesday January 09, 2024 @09:32AM (#38926601)
> java: 031s python: 013s

I'm confused, what kind of time measurement system is this? Are those 31 seconds versus 13 seconds? 0.31s vs 0.13s? If it's the first case, something is wrong with that machine, Hello World should not take that long. If it's the second, are we talking about 0.18s? See below.

> it's 3x slower to start up… it means that any bash script with a loop calling a java command will run 3x slower.

I don't know how you write your scripts, but in practice most scripts hang waiting for IO (especially network) or waiting for a specific command to process something...

> 3x slower isn't my definition of minuscule.

Nope, but based on what you've presented so far, unless I'm misunderstanding, it's my definition of "premature optimization".

Re:Python 3.13 Gets a JIT by guappa on Wednesday January 10, 2024 @01:25AM (#38936923)
double click selection issue. 0m0,031s vs 0m0,013s.

> I don't know how you write your scripts,

You know how… I put print hello world in them… that was the test you asked for?

> premature optimization

Not using something that has 3x startup time, for a short lived command is just "common sense".

I'm starting to think that the issue here is that you know java but don't know python or C, and you are unconsciously trying to get water to your own watermill.

Re:Python 3.13 Gets a JIT by oblio on Wednesday January 10, 2024 @03:13AM (#38937582)
I haven't written Java as my day to day for about 5 years. Instead I write... Python :-)

It's just that I recognize disingenuous comments.

Java is perfectly adequate as a language for writing command line tools. You're likely using one of them weekly and don't even know it.

Just don't write your Java CLIs using Spring or DI frameworks in general :-)

Re:Python 3.13 Gets a JIT by guappa on Wednesday January 10, 2024 @04:10AM (#38938002)
> You're likely using one of them weekly and don't even know it.

doubtful, since I don't have jre installed. I had to install it just to run that benchmark.

Re:Python 3.13 Gets a JIT by vips7L on Wednesday January 10, 2024 @11:39AM (#38940452)
Modern Java tools bundle the runtime.
Re:Python 3.13 Gets a JIT by fnord123 on Tuesday January 09, 2024 @09:54AM (#38926857)
Printing hello world does not show the cost / benefit of a tracing jit that needs to be warmed up over thousands of iterations. And counter example: it takes maven 0.788s to realize I don't have a pom.xml in my PWD and fail a build. It takes meson 0.163s.
Re:Python 3.13 Gets a JIT by oblio on Tuesday January 09, 2024 @11:55AM (#38928435)
Maven versus Meson is purely about architecture, just look at Maven's design.

There is a reason I didn't say anything about that aspect of JITs that you mention, it's because it's not relevant to commands which are launched from shell scripts and then exit.

Re:Python 3.13 Gets a JIT by lambda_garden on Tuesday January 09, 2024 @12:01PM (#38928511)
This is not the gotcha you think it is.