[Python-Dev] [ANN] VPython 0.1

2008-10-22 Thread J. Sievers
Hi, I implemented a variant of the CPython VM on top of Gforth's Vmgen; this made it fairly straightforward to add direct threaded code and superinstructions for the various permutations of LOAD_CONST, LOAD_FAST, and most of the two-argument VM instructions. Sources:

Re: [Python-Dev] [ANN] VPython 0.1

2008-10-22 Thread Paul Moore
2008/10/22 J. Sievers [EMAIL PROTECTED]: I implemented a variant of the CPython VM on top of Gforth's Vmgen; this made it fairly straightforward to add direct threaded code and superinstructions for the various permutations of LOAD_CONST, LOAD_FAST, and most of the two-argument VM

Re: [Python-Dev] [ANN] VPython 0.1

2008-10-22 Thread M.-A. Lemburg
On 2008-10-22 14:16, J. Sievers wrote: Hi, I implemented a variant of the CPython VM on top of Gforth's Vmgen; this made it fairly straightforward to add direct threaded code and superinstructions for the various permutations of LOAD_CONST, LOAD_FAST, and most of the two-argument VM

Re: [Python-Dev] [Python-3000] Backporting multiprocessing?

2008-10-22 Thread Christian Heimes
[EMAIL PROTECTED] wrote: I checked in the contents of my multiprocessing.tar file and opened issues #1 and #2. I added a setup.py, disabled recv_bytes_into for now and fixed lots of naming issues. The multiprocessing code is using the new names of the threading module (current_thread, is_alive

Re: [Python-Dev] [Python-3000] Backporting multiprocessing?

2008-10-22 Thread jnoller
Maybe we should backport those handy pep8 threading names ... ... Ok maybe not. On Oct 22, 2008 9:02am, Christian Heimes [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] wrote: I checked in the contents of my multiprocessing.tar file and opened issues #1 and #2. I added a setup.py, disabled

Re: [Python-Dev] [ANN] VPython 0.1

2008-10-22 Thread Leonardo Santagada
On Oct 22, 2008, at 10:16 AM, J. Sievers wrote: Hi, I implemented a variant of the CPython VM on top of Gforth's Vmgen; this made it fairly straightforward to add direct threaded code and superinstructions for the various permutations of LOAD_CONST, LOAD_FAST, and most of the

[Python-Dev] heapq, min and max

2008-10-22 Thread Kristján Valur Jónsson
Hello there. I was surprised to find recently that the heapq module is still a pure python implementation. A few years ago we wrote our own in C for use in Eve-online, and we usually do a import blue.heapq as heapq. Having a python implementation of it almost completely negates any benefit of

Re: [Python-Dev] heapq, min and max

2008-10-22 Thread Antoine Pitrou
Kristján Valur Jónsson kristjan at ccpgames.com writes: timeit.Timer((l.sort(), l[-1]), s).timeit(1000) 0.29406761513791935 This is clearly wrong. l.sort() will sort the list in place when it is first invoked, and therefore will be very fast in subsequent calls. Compare with:

Re: [Python-Dev] heapq, min and max

2008-10-22 Thread Kristján Valur Jónsson
Ooops, you are right. Silly error on my part. Still, my comment about heapq still stands, and [hack, slash] 0.39713821814841893 (old) 0.35184029691278162 (hakced, for special list treatment) So, there is a 12% performance boost to be had by specializing for lists. How about it? K

Re: [Python-Dev] heapq, min and max

2008-10-22 Thread Kristján Valur Jónsson
Ok. And sorry, I missed your part about heapq now having a c implementation. This is indeed good, I was misled by the presence of heapq.py. However, our own heapify() implementation is some 10% faster on a 1 element list of floats than the _heapq.heapify() version. I'll investigate the

Re: [Python-Dev] [Python-3000] Backporting multiprocessing?

2008-10-22 Thread skip
Christian I just implemented the recv_bytes_into function with the old Christian buffer protocol. All tests are passing on my Linux box Christian (Ubuntu 8.04 with gcc 4.2, AMD64 processor). Using Python v 2.6? So I don't need to horse around making test_multiprocessing.py API

Re: [Python-Dev] heapq, min and max

2008-10-22 Thread Antoine Pitrou
Kristján Valur Jónsson kristjan at ccpgames.com writes: 0.39713821814841893 (old) 0.35184029691278162 (hakced, for special list treatment) So, there is a 12% performance boost to be had by specializing for lists. How about it? It depends on the added code complexity. In any case, you

Re: [Python-Dev] Backporting multiprocessing?

2008-10-22 Thread Christian Heimes
[EMAIL PROTECTED] wrote: Using Python v 2.6? So I don't need to horse around making test_multiprocessing.py API compatible with processing 0.52? With Python 2.5.2 and 2.6.0 all tests are passing with any error. With Python 2.4.5 seven tests are failing because 2.4 doesn't support mmap with

