<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PyPy (Posts by Brian Kearns)</title><link>https://www.pypy.org/</link><description></description><atom:link href="https://www.pypy.org/authors/brian-kearns.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2026 &lt;a href="mailto:pypy-dev@pypy.org"&gt;The PyPy Team&lt;/a&gt; </copyright><lastBuildDate>Wed, 30 Sep 2026 20:34:16 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>NumPy on PyPy - Status Update</title><link>https://www.pypy.org/posts/2014/04/numpy-on-pypy-status-update-1103134247318103282.html</link><dc:creator>Brian Kearns</dc:creator><description>&lt;p&gt;Work on NumPy on PyPy continued in March, though at a lighter pace than the previous few months. Progress was made on both compatibility and speed fronts. Several behavioral issues reported to the bug tracker were resolved. The most significant of these was probably the correction of casting to built-in Python types. Previously, int/long conversions of numpy scalars such as inf/nan/1e100 would return bogus results. Now, they raise or return values, as appropriate.&lt;br&gt;
&lt;br&gt;
On the speed front, enhancements to the PyPy JIT were made to support virtualizing the raw_store/raw_load memory operations used in numpy arrays. Further work remains here in virtualizing the alloc_raw_storage when possible. This will allow scalars to have storages but still be virtualized when possible in loops.&lt;br&gt;
&lt;br&gt;
Aside from continued work on compatibility/speed of existing code, we also hope to begin implementing the C-level components of other numpy modules such as mtrand, nditer, linalg, and so on. Several approaches could be taken to get C-level code in these modules working, ranging from reimplementing in RPython to interfacing with existing code with CFFI, if possible. The appropriate approach depends on many factors and will probably vary from module to module.&lt;br&gt;&lt;br&gt;To try out PyPy + NumPy, grab a &lt;a href="https://buildbot.pypy.org/nightly/trunk/"&gt;nightly PyPy&lt;/a&gt; and install our &lt;a href="https://bitbucket.org/pypy/numpy"&gt;NumPy fork&lt;/a&gt;. Feel free to report comments/issues to IRC, our mailing list, or bug tracker. Thanks to the contributors to the &lt;a href="https://pypy.org/numpydonate.html"&gt;NumPy on PyPy&lt;/a&gt; proposal for supporting this work.&lt;/p&gt;</description><category>numpy</category><guid>https://www.pypy.org/posts/2014/04/numpy-on-pypy-status-update-1103134247318103282.html</guid><pubDate>Tue, 15 Apr 2014 20:08:00 GMT</pubDate></item><item><title>NumPy on PyPy - Progress in February</title><link>https://www.pypy.org/posts/2014/03/numpy-status-update-february-1245769841736493525.html</link><dc:creator>Brian Kearns</dc:creator><description>&lt;p&gt;More progress was made on the NumPy front in the past month. On the compatibility front, we now pass ~130 more tests from NumPy's suite since the end of January. Currently, we pass 2336 tests out of 3265 tests run, with many of the failures representing portions of NumPy that we don't plan to implement in the near future (object dtypes, unicode, etc). There are still some failures that do represent issues, such as special indexing cases and failures to respect subclassed ndarrays in return values, which we do plan to resolve. There are also some unimplemented components and ufuncs remaining which we hope to implement, such as nditer and mtrand. Overall, the most common array functionality should be working.&lt;br&gt;
&lt;br&gt;
Additionally, I began to take a look at some of the loops generated by our code. One widely used loop is dot, and we were running about 5x slower than NumPy's C version. I was able to optimize the dot loop and also the general array iterator to get us to ~1.5x NumPy C time on dot operations of various sizes. Further progress in this area could be made by using CFFI to tie into BLAS libraries, when available. Also, work remains in examining traces generated for our other loops and checking for potential optimizations.&lt;br&gt;
&lt;br&gt;
To try out PyPy + NumPy, grab a &lt;a href="https://buildbot.pypy.org/nightly/trunk/"&gt;nightly PyPy&lt;/a&gt; and install our &lt;a href="https://bitbucket.org/pypy/numpy"&gt;NumPy fork&lt;/a&gt;. Feel free to report comments/issues to IRC, our mailing list, or bug tracker. Thanks to the contributors to the &lt;a href="https://pypy.org/numpydonate.html"&gt;NumPy on PyPy&lt;/a&gt; proposal for supporting this work.&lt;br&gt;
&lt;br&gt;
Cheers,&lt;br&gt;
Brian&lt;/p&gt;</description><category>numpy</category><guid>https://www.pypy.org/posts/2014/03/numpy-status-update-february-1245769841736493525.html</guid><pubDate>Fri, 07 Mar 2014 05:05:00 GMT</pubDate></item><item><title>NumPy Status Update - December/January</title><link>https://www.pypy.org/posts/2014/02/numpy-status-update-decemberjanuary-4292961614234099787.html</link><dc:creator>Brian Kearns</dc:creator><description>&lt;p&gt;Work continued on the NumPy + PyPy front steadily in December and more lightly in January. The continued focus was compatibility, targeting incorrect or unimplemented features that appeared in multiple NumPy test suite failures. We now pass ~2/3 of the NumPy test suite. The biggest improvements were made in these areas:&lt;br&gt;
&lt;br&gt;
- Bugs in conversions of arrays/scalars to/from native types&lt;br&gt;
- Fix cases where we would choose incorrect dtypes when initializing or computing results&lt;br&gt;
- Improve handling of subclasses of ndarray through computations&lt;br&gt;
- Support some optional arguments for array methods that are used in the pure-python part of NumPy&lt;br&gt;
- Support additional attributes in arrays, array.flags, and dtypes&lt;br&gt;
- Fix some indexing corner cases that arise in NumPy testing&lt;br&gt;
- Implemented part of numpy.fft (cffti and cfftf)&lt;br&gt;
&lt;br&gt;
Looking forward, we plan to continue improving the correctness of the existing implemented NumPy functionality, while also beginning to look at performance. The initial focus for performance will be to look at areas where we are significantly worse than CPython+NumPy. Those interested in trying these improvements out will need a &lt;a href="https://buildbot.pypy.org/nightly/trunk/"&gt;PyPy nightly&lt;/a&gt;, and an install of the &lt;a href="https://bitbucket.org/pypy/numpy"&gt;PyPy NumPy fork&lt;/a&gt;. Thanks again to the &lt;a href="https://pypy.org/numpydonate.html"&gt;NumPy on PyPy&lt;/a&gt; donors for funding this work.&lt;/p&gt;</description><category>numpy</category><guid>https://www.pypy.org/posts/2014/02/numpy-status-update-decemberjanuary-4292961614234099787.html</guid><pubDate>Thu, 06 Feb 2014 19:06:00 GMT</pubDate></item><item><title>NumPy Status Update - November</title><link>https://www.pypy.org/posts/2013/12/numpy-status-update-november-364321959153372759.html</link><dc:creator>Brian Kearns</dc:creator><description>&lt;p&gt;Since the PyPy 2.2 release last month, more progress has been made on the NumPy compatibility front. Initial work has been directed by running the NumPy test suite and targeting failures that appear most frequently, along with fixing the few bugs reported on the bug tracker.&lt;br&gt;
&lt;br&gt;
Improvements were made in these areas:&lt;br&gt;
- Many missing/broken scalar functionalities were added/fixed. The scalar API should match up more closely with arrays now.&lt;br&gt;
- Some missing dtype functionality was added (newbyteorder, hasobject, descr, etc)&lt;br&gt;
- Support for optional arguments (axis, order) was added to some ndarray functions&lt;br&gt;
- Fixed some corner cases for string/record types&lt;br&gt;
&lt;br&gt;
Most of these improvements went onto trunk after 2.2 was split, so if you're interested in trying them out or running into problems on 2.2, try the
&lt;a href="https://buildbot.pypy.org/nightly/trunk/"&gt;nightly&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Thanks again to the &lt;a href="https://pypy.org/numpydonate.html"&gt;NumPy on PyPy&lt;/a&gt; donors who make this continued progress possible.&lt;br&gt;
&lt;br&gt;
Cheers,&lt;br&gt;
Brian&lt;/p&gt;</description><category>numpy</category><guid>https://www.pypy.org/posts/2013/12/numpy-status-update-november-364321959153372759.html</guid><pubDate>Mon, 09 Dec 2013 23:05:00 GMT</pubDate></item></channel></rss>