Hi all, We have a tentative Win32 build of PyPy 1.7 including both the JIT and Stackless features (the '_continuation' primitive module and the app-level 'stackless' and 'greenlet' modules). It built and passed a good proportion of tests. If you are interested in helping, could a few people try to download it and tell us if it works, and if something is obviously missing? Thank you! http://buildbot.pypy.org/nightly/release-1.7.x/pypy-c-jit-49856-930f0bc4125a... A bientôt, Armin.
Hi, Thanks for you guys to create such amazing interpreter. I try the numpypy module and find this. import numpypy as np a=np.array([1,2,3]) a**2 # here the result is [0, 0 ,0], I think this is a bug a*2 # here the result is [2,4,6] Regards, Liu Zhenhai 2011/11/28 Armin Rigo <arigo@tunes.org>
Hi all,
We have a tentative Win32 build of PyPy 1.7 including both the JIT and Stackless features (the '_continuation' primitive module and the app-level 'stackless' and 'greenlet' modules). It built and passed a good proportion of tests.
If you are interested in helping, could a few people try to download it and tell us if it works, and if something is obviously missing? Thank you!
http://buildbot.pypy.org/nightly/release-1.7.x/pypy-c-jit-49856-930f0bc4125a...
A bientôt,
Armin. _______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev
On Mon, Nov 28, 2011 at 6:36 AM, 刘振海 <1989lzhh@gmail.com> wrote:
Hi,
Thanks for you guys to create such amazing interpreter.
I try the numpypy module and find this.
import numpypy as np a=np.array([1,2,3]) a**2 # here the result is [0, 0 ,0], I think this is a bug a*2 # here the result is [2,4,6]
Regards, Liu Zhenhai
2011/11/28 Armin Rigo <arigo@tunes.org>
Hi all,
We have a tentative Win32 build of PyPy 1.7 including both the JIT and Stackless features (the '_continuation' primitive module and the app-level 'stackless' and 'greenlet' modules). It built and passed a good proportion of tests.
If you are interested in helping, could a few people try to download it and tell us if it works, and if something is obviously missing? Thank you!
http://buildbot.pypy.org/nightly/release-1.7.x/pypy-c-jit-49856-930f0bc4125a...
A bientôt,
Armin. _______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev
_______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev
This appears to be totally broken independently of windows, on Linux I'm getting something that looks like sys.maxint instead of 0. Can you file a bug in our tracker for this? It's not going to be a release blocker for windows, but it'll be fixed in the next release. Alex -- "I disapprove of what you say, but I will defend to the death your right to say it." -- Evelyn Beatrice Hall (summarizing Voltaire) "The people's good is the highest law." -- Cicero
On Mon, Nov 28, 2011 at 9:40 PM, Alex Gaynor <alex.gaynor@gmail.com> wrote:
This appears to be totally broken independently of windows, on Linux I'm getting something that looks like sys.maxint instead of 0. Can you file a bug in our tracker for this? It's not going to be a release blocker for windows, but it'll be fixed in the next release.
import numpypy as numpy a = numpy.array([1,2,3]) a**2 array([4607182418800017408, 4607182418800017408, 4607182418800017408],
On OSX Snow Leopard pypy1.7 dtype=int64) mike
Similar experience with **2 for me on linux x64. On Mon, Nov 28, 2011 at 3:37 PM, mike c <coolbutuseless@gmail.com> wrote:
On Mon, Nov 28, 2011 at 9:40 PM, Alex Gaynor <alex.gaynor@gmail.com>wrote:
This appears to be totally broken independently of windows, on Linux I'm getting something that looks like sys.maxint instead of 0. Can you file a bug in our tracker for this? It's not going to be a release blocker for windows, but it'll be fixed in the next release.
On OSX Snow Leopard pypy1.7
import numpypy as numpy a = numpy.array([1,2,3]) a**2 array([4607182418800017408, 4607182418800017408, 4607182418800017408], dtype=int64)
mike
_______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev
On Tue, Nov 29, 2011 at 3:58 PM, Chris Wj <chris0wj@gmail.com> wrote:
Similar experience with **2 for me on linux x64.
This should be fixed by now. You can check tomorrow nightly
On Mon, Nov 28, 2011 at 3:37 PM, mike c <coolbutuseless@gmail.com> wrote:
On Mon, Nov 28, 2011 at 9:40 PM, Alex Gaynor <alex.gaynor@gmail.com> wrote:
This appears to be totally broken independently of windows, on Linux I'm getting something that looks like sys.maxint instead of 0. Can you file a bug in our tracker for this? It's not going to be a release blocker for windows, but it'll be fixed in the next release.
On OSX Snow Leopard pypy1.7
import numpypy as numpy a = numpy.array([1,2,3]) a**2 array([4607182418800017408, 4607182418800017408, 4607182418800017408], dtype=int64)
mike
_______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev
_______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev
Hi, The build has been "officialized" and is now available from https://bitbucket.org/pypy/pypy/downloads . A bientôt, Armin.
Armin Rigo <arigo <at> tunes.org> writes:
Hi,
The build has been "officialized" and is now available from https://bitbucket.org/pypy/pypy/downloads .
A bientôt,
Armin.
I tested the 1.7 release on Windows XP using some Stackless Python examples I have. Most of them worked fine, the only problem is that the performance when using Stackless is way slower than the 2.7.1 Stackless build from stackless.com Here is one example: Stackless Python 2.7.1 E:\Dev\Python\Scripts\Stackless>\Apps\stackless2.7\python.exe speed.py Started sleep for 5 seconds. Started sleep for 0.2 seconds. Started sleep for 2 seconds. Started sleep for 1 seconds. Started sleep for 3 seconds. 100000 operations took: 0.18700003624 seconds. Woke after 0.2 seconds. ( 0.203000068665 ) 200000 operations took: 0.344000101089 seconds. 300000 operations took: 0.5 seconds. 400000 operations took: 0.625 seconds. 500000 operations took: 0.733999967575 seconds. Woke after 1 seconds. ( 1.0 ) Woke after 2 seconds. ( 2.0 ) Woke after 3 seconds. ( 3.0 ) Woke after 5 seconds. ( 5.0 ) PyPy 1.7 E:\Dev\Python\Scripts\Stackless>..\..\..\sandbox\pypy-1.7\pypy.exe speed.py Started sleep for 5 seconds. Started sleep for 0.2 seconds. Started sleep for 2 seconds. Started sleep for 1 seconds. Started sleep for 3 seconds. Woke after 0.2 seconds. ( 0.234999895096 ) Woke after 1 seconds. ( 1.0 ) Woke after 2 seconds. ( 2.0 ) Woke after 3 seconds. ( 3.0 ) Woke after 5 seconds. ( 5.0 ) 100000 operations took: 13.8280000687 seconds. 200000 operations took: 25.25 seconds. 300000 operations took: 34.3599998951 seconds. 400000 operations took: 41.2819998264 seconds. 500000 operations took: 46.015999794 seconds. Here is the code used: ------------------------------- import stackless import time sleepingTasklets = [] def Sleep(secondsToWait): ''' Yield the calling tasklet until the given number of seconds have passed. ''' channel = stackless.channel() endTime = time.time() + secondsToWait sleepingTasklets.append((endTime, channel)) sleepingTasklets.sort() # Block until we get sent an awakening notification. channel.receive() def CheckSleepingTasklets(): ''' Function for internal uthread.py usage. ''' while stackless.getruncount() > 1 or sleepingTasklets: if len(sleepingTasklets): endTime = sleepingTasklets[0][0] if endTime <= time.time(): channel = sleepingTasklets[0][1] del sleepingTasklets[0] # We have to send something, but it doesn't matter what as it is not used. channel.send(None) stackless.schedule() stackless.tasklet(CheckSleepingTasklets)() def doStuff(mult=1): st = time.time() c = 0 for i in xrange(int(100000*mult)): c = c + 1 stackless.schedule() print 100000*mult, " operations took: " , time.time() - st , " seconds." def sleepalittle(howmuch): print "Started sleep for", howmuch, " seconds." st = time.time() Sleep(howmuch) print "Woke after ", howmuch, " seconds. (", time.time()-st, ")" stackless.tasklet(doStuff)(1) stackless.tasklet(sleepalittle)(5) stackless.tasklet(sleepalittle)(0.2) stackless.tasklet(doStuff)(2) stackless.tasklet(doStuff)(3) stackless.tasklet(sleepalittle)(2) stackless.tasklet(sleepalittle)(1) stackless.tasklet(sleepalittle)(3) stackless.tasklet(doStuff)(4) stackless.tasklet(doStuff)(5) stackless.run() ------------------------------- Probably this is due to JIT being disabled when using Stackless features. Other than the performance, it's working fine with the examples I tested from: http://code.google.com/p/stacklessexamples/ Congratulations for the great work.
Hi, On Thu, Dec 1, 2011 at 18:38, Carlos Eduardo <carlosedp@gmail.com> wrote:
(...) Probably this is due to JIT being disabled when using Stackless features.
Other than the performance, it's working fine with the examples I tested from: http://code.google.com/p/stacklessexamples/
Great to know. Indeed, it's probably because the JIT is disabled. If you would like to have better performance, then please put your example code in a new bug report (http://bugs.pypy.org/), where people can complain and try to motivate us to fix the issue :-) It is involved, but at least it is a well-defined issue. A bientôt, Armin.
participants (7)
-
Alex Gaynor
-
Armin Rigo
-
Carlos Eduardo
-
Chris Wj
-
Maciej Fijalkowski
-
mike c
-
刘振海