Live data from Hacker News

PyPy 4.0.0 Released – A Jit with SIMD Vectorization and More

morepypy.blogspot.com

121–130 of 150 posts

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

#121

Earlier quoted context omitted.

Python 3 is the future. There's a chance that when Pypy finally catches up with Python 2.7 (numpy, C extensions etc), it will be obsolete.

Python3 is a language. Python2 is also a language. Python3 might someday become wildly popular, but that doesn't magically make Python2 go away just because the name sounds the same.

From [PEP 373]:

> The End Of Life date (EOL, sunset date) for Python 2.7 has been moved five years into the future, to 2020. This decision was made to clarify the status of Python 2.7 and relieve worries for those users who cannot yet migrate to Python 3. See also PEP 466.

> This declaration does not guarantee that bugfix releases will be made on a regular basis, but it should enable volunteers who want to contribute bugfixes for Python 2.7 and it should satisfy vendors who still have to support Python 2 for years to come.

> There will be no Python 2.8 (see PEP 404).

Take note that the initial date was set to 2015 [2] and it was delayed only last year.

   [PEP 373]: http://legacy.python.org/dev/peps/pep-0373/
   [2]: https://hg.python.org/peps/rev/76d43e52d978

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

#122

Earlier quoted context omitted.

> 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.…

I wonder how much faster pypy would be in parsing 360 GB of data.

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

#123
post #92

Earlier quoted context omitted.

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.

Sure, but my point is that it's not a relevant comparison.

A relevant comparison is counting words or something like that. Things people don't have an easy way to do much faster.

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

#124

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 use Python 2.7 all day every day and I definitely still notice the warts and find them irritating. They are minor warts, and almost never affect my productivity, but they're definitely things that should have been, and are, fixed. super(what do I pass here again?), old vs. new style classes, integer division, input, print, exception bubbling/chaining, nonsense compares between different types, True/False/None as regular variables, no "nonlocal"... Then there are the features I can't use, like extended unpacking and merging, better yielding, function annotations, and lots of improvements to the standard library in terms of their API and functionality.

I'm not a fan of asyncio, but the other stuff is quite awesome. It's not compelling enough to port some of my older Python 2.7 projects, and isn't a revolution of the language or anything, but they're good improvements. And even if they weren't good improvements, Python 3 is the future, and Python 2.7 simply won't be a viable option for a lot longer.

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

#125
post #120

Earlier quoted context omitted.

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…

Newsflash. Python 3's main pragmatic selling points are Unicode and Async. Golang is Unicode by default, its concurrency model is much easier to reason about, and it's 20x faster. Why on earth would you use Python 3 (or 2) for your backend? You like buying 20 server boxes when 1 golang box will do? If you think Python will survive as a production language on servers, you're dreaming. It's done, defeated, history on the server outside of legacy code. Django? gimmeabreak.

So what's left that Python does better than any other language? Numerics. That's the only place where you still have a sticky user base that is not likely to dump Python. So don't be so quick do dismiss it. It's the only leg Python is left standing on that other languages cannot easily devour.

Approachability. Not much in it. For every 3/2 = 1 you cite I give you unintuitive lazy ranges, the complete idiocy that 01 != 1, and the unnecessary print functionization which removes one of Python's greatest first-line simplicity selling points. But I will give you that Python 3 remains approachable as a first language. However on that front, inroads every day from JS, where a new coder can get "wow" results in the browser much more quickly than the boring ol' VT100 terminal.

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

#126

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…

You contribute the same borderline FUD in every thread that is related to Python. It's unfortunate that Python is not the language you want it to be, but consider just how dismissive you are of the needs of others - frankly, it comes across as arrogant.

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

#127
post #86

Earlier quoted context omitted.

In what way?

In variable names, for example. You can do this: >>> π = 3.14 In Python 2: >>> π = 3.14 File " ", line 1 π = 3.14 ^ SyntaxError: invalid syntax

  Python 2.7.10 (850edf14b2c7, Oct 29 2015, 17:32:05)
  [PyPy 4.0.0 with GCC 5.2.0] on linux2
  Type "help", "copyright", "credits" or "license" for more information.
  >>>> π = 3.14
    File "", line 1
      π = 3.14
      ^
  SyntaxError: Unknown character
Are you sure you weren't trying it in Python 3 (or PyPy3) rather than PyPy?

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

#128
post #62

Earlier quoted context omitted.

How can SciPy be fast if it is written in an interpreted language like Python? Actually, the time-critical loops are usually implemented in C or Fortran. Much of SciPy is a thin layer of code on top of the scientific routines that are freely available at http://www.netlib.org/ . Netlib is a huge repository of incredibly valuable and robust scientific algorithms written in C and Fortran. It would be silly to rewrite t…

This is also why the scipy/numpy crowd doesn't care much about PyPy. In this world Python is the equivalent of ducttape. You don't performance optimize ducttape, you want it to be easy to use and to fix any problem you have.

PyPy is taking a similar approach. The difference is Numpy is using CPython's CAPI as the duct tape where as PyPy is using cffi as the duct tape. Both approaches end up using the same underlying libraries.

Too many people just have the wrong impression, thinking that PyPy plans on re-implementing all the libraries that Numpy and scipy use but that's just completely false.

They have re-implemented the Numpy array so that it can take advantage of the JIT and so that parts of an algorithm implemented In Python that uses Numpy can also be optimized. Unlike what occurs when using Numpy under CPython where the Python code does not get optimized unless it is converted to Cython, C Code, or some alternative to Python to have it be optimized.

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

#129

> We would also like to thank our contributors (7 new ones since PyPy 2.6.0) and encourage new people to join the project. PyPy has many layers and we need help with all of them This doesn't match my experience of the PyPy project. I found a tiny bug in the stdlib matching against CPython, went into IRC to ask a question about test running to be sure I got it right and was quickly engaged in conversation about why I…

This is very very disingenuous. Here are the public IRC logs for what I assume you're referring to (which is from July 2014 by the way): https://botbot.me/freenode/pypy/2014-07-02/?msg=17362202&pag... You found a bug in an old version of PyPy. A core developer told you you might want to try a new one. No one stole your shot out from under you. You would undoubtedly be welcomed to contribute. Don't post FUD. Disclaime…

> Alex_Gaynor - simpson: import operator; operator.isNumberType is the check you want

> I'll push this change quickly

> Alex_Gaynor - uhh, wait the check seems to exist?

I dunno, I kinda see both sides here. First, I don't think the devs were off-base at all here. They were friendly and looking to solve problems. However, they did seem to want to simply solve the problem, while Matthew did state that he was looking at this as a way to contribute.

The whole interaction could have been improved with a little encouragement at the end, and possibly a recommendation of an 'easy' bug that was currently in need of a fix. It was fairly clear that there was an enthusiastic new contributor, so a little effort in this direction may have been warranted.

I certainly would consider this an example of being unfriendly or unwelcoming.

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

#130

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…

> you 3 guys ... Cloud cuckoo land ... your propaganda ... Does that register with you guys?

Your comments have been crossing into incivility. Please don't do that; it breaks the site rules and leads to tedious flamewars. I'm sure you can make your argument civilly and substantively if you try.

Post reply on HN