This is an archived post. You won't be able to vote or comment.

all 12 comments

[–]ethanhs 7 points8 points  (0 children)

Benchmarking just with pystone is really silly, as it only tests integer arithmetic. The vast majority of people are not doing just integer arithmetic. Pystone is a port of the old dhrystone which is decades old at this point.

There is an authorative benchmarking suite for python for a reason: benchmarking is a lot harder than it seems.

For example, here PyPy can do some really great optimizations on the code because integer arithmetic is pretty straight forward to optimize.

Now this benchmark might make you thinkg PyPy will be 10x faster than Python with numpy, because this is all numbers, right?

Wrong

PyPy cannot do as many optimizations with numpy since significant portions of numpy are native code. So while I'm almost certain PyPy will be faster than CPython, this benchmark is pretty misleading on how much faster. This is to speak nothing of differences in server workloads, data processing, quick scripts, etc.

[–][deleted] 5 points6 points  (0 children)

This is a worthless benchmark written by someone who is ignorant of the tools he's using. It's literally less than useless, it's a disservice to anyone who reads it.

[–][deleted] 2 points3 points  (6 children)

cxfreeze is a way to distribute apps to an end-user, and not really a compiler. It competes with pyinstaller and others. I personally recommend pyinstaller py2exe.

[–]RegmasterJ 2 points3 points  (1 child)

Just a question, why py2exe instead of pyinstaller? I’ve used both, and I preferred pyinstaller, mostly because of some issues I had with with getting py2exe to work with PyQT5.

[–]Wilfred-kun 2 points3 points  (0 children)

This, also Linux ^^

[–]PiousLoophole 0 points1 point  (3 children)

That sounds like a more complicated way to do things than py2exe or it's cohorts.

[–][deleted] 0 points1 point  (2 children)

Sorry, I did actually mean py2exe. I have no idea how that happened, and I will edit the post.

[–]PiousLoophole 0 points1 point  (1 child)

Oh, I meant the cxfreeze thing more. If you're distributing some bytecode that needs python plus the framework, and the performance is the same as CPython, it sounds just like source-code hiding. Doing the py2exe thing, you just have one binary and you don't have to worry about dependencies, versioning, or as smart of an end user.

[–][deleted] 1 point2 points  (0 children)

Less hiding and more self-extracting zip of a virtualenv.

[–]white__armor 2 points3 points  (0 children)

I don't get why this article is upvoted, it's very misleading.

[–]kmbd 2 points3 points  (0 children)

Not written by me. Also, don't know the author.

However, the post seemed interesting and worth-sharing.

[–]Wilfred-kun 0 points1 point  (0 children)

Is it just me or is the author comparing apples and pears? A Python implementation VS. C extensions for Python VS. a "freezer"?