Hacker News new | ask | show | jobs
by qeternity 2691 days ago
Great news, will have to give it a spin. A few of the Python 3.6 features were holding us back from deploying PyPy.
1 comments

How's pypy with numpy these days? It's been a while since I had a look and last time it was the big limiting factor for me
numpy works on pypy these days. You have to install it via pip and it does not have wheels, so it takes a few minutes to install, otherwise works. The numpy-heavy workloads will not be sped up by pypy, but depending on what you are exactly doing your python program might be faster in other parts.

We are actively trying to secure funding and goals to make numpy fast, now that it works and we are working together with numpy community to make sure it stays working.

IIRC, PyPy is actually slower on pure CFFI calls, so anything that is mostly Numpy/Pandas/Scikit will likely be slower in PyPy. At least this was the case when we were using PyPy 3.5.

But often the rest of your code base will experience dramatic increases in performance, and the penalty on already fast CFFI calls was not significant overall (in our use case).

I think you are confusing CFFI (which is massively faster under pypy) with CPython C API calls (which is both slower under pypy and ones used by numpy)
Do you have a donate link ? Would love to contribute.

Usually your donate links are mentioned on your blogspot and more than one person has told me that they are not sure this blogspot is authentic.

Do look into having a single static website with a blog - using something like Pelican (http://www.pelicanthemes.com)

Why does it matter if this blogspot is authentic? The "Donation page" link is to http://pypy.org/py3donate.html which is hosted under pypy.org.

The blog could be written by Trafalmadorian trolls, and it wouldn't matter - so long as you trusted that "pypy.org" was part of the PyPy project and that its connection to PayPal was valid.

I don't think your last comment is relevant. What I think you are saying is that the blog should be hosted under pypy.org and not blogspot. It could be WordPress or any other system.

It couldn't easily be Pelican because the blog supports comments, which means integrating with some other commenting system - plus authentication and spam detection. Why not get rid of the hassle of manually adding files and rebuilding the server and just use blogspot?

Lastly, are you really saying that people aren't donating to PyPy because some supportive blog site somewhere else, run by who knows who, isn't hosted on pypy.org?

yeah - because people dont go to the homepage. what gets tweeted out is this blogspot page (including here on HN). So people check out the nice blog post and see a donate link on the left of https://morepypy.blogspot.com/ and then go ...hmm, looks shady.

Not many read the blog post, then go to Google, search for pypy and then click the link and then donate.

Fundraising is not an easy process - there is an aspect of sales here. Blogspot may be easy.. but its not good branding. And that was my point - cos I want them to succeed.

Please explain how it looks shady, because I don't understand it.

If I start a blog - completely independent of PyPy - which promotes PyPy and describes the development efforts, and I want to encourage people to support the PyPy project, then I might link to the PyPy donation page, yes?

Yet, because I'm not affiliated with the project, I can't put the blog under pypy.org.

Would my blog also be shady? If so, doesn't that mean that no one should promote donating to a project unless that promotion is done under the project's domain?

You write "Not many read the blog post, then go to Google, search for pypy and then click the link and then donate."

That would be true even if the blog post were hosted under pypy.org. That is, why would anyone donate after reading one blog post?

I would think that more people would donate after they download PyPy, try it out, and see that it's worthwhile enough to fund.

In that case, they've already found out how to get PyPy, so there's no need to "Google, search for pypy" because they've already done that.

Nor is PyPy unusual in this respect. It's hard to find projects which have both a blog and a donate page. Of the 50 so projects I looked at, the following are "shady" according to your definition:

- the PSF blog (hosted on blogspot) links to the python.org page for donations, eg, https://pyfound.blogspot.com/search?q=donate .

- The Thunderbird blog has a posting like https://blog.mozilla.org/thunderbird/2018/08/whats-new-in-th... linking to https://donate.mozilla.org/thunderbird/ while the main Thunderbird page is at https://www.thunderbird.net/en-US/

while:

- Orange, with a blog at https://blog.biolab.si/ is a sibling subdomain to the main project site at https://orange.biolab.si/ , making it ... semi-shady? I mean, how are we to know that "biolab.si" is not some sort of large ISP where any of their customers can make a subdomain?

I did find a two places where the "donate" and "blog" pages were hosted on the same domain: http://rssbandit.org/ (which links to a SourceForce page which redirects to PayPal) and http://sagerss.com/ .

To summarize, I don't see why it's shady, your view seems to mean that no one should promote donating to a project except for the project itself, static site generation tools don't seem to be a good fit for blog support, and it doesn't seem like the effort to change to a single domain would have a worthwhile effect on improving the donation rate.

Click donate here: http://pypy.org/
Will scikit learn and pandas work without issue as well? Keen to try PyPy once I can run a typical data science stack.
Yes, both scikit-learn and pandas should work with PyPy.
Thanks for all the work you guys are doing! PyPy has been a case study in learning about JITs and alternative Python implementations for me over the past few years.
I've attempted to run it (not with this latest release yet though) and it appeared as if calling a numpy function essentially disabled the JIT for that function, which was not acceptable for us at that point. What did seem to help curiously was wrapping the numpy function in a python function and then calling that, which seemed to prevent the JIT being disabled in the calling function.
Curious why? We use numpy is easily optimizable areas so there's very little python code, and JITing a call to a C library is pointless.