Live data from Hacker News

PyPy 4.0.0 Released – A Jit with SIMD Vectorization and More

morepypy.blogspot.com

111–120 of 150 posts

Re: PyPy 4.0.0 Released – A Jit with SIMD Vectorization and More

#111

Earlier quoted context omitted.

They are already willing to take money to work on Python 2.7 stuff, how does refusing to take money for Python 3 stuff lead to them making more money?

It would show leadership. Leadership which is demonstrably lacking in the 3.x line. Thus they could take a (risky but calculated) bet to take over Python completely.

[deleted]

Re: PyPy 4.0.0 Released – A Jit with SIMD Vectorization and More

#112
post #92

Earlier quoted context omitted.

I did a small test, here's the gist: https://gist.github.com/arnists/a9f19af5d9469549020e Seems like a huge improvement, don't know if it's the recent additions or in general pypy vs cpython but it's enough of a speed bump to sit up and take note.

That's why you don't use pure python for this. Here is your test done using numpy import numpy as np %timeit sum(np.sum(np.random.randint(0, 10000000, 5000)) for i in range(5000)) 1 loops, best of 3: 586 ms per loop

I was mostly getting a comparison between cpython and pypy, less concerned with numpy vs cpython.

Re: PyPy 4.0.0 Released – A Jit with SIMD Vectorization and More

#113
post #104

Earlier quoted context omitted.

Not a bad idea. It would certainly elevate the project to unforeseen heights and probably turn them ( http://www.baroquesoftware.com/ ) into very wealthy men while offering a very desired and needed service for many businesses. While harming no one who didn't already harm themselves. More relevant than CPython3 overnight, which is of significant stature. If prestige and money are desirable things, absolute no brainer…

Yeah, the best thing they could possibly do right now is to fork Python and make yet another flavour. We already have this 2/3 mess so let's throw another version into the mix just as Py2 seems to be dying. I don't get this hate for Python 3. Yeah some things changed, yeah having a big codebase in Py2 sucks if you don't have the time/resources to switch, but starting new projects in Py3 by default is awesome. Asyncio…

Yes, I agree that Python 3 is not that bad to start a new project in. But that's not the problem. The problem is that many of us have a huge investment in Python, and the project is meandering around, borderline-insulting its historic users who still like 2.7, while simultaneously failing to deliver on REAL needs such as performance and GPU support. Instead we get these little tweaks here and there, downright embarrassing PEPs like type annotations, and all this frankly distasteful pressure to move to 3.x using threats of the end-of-the-line for 2....

Basically 3 gives us lots of headaches, very marginal improvements, an ivory-tower sense of "we know best" (message to Guido - no you don't), and a real concern that the powers that be have no clue what's going on at Golang Towers, Fort Javascript, not to mention Clojure, Julia, or even Elixir.

Re: PyPy 4.0.0 Released – A Jit with SIMD Vectorization and More

#114

Earlier quoted context omitted.

What would be the point of this? Are you suggesting PyPy forks the Python language itself? PyPy hasn't implemented new core language features, and I don't see them doing so in the future. Python 3 is actively developed, fixing many warts in the language and adding great new features. As annoying as the transition to Python 3 is, it's the future of the language. I was actually one of the curmudgeons who stuck with 2.7…

That is exactly what I am suggesting. There is no urgent necessity to add any new core language features to 2.7. That's what you 3 guys just don't get. I certainly don't need asyncio as much as I need vectorised numerics, and if I needed asyncio, I had at least 5 libraries already. I most definitely will never be type annotating Python. Cloud cuckoo land. Let me warn you. If you persist with your propaganda on Python…

> Let me warn you. If you persist with your propaganda on Python3, then GOLANG will be the future of Python. Does that register with you guys?

This abstract future of Python has already been ceded to something that is not Python, just as once the abstract future of Perl was Python. Ruby once tried to take the mantle but failed. Go is now taking a lot of mindshare (from 2 or 3 more I wonder?) and I agree the Python 3 crowd just makes Go more likely to succeed, which is terrifying since it's probably the worst possible choice. My message is simply despair and accept the inevitable: Python will fade -- by all means keep using it, people still use Perl, scientist will be using it for a long time -- but the rest of the software world will pass you by. If you care about what the rest of the world is doing at all, you can help make sure the future passes to better general purpose high level languages like Nim or Clojure or OCaml, and for specific niches like scientific computing goes to the likes of Julia eventually. Anything but Go.

Re: PyPy 4.0.0 Released – A Jit with SIMD Vectorization and More

#115

Earlier quoted context omitted.

What would be the point of this? Are you suggesting PyPy forks the Python language itself? PyPy hasn't implemented new core language features, and I don't see them doing so in the future. Python 3 is actively developed, fixing many warts in the language and adding great new features. As annoying as the transition to Python 3 is, it's the future of the language. I was actually one of the curmudgeons who stuck with 2.7…

That is exactly what I am suggesting. There is no urgent necessity to add any new core language features to 2.7. That's what you 3 guys just don't get. I certainly don't need asyncio as much as I need vectorised numerics, and if I needed asyncio, I had at least 5 libraries already. I most definitely will never be type annotating Python. Cloud cuckoo land. Let me warn you. If you persist with your propaganda on Python…

I would suggest toning down the arrogance. Just because you don't personally need some features does not mean that people who want the language to progress and not stagnate are idiots.

Re: PyPy 4.0.0 Released – A Jit with SIMD Vectorization and More

#116
post #44

Earlier quoted context omitted.

On big jobs (millions of json input/output) I have found ujson significantly faster than json + pypy.

yop, as I said, ujson is probably your best bet if all you do is parse json.

If you are on python3 python-rapidjson is faster and safer than uJSON:

https://github.com/kenrobbins/python-rapidjson

    >>> data2 = 1.23456789e-13
    >>> rapidjson.loads(rapidjson.dumps(data2))
    1.23456789e-13
    >>> ujson.loads(ujson.dumps(data2))
    0.0

Re: PyPy 4.0.0 Released – A Jit with SIMD Vectorization and More

#117

Earlier quoted context omitted.

That is exactly what I am suggesting. There is no urgent necessity to add any new core language features to 2.7. That's what you 3 guys just don't get. I certainly don't need asyncio as much as I need vectorised numerics, and if I needed asyncio, I had at least 5 libraries already. I most definitely will never be type annotating Python. Cloud cuckoo land. Let me warn you. If you persist with your propaganda on Python…

> Let me warn you. If you persist with your propaganda on Python3, then GOLANG will be the future of Python. Does that register with you guys? This abstract future of Python has already been ceded to something that is not Python, just as once the abstract future of Perl was Python. Ruby once tried to take the mantle but failed. Go is now taking a lot of mindshare (from 2 or 3 more I wonder?) and I agree the Python 3…

I'm currently registered on the Ocaml mooc ;-) Very intrigued by Nim too.

Yes I find Golang to be dry and uninspiring, but as per one of my other comments, I get 20x the performance, and the concurrency model beats Asyncio hands down. Honestly I needed to get 360 gigabytes of JSON into Cassandra and Python was going to take 6 days (there is some light conditionality on each datapoint preventing a raw dump). I took 1.5 of those days to learn how to do it in Golang, started it at midday today, and estimate it'll be done when I get into work tomorrow morning. Sometimes I just need to get stuff done.

EDIT: Just re-read your post and cannot help but agree that Python's demise is already telegraphed. History. Perl->Python->(?) is a nice analogy. Python won't die for sure, but it will not flourish like it did in the past decade. And yes I think it's good advice to look to more ambitious languages than Go, even if Go solves many "today" problems quite well. Personally wish Clojure would come off the JVM but am looking into Ocaml, Elixir, and when I need imperative, good ol' C wrapped up in Nim. All good candidates, though I really wish something would come up and go "fully vectorized" for the brave new world of GPUs. Personally need a REPL which is why Ocaml wins for now though Spark looks to me to be the "new R" for data science so I shouldn't exclude Scala (JVM notwithstanding). Decisions decisions...

Re: PyPy 4.0.0 Released – A Jit with SIMD Vectorization and More

#119
post #85

Earlier quoted context omitted.

Something similar happened that left me with mixed feelings recently. I recently came up with a new feature idea for Python, and a core dev ran with it. I was very happy at first, but then he wrote a pep, implemented it, and got all the congrats. I had hoped to help, and put something on my resume, but was shut out. "Thanks for improving my pep" on a mailing list is all the credit I got (and work I was able to do on…

Sometimes person reporting an issue along with the code, doesn't get it quite right and core dev can immediately see correct solution and can't make himself to wait until original reporter makes it right... of course it doesn't happen often but it does.

One of the project I participated the most was ansible, and in a case like this, @mpdehaan2 would just push back and comment until your PR was acceptable, which was encouraging and making you contribute more.

Re: PyPy 4.0.0 Released – A Jit with SIMD Vectorization and More

#120
post #105

Earlier quoted context omitted.

> Nobody who uses Python 2.7 all day every day thinks it has any of these imaginary "worts" you 3.x guys like to pitch all day. Maybe people who use 2.7 all day don't see the warts as much as someone who has been rid of them?

It took me a week struggling with Asyncio to wrap my mind around it. It took me 12 hours to do the same with Golang channels. I got 20 000 inserts per second from a 360 gig JSON file into Cassandra using 30 goroutines. I was maxing out at 900 in Python 3. Golang was parsing the JSON at a frankly RIDICULOUS 2 million lines per second. Python 3 was around 50 thousand. Python 3 is adding features that other languages do…

> 20 000 inserts per second from a 360 gig JSON file into Cassandra using 30 goroutines. I was maxing out at 900 in Python 3. Golang was parsing the JSON at a frankly RIDICULOUS 2 million lines per second. Python 3 was around 50 thousand.

Newsflash, Go is fast. I'm sure those numbers will be worse in Py2 than Py3 as well, but aside from that what's your point? Python is slow so... don't switch to Python 3?

> Python 3 is adding features that other languages do better. Python smashes other languages in numerics, and approachability. Nobody needs 3 for numerics, and 3 goes backwards in approachability. If you're using 3 for its back-end tools, you're using the wrong tool.

Sure, people using it for numerical stuff might like Py2, but is that the only use case of Python? Should I not switch because you do numerical stuff? Django is great for backend stuff, as is the whole ecosystem (twisted, flask, DRF, asyncio).

Python 3 is also far more approachable than Python 2. Try explaining to someone why their program exploded after typing an umlaut into it, the magical "from __future__ import division" incantation or even the silly super() syntax.

Post reply on HN