Re: [Python-Dev] heapq, min and max

2008-10-22 Thread Kristján Valur Jónsson
I have submitted a patch for min() and max(): http://bugs.python.org/issue4174 -Original Message- It depends on the added code complexity. In any case, you should open an entry on the tracker and post your patch there. ___

Re: [Python-Dev] [ANN] VPython 0.1

2008-10-22 Thread skip
J I implemented a variant of the CPython VM on top of Gforth's Vmgen; this made J it fairly straightforward to add direct threaded code and superinstructions for J the various permutations of LOAD_CONST, LOAD_FAST, and most of the two-argument J VM instructions. J Sources:

Re: [Python-Dev] heapq, min and max

2008-10-22 Thread Terry Reedy
Kristján Valur Jónsson wrote: Ok. And sorry, I missed your part about heapq now having a c implementation. This is indeed good, I was misled by the presence of heapq.py. Duplicate Python/C code will probably become more common. Even if the Python is not used for prototyping (which I believe

Re: [Python-Dev] [ANN] VPython 0.1

2008-10-22 Thread skip
J I implemented a variant of the CPython VM on top of Gforth's Vmgen; J this made it fairly straightforward to add direct threaded code and J superinstructions for the various permutations of LOAD_CONST, J LOAD_FAST, and most of the two-argument VM instructions. Skip Trying to

Re: [Python-Dev] Backporting multiprocessing?

2008-10-22 Thread Christian Heimes
[EMAIL PROTECTED] wrote: Using Python v 2.6? So I don't need to horse around making test_multiprocessing.py API compatible with processing 0.52? I've backported the Python 2.5 svn version of mmap to 2.4 and added it as multiprocessing._mmap25. The port is just a proof of concept and most

Re: [Python-Dev] heapq, min and max

2008-10-22 Thread Kristján Valur Jónsson
I Kt just occurred to me: Even though l.sort() is sorting a presorted array, it still must be doing 1-1 RichCompares minimum, just like max. So how do we explain the large difference? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Antoine Pitrou

Re: [Python-Dev] heapq, min and max

2008-10-22 Thread Raymond Hettinger
I think this should be taken off of python-dev until you have some quality measurements, know what's going on, and have an actionable idea. Aside from list specialization versus a general iterator protocol, there is no fat in the min/max implementation. It loops, it compares, it returns. If we

Re: [Python-Dev] heapq, min and max

2008-10-22 Thread Antoine Pitrou
Raymond Hettinger python at rcn.com writes: If we wanted to go the distance and type specialize, it is possible to use the same ideas that used in Py2.6's builtin sum() to speed-up compares for particular types. Would it be useful to create a macro that packs some of the optimizations in

Re: [Python-Dev] heapq, min and max

2008-10-22 Thread Daniel Stutzbach
On Wed, Oct 22, 2008 at 3:51 PM, Raymond Hettinger [EMAIL PROTECTED] wrote: Aside from list specialization versus a general iterator protocol, there is no fat in the min/max implementation. It loops, it compares, it returns. Also, a primary use case for min/max is with just two inputs. We

Re: [Python-Dev] Backporting multiprocessing?

2008-10-22 Thread Christian Heimes
The latest svn version is now working with Python 2.4.4, Python 2.5.2 and Python 2.6.0 on Linux (Ubuntu AMD64, Debian i386) and Windows XP. On Windows the multiprocessing module requires ctypes and pywin32 under Python 2.4.4. Some of the examples aren't working correctly under 2.4 and 2.5.

Re: [Python-Dev] [ANN] VPython 0.1

2008-10-22 Thread David Ripton
Feedback is, of course, very welcome and it'd be great to have some pybench results from different machines. My results are very similar to Jakob's. Gentoo Linux, 32-bit x86, Athlon 6400+ underclocked to 3.0 GHz. make test: 282 tests OK. 5 tests failed: test_doctest test_hotshot

[Python-Dev] Python2.5 _sre deepcopy regression?

2008-10-22 Thread Andrew McNamara
In version of Python prior to 2.5, it would appear that deepcopying compiled regular expressions worked by accident: 2.4: copy.deepcopy(re.compile('')) _sre.SRE_Pattern object at 0xb7d53ef0 2.5: copy.deepcopy(re.compile('')) Traceback (most recent call last): File

Re: [Python-Dev] [ANN] VPython 0.1

2008-10-22 Thread Terry Reedy
David Ripton wrote: Feedback is, of course, very welcome and it'd be great to have some pybench results from different machines. My results are very similar to Jakob's. From looking thru the vmgen manual, there are two things it is doing that CPython is not. 1. gcc-specific threaded code;