#pypy IRC log for Saturday, 2012-01-21

ronny (~ronny@pida/ronny) joined #pypy.00:03
davisagli (~davisagli@davisagli.com) joined #pypy.00:07
csenger (~user@dslb-084-058-172-023.pools.arcor-ip.net) left irc: Quit: ERC Version 5.3 (IRC client for Emacs)00:11
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 255 seconds00:13
fprimex (~fprimex@fl-67-233-144-239.dhcp.embarqhsd.net) left irc: Quit: Leaving00:17
stakkars_ (~tismer@i59F6CE14.versanet.de) left irc: Quit: schnarch00:22
Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 248 seconds00:22
mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy.00:27
mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host00:27
mfoord (~anonymous@python/psf/voidspace) joined #pypy.00:27
Tobu (~Tobu@unaffiliated/tobu) joined #pypy.00:32
fijalAlex_Gaynor: we should publish rules00:35
mikefcfijal: I think that would be helpful.  00:37
Tobu_ (~Tobu@unaffiliated/tobu) joined #pypy.00:38
Tobu (~Tobu@unaffiliated/tobu) left irc: Read error: Connection reset by peer00:38
Action: mikefc is currently following down the rabbithole what needs to be done to copy numpy's diag python code over without changes.00:39
int3__ (~int3__@bb116-14-228-5.singnet.com.sg) joined #pypy.00:42
Tobu_ (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 272 seconds00:45
mikefcfijal: can you suggest something to work on?00:45
mikefcpython diag() relies on flatiter which is still in-flight.00:47
Tobu (~Tobu@unaffiliated/tobu) joined #pypy.00:50
timotimomikefc: i've recently tried to implement numpy.flatten (i believe)00:53
timotimothe basic functionality is already done, but there's the "order" attribute, which doesn't work yet00:53
timotimosorry, i meant ravel00:54
timotimohttps://gist.github.com/1627867 � with test case for the basic functionality, too00:54
mikefcI'm stuck in a loop, where everything requires something else. I want to reuse the numpy tests as much as possible, but they all rely on things which also don't exist yet - or arguments we don't parse yet. so something which seems like i'd be able to do, runs into a deadend because all the tests would have to be rewritten.  I'm hunting for that thread to unravel. I think I might go do smoething else today.00:56
timotimoi know the feeling :\00:57
timotimoyou could start work on numpy.random :)00:57
timotimoi once implemented a "big" part of it by just using pythons random module, but it wasn't seed compatible00:57
timotimoso that got thrown out until further notice00:58
dripton (~dripton@pool-72-86-45-238.clppva.fios.verizon.net) joined #pypy.00:58
mikefctimotimo: yeah. i looked at random as well. because some tests rely on it.  but got sucked into a blackhole.00:59
timotimopoor you01:00
mikefcheh01:00
timotimoi've recently been asked to maybe make numpy.where or what it was called01:00
Trundle (~andy@python/site-packages/trundle) left irc: Remote host closed the connection01:02
nedbat (~nedbat@python/psf/nedbat) joined #pypy.01:02
bbot24Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/78201:03
pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) left irc: Read error: Connection reset by peer01:04
dripton (~dripton@pool-72-86-45-238.clppva.fios.verizon.net) left irc: Quit: Konversation terminated!01:10
pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) joined #pypy.01:14
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) joined #pypy.01:17
arkx (~aku@eagleflow.fi) joined #pypy.01:33
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/3801:33
etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum01:36
squiddy (~squiddy@f053084067.adsl.alicedsl.de) left irc: Quit: Leaving01:37
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/21101:38
int3__ (~int3__@bb116-14-228-5.singnet.com.sg) left irc: Remote host closed the connection01:40
nettok (~quassel@190.148.29.72) joined #pypy.01:44
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) left irc: Remote host closed the connection01:45
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) joined #pypy.01:47
mfoord_ (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy.01:53
mfoord_ (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host01:53
mfoord_ (~anonymous@python/psf/voidspace) joined #pypy.01:53
mfoord (~anonymous@python/psf/voidspace) left irc: Ping timeout: 240 seconds01:53
durin42 (~durin@adium/durin42) left irc: Read error: Operation timed out01:55
durin42 (~durin@adium/durin42) joined #pypy.01:59
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/193302:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/68402:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/33402:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/34402:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/68202:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/120102:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/86502:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/151802:00
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/79502:00
mfoord_ (~anonymous@python/psf/voidspace) left irc: Quit: mfoord_02:10
mikefctimotimo: why isn't your ravel patch in the code?02:14
timotimomikefc: because it doesn't do enough yet :)02:19
timotimoyou can feel free to build support for the "order" argument ;)02:19
mikefcthe order argument looks like a big refactor.02:29
timotimothat's what i figured and that's why i didn't plan to do it :)02:32
papercrane (~papercran@75.101.111.82) left irc: Quit: Computer has gone to sleep.02:34
justinpeel (~justinpee@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.02:45
justinpeel (~justinpee@c-76-23-44-72.hsd1.ut.comcast.net) left irc: Ping timeout: 245 seconds02:54
Shanita (~John@osbk-4db15131.pool.mediaWays.net) left irc: Ping timeout: 240 seconds03:03
Shanita (~John@osbk-4db17e97.pool.mediaWays.net) joined #pypy.03:03
ericflo (~ericflo@75.103.8.110) left irc: Quit: ericflo03:19
ericflo (~ericflo@75.103.8.110) joined #pypy.03:20
ericflo (~ericflo@75.103.8.110) left irc: Client Quit03:20
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/33403:25
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/102103:26
Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 252 seconds03:34
pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) left irc: Quit: pnguyen03:44
dracman (~draco@212.255.37.212) left irc: Ping timeout: 252 seconds03:45
dracman (~draco@212.255.43.210) joined #pypy.03:51
Tobu (~Tobu@unaffiliated/tobu) joined #pypy.03:57
tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy.04:09
tilgovi (~randall@couchdb/developer/tilgovi) left irc: Remote host closed the connection04:26
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) joined #pypy.04:27
pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) joined #pypy.04:27
bbot23Success: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/193304:29
pnguyen (pnguyen@cpe-70-112-214-119.austin.res.rr.com) left #pypy.04:29
pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) joined #pypy.04:30
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 276 seconds04:38
mikefchmm. I can't even make a var with axis arg.04:42
scitesy (~scitesy@d118-75-236-90.nap.wideopenwest.com) joined #pypy.04:49
Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 272 seconds04:56
JaRoel (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection05:01
justinpeel (~justinpee@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.05:02
scitesy (~scitesy@d118-75-236-90.nap.wideopenwest.com) left irc: Quit: Leaving05:13
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/151805:34
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/86505:36
Tobu (~Tobu@unaffiliated/tobu) joined #pypy.05:45
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) left irc: Quit: Konversation terminated!05:51
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/68205:56
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/120105:56
dracman (~draco@212.255.43.210) left irc: Remote host closed the connection05:57
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/68405:59
pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) left irc: Read error: Connection reset by peer06:26
pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) joined #pypy.06:26
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep.06:34
DanKluev (~root@93-88-3-229-xdsl.vntc.ru) left irc: Ping timeout: 240 seconds06:36
DanKluev (~root@93-88-3-229-xdsl.vntc.ru) joined #pypy.06:37
justinpeel (~justinpee@c-76-23-44-72.hsd1.ut.comcast.net) left irc: Ping timeout: 240 seconds06:44
Taggnostr (~quassel@dyn57-362.yok.fi) joined #pypy.06:54
bbot23Success: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/79506:59
nettok (~quassel@190.148.29.72) left irc: Quit: http://quassel-irc.org - Chatee cómodamente donde sea.07:04
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/34407:09
asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer_07:10
Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 272 seconds07:23
Tobu (~Tobu@unaffiliated/tobu) joined #pypy.07:31
antocuni (~antocuni@89-40.5-85.cust.bluewin.ch) joined #pypy.08:01
csenger (~user@dslb-084-058-150-061.pools.arcor-ip.net) joined #pypy.08:18
rguillebert (~rguillebe@89-40.5-85.cust.bluewin.ch) joined #pypy.08:23
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy.08:28
ggherdov (~giovanni@ppp-sei21-46-193-160.128.wb.wifirst.net) joined #pypy.08:32
sacred_coder (~rambaho@202.3.77.231) joined #pypy.08:43
sacred_coderhi08:45
sacred_coder (~rambaho@202.3.77.231) left irc: Client Quit08:45
sacred_coder (~rambaho@202.3.77.231) joined #pypy.08:46
arigato (~arigo@89-40.5-85.cust.bluewin.ch) joined #pypy.09:02
Tobu (~Tobu@unaffiliated/tobu) left irc: Read error: Operation timed out09:02
antocuni (~antocuni@89-40.5-85.cust.bluewin.ch) left irc: Quit: Leaving09:13
Tobu (~Tobu@unaffiliated/tobu) joined #pypy.09:19
kenaan12rguillebert py3k 11328a6033f00a 15/pypy/interpreter/test/test_generator.py: Port the generator applevel tests to py3k09:25
arigatohttp://paste.pocoo.org/show/538153/09:28
arigatothis program takes forever on pypy09:29
arigatoah baaaah09:31
arigatothe RPython code runs  "del items[0:0]"09:32
arigatofor every slice assignment09:32
arigatoand this case is not optimized09:32
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.09:36
kenaan12arigo default 11a9118db9d0bc 15/pypy/objspace/std/: Fix a complexity bug: if 'b' is a large bytearray,      b[small_slice] = small_string  used to take a time proporti...09:42
pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) left irc: Read error: Connection reset by peer09:45
EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) left irc: Ping timeout: 252 seconds09:45
rguillebertpypy3k's pdb doesn't work so I can't put a pdb in applevel code :S09:47
kenaan12rguillebert py3k 1176974f372468 15/pypy/interpreter/test/test_interpreter.py: Some applevel code porting for test_interpreter09:49
amaury_arigato: listobject.py has the same code09:49
pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) joined #pypy.09:55
arigatoargh? grumble09:55
arigatoindeed09:55
rguilleberthi amaury_ 10:04
amaury_hi10:04
rguillebertdid you rename _socket.accept to _socket._accept on purpose ?10:04
amaury_yes10:04
amaury_I think10:04
amaury_so did CPython10:05
rguillebert(just to know if I should fix the code or the test)10:05
kenaan12rguillebert py3k 11538110d792c0 15/pypy/module/signal/test/test_signal.py: Port test_signal's applevel tests to py3k10:14
squiddy (~squiddy@f053084032.adsl.alicedsl.de) joined #pypy.10:15
kenaan12arigo default 115c3a4d558079 15/pypy/objspace/std/: lists have the same performance issue as bytearray objects.  Fix.10:18
kenaan12bivab extradoc 11e398e08fdd6b 15/sprintinfo/leysin-winter-2012/planning.txt: planning for today10:22
arigatorandom issue10:22
arigatoif z is a float10:22
Tobu (~Tobu@unaffiliated/tobu) left irc: Read error: Operation timed out10:22
arigatowhere can we replace "z**2" with "z*z"?10:23
arigato("replace" as in "optimize automatically")10:23
fijalfor what is worth it seems to return the same value bitwise10:24
fijalfor some values of z10:24
arigatoyes, I'm also discovering that, but I have no clue how10:24
fijalmaybe processor does this for us?10:25
fijaldid you actually check if it's any slower to use **?10:25
arigatoyes, it is much slower10:26
arigatobut I rather think that it's libm that does it for us10:26
arigatothe processor doesn't have a power operation, and instead libm in the general case computes it with log and exp10:27
fijalhttp://ridiculousfish.com/blog/posts/will-it-optimize.html10:27
pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) left irc: Quit: pnguyen10:27
arigatothat's why I would expect it to have rounding errors10:27
fijalso you can do x * 2.0 to x + x10:27
fijal(I know a bit unrelated)10:27
arigatoindeed, "math.exp(math.log(z) * 2.0)" is slightly different than "z**2"10:28
price (~price@LINERVA.MIT.EDU) left irc: Ping timeout: 248 seconds10:28
fijallibc reading time?10:28
arigatowell we can't rely on libm's behavior10:28
fijalno, I mean if libm does that, then it's valid10:29
arigatono10:29
fijalor not necesarilly?10:29
arigatobecause on non-Linux machines it may be wrong10:29
arigatoif we want to optimize the case, we need to add it to floatobject.py I think10:29
arigatoit's wrong to put an optimization in the JIT10:30
arigatoin general10:30
fijalwhy?10:30
arigatoI thought this would be clear by now?  but I guess it's all very confusing10:31
arigatobecause if the libm call to pow(x,2.0) returns a number slightly different from x*x10:31
arigatoand we only optimize JITted code to replace pow(x,2.0) with x*x10:32
arigatothen we get slightly bogus results due to the JIT10:32
pedronisjitted and non jitted code should produce the same results10:36
Action: pedronis stating the "obvious"10:36
arigatoprecisely :-)10:36
fijalmhm :/10:37
kenaan12arigo default 11c5d041657831 15/pypy/rpython/lltypesystem/module/ll_math.py: Special-case in RPython the case of "x ** 2.0".10:38
fijalnow we get bridges I guess in some cases10:38
arigatoyes10:38
amaury_rguillebert: pdb should now work in translated pypy-c and bin/py.py10:38
amaury_err, when I push my changes :)10:38
rguillebert:)10:38
fijalarigato: btw, how is the limited tracing experiment going?10:39
arigatofijal: my current guess is that such bridges are really rare, but of course there might be a corner case10:39
arigatofijal: anto left the sprint already, but all in all, it doesn't seem to give improvements10:39
arigatothe tracing time is still far too much for very-short-running programs10:39
fijaldid you look at traces?10:39
fijalah ok10:39
arigatoyes, the traces are as expected10:39
fijaltracing is slow :/10:39
arigatoyes10:40
fijalthe case I explained earlier exaggerates the issue as well10:40
fijal(about trace-mark-as-too-long-trace-mark-as-too-long-trace...)10:40
fijalarigato: note that we already return slightly different results than say cpython10:44
fijal(on x86 linux)10:45
arigatofijal: yes10:45
arigatobut we decided to return the same results as ourselve-just-half-a-second-before-when-not-jitted10:45
fijalyes :)10:45
fijal"obviously so"10:45
fijalOn Darwin systems, the math library never sets "errno".10:48
rguillebertamaury_, shouldn't we run 2to3 on applevel tests ?10:49
amaury_2to3 won't convert strings to byte literals10:49
amaury_why?10:49
ronnyamaury_: it generally asumes they are meant to be text10:50
amaury_which is wrong for many of our tests10:51
CIA-1703Dmitrey 07roundup * 10#1012/numpypy: bug with dot: 10:51
CIA-17[new] I had informed of the bug in mail list, but I see is still present in latest10:51
CIA-17build, let me put it here into bug tracker for more safety:10:51
CIA-17> ... * 14https://bugs.pypy.org/issue101210:51
rguillebertwe can still run some of the fixers10:52
rguillebertlike except10:52
rguillebertor exec10:52
amaury_there are more issues with exec10:52
amaury_when the exec statement appears in a nested function,10:53
amaury_it *must* specify the "in" clause10:53
amaury_(in 2.x)10:53
amaury_so if you put parentheses to please 3.x10:53
amaury_the whole .py can't be imported by python 2.x10:53
rguilleberterf10:54
amaury_my solution so far is to have a method in the AppTest class:   def w_exec_(self, cmd, ns): exec(cmd, ns)10:56
amaury_and use self.exec_() in the test10:56
ronan (~ronan@host81-132-98-87.range81-132.btcentralplus.com) left irc: Ping timeout: 240 seconds10:57
rguillebertand it won't be parsed by python2 ?10:58
rguillebertanyway we can apply stuff that is valid in both python2.7 and python311:00
csenger (~user@dslb-084-058-150-061.pools.arcor-ip.net) left irc: Read error: Operation timed out11:02
csenger (~user@dslb-084-058-150-061.pools.arcor-ip.net) joined #pypy.11:07
CIA-1703Dmitrey 07roundup * 10#1013/numpypy: all() and any() with axis argument give incorrect result yet: 11:08
CIA-17[new] Folk, you keep so strict rules of code commit quality for newcomers, while your11:08
CIA-17own code yields incorrect result even on examples from func ... * 14https://bugs.pypy.org/issue101311:08
DasIch (~DasIch@p3E99143F.dip.t-dialin.net) joined #pypy.11:08
kvda (~kvda@124-169-134-221.dyn.iinet.net.au) joined #pypy.11:10
amaury_more success -> more people -> more opinions on development rules11:14
arigato:-)11:15
rguillebertamaury_, I meant that we should run 2to3 on classes that start with AppTest, not on the entire file11:17
amaury_on *methods* of these classes11:17
amaury_only "def test_" methods11:18
fijaleh11:18
amaury_no setup_class, for example11:18
fijalwhat should I reply?11:18
fijalall his bugs are shallow and not really worth mentioning I'm afraid :/11:18
arigatofijal: well, from another point of view, I see his point,11:19
arigatoand you should review fromnumeric.py11:20
fijalarigato: yes, i see his point, agreed11:20
rguillebertamaury_, then we agree :)11:20
arigatoat least comment out the arguments that are so far ignored, or assert that they are none :-)11:20
fijalarigato: or remove fromnumeric alltogether until we're ready to copy it unchanged11:21
fijalif this is a problem11:21
arigatoyes, because our fromnumeric.py is completely untested so far :-)11:21
fijalthat's nto true11:22
arigatoah11:22
fijalpypy/module/test_lib_pypy11:22
arigatook, but then it's not tested enough, which is kind of expected right now11:23
arigatoe.g. any() and all() are not tested at all11:23
fijalI don't know, I think we should remove fromnumeric alltogether11:24
fijalfor now11:24
fijalbecause it seems it's falling out of sync as well11:24
amaury_rguillebert: OTOH, except for test_unicodeobject.py which was tedious11:25
amaury_I don't find these transformations too long to do11:26
amaury_there are more questions about the features that changed between versions11:26
rguillebertyes probably11:26
amaury_and I'm more worried about "test_all.py -A" not working anymore11:26
amaury_except for simple cases11:27
amaury_this -A option is important to test your test11:27
amaury_against CPython3.211:27
amaury_and be sure that we implement the correct features11:28
rguillebertyes I check on python3 when I'm not sure11:28
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1202 [12bivab, arm-backend-2]11:31
rguillebertindeed I get a segfault...11:33
amaury_with python3?11:33
csengerfijal: should I file the ticket for the buildbot on https://bitbucket.org/pypy/buildbot/issues or bugs.pypy.org ?11:33
kenaan12arigo default 1175795d0a00d2 15/pypy/translator/goal/translate.py: Disable the error about "pypy translate.py" overwriting the same "pypy" if we are actually only running it partly, ...11:34
rguillebertno on python211:34
rguillebertit doesn't make sense to run it on python2 anyway11:35
rguillebertbut the interpreter segfaults in test_ast.py11:35
csengerfijal: And a second question. Will the nightly test choose the default branch automatically? For cpython, this is python3. Do I have to fix that to 2.7 in the builder or can this be configured in the buildbot master?11:36
fijalcsenger: bugs pypy org11:36
fijalcsenger: yes, fix it to 2.7, python 3 does not run most of those benchmarks (all?)11:36
Tobu (~Tobu@unaffiliated/tobu) joined #pypy.11:37
amaury_rguillebert: yes, CPython2.7 ast module has some known crashers11:41
rguillebertso should we use a python3 friendly py.test, and fix some scripts or it's more complicated ?11:42
rguillebertthere's the issue of setup_class...11:44
fijalmeh, mess cleanup :/11:46
amaury_it's more complex than that11:47
amaury_rguillebert: all our test files import pypy modules11:48
rguilleberterf11:48
rguillebertI see11:48
fijaluh11:49
amaury_I have a partial solution, see pypy/conftest.py: run_with_python11:49
fijalI think a macro defining a static local function that does lazy loading there is a bit obscene11:49
amaury_but this only copies the function11:49
amaury_and won't work with methods11:49
rguilleberta (terrible) solution would be to put all imports (minus the one starting with "pypy.") and the app level test class in a py.code.Source and run that.11:58
fijalis there a way to do space.import_something?11:59
fijalor should I just do applevel hook11:59
fijal?11:59
rguillebertspace.sys.getmodule() ?12:00
CIA-1703fijal 07roundup * 10#1013/numpypy: all() and any() with axis argument give incorrect result yet: 12:00
CIA-17[resolved] Thanks dmitrey, provided asserts wherever it's not supported. The problem is12:00
CIA-17pure python copied code, we should somehow make sure it ... * 14https://bugs.pypy.org/issue101312:00
fijalrguillebert: that does only work with builtins, doesn't it?12:01
rguillebertthere's space.getbuiltinmodule12:01
rguillebertso I guess they're different12:01
rguillebertif I grep getmodule there's some imports of datetime12:02
rguillebertno sorry that's getbuiltinmodule :S12:05
hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy.12:05
mikefcfijal: feel free to remove fromnumeric. it was premature.12:05
voidspace (~voidspace@python/psf/voidspace) left irc: Quit: Bye...12:10
fijalmikefc: it's fine by now12:10
fijalmikefc: if you are bored we can move var & std back to applevel12:10
fijalI think the policy should be12:10
fijal* don't implement something in rpython which is pure python in numpy12:11
fijal* pure python from numpy should be as unmodified as possible12:11
kenaan12fijal default 115a6305c3c894 15/: add a few asserts, propagate axis where it works12:12
kenaan12fijal default 116a0c4cca12c4 15/pypy/translator/goal/translate.py: merge12:12
mikefcfijal: yep. so back out all my patches :)12:16
Action: mikefc browses through numpy source12:17
fijalmikefc: I'm improving the situation12:17
kenaan12amauryfa py3k 112c98a32d1484 15/: hg merge default12:19
kenaan12amauryfa py3k 11e613284ce7f5 15/lib_pypy/readline.py: pyrepl has a lot of SyntaxErrors at the moment. gracefully raise an ImportError in readline.py12:19
kenaan12amauryfa py3k 11af3dee783792 15/: Merge heads12:19
kenaan12amauryfa py3k 11a718c93124eb 15/pypy/interpreter/argument.py: Fix translation12:19
csenger (~user@dslb-084-058-150-061.pools.arcor-ip.net) left irc: Ping timeout: 252 seconds12:19
stakkars_ (~tismer@p5DDB5C07.dip.t-dialin.net) joined #pypy.12:21
stakkars (~tismer@p5DDB5C07.dip.t-dialin.net) left irc: Read error: Connection reset by peer12:21
Nick change: stakkars_ -> stakkars12:21
fijal (~fijal@196-210-150-33.dynamic.isadsl.co.za) left irc: Ping timeout: 240 seconds12:23
whyking (~quassel@ip68-14-13-208.ri.ri.cox.net) left irc: Ping timeout: 240 seconds12:25
ousado (~ousado@unaffiliated/ousado) left irc: Ping timeout: 252 seconds12:27
Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 248 seconds12:29
ousado (~ousado@31-18-105-38-dynip.superkabel.de) joined #pypy.12:29
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1202 [12bivab, arm-backend-2]12:30
arigatohow do I convert a .texi file to an .info file?12:31
Action: arigato asks google12:31
whyking (~quassel@ip68-14-13-208.ri.ri.cox.net) joined #pypy.12:31
sacred_coder_ (~rambaho@202.3.77.231) joined #pypy.12:32
Action: arigato thanks david12:32
sacred_coder_ (~rambaho@202.3.77.231) left irc: Client Quit12:33
ousado_ (~ousado@31-18-105-38-dynip.superkabel.de) joined #pypy.12:34
ousado__ (~ousado@hmbg-5f763559.pool.mediaWays.net) joined #pypy.12:35
ousado (~ousado@31-18-105-38-dynip.superkabel.de) left irc: Ping timeout: 272 seconds12:35
ousado (~ousado@31-18-105-38-dynip.superkabel.de) joined #pypy.12:36
ousado__ (~ousado@hmbg-5f763559.pool.mediaWays.net) left irc: Read error: Connection reset by peer12:36
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 252 seconds12:37
fijal (~fijal@41-134-244-137.dsl.mweb.co.za) joined #pypy.12:38
jaffachief (~textual@host86-170-15-228.range86-170.btcentralplus.com) joined #pypy.12:39
ousado_ (~ousado@31-18-105-38-dynip.superkabel.de) left irc: Ping timeout: 252 seconds12:39
kenaan12bivab arm-backend-2 11ce782a82bacb 15/pypy/jit/backend/arm/opassembler.py: off by one error when extracting call arguments in guard_call_xxx operations12:39
kenaan12bivab arm-backend-2 11f81818811f73 15/pypy/: merge default12:39
ousado (~ousado@31-18-105-38-dynip.superkabel.de) left irc: Changing host12:44
ousado (~ousado@unaffiliated/ousado) joined #pypy.12:44
csenger (~user@2001:4dd0:fd53:101:a288:b4ff:fe6d:2f88) joined #pypy.12:48
anish_ (~anish@123.201.34.32) joined #pypy.12:51
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.12:53
DasIch (~DasIch@p3E99143F.dip.t-dialin.net) left irc: Quit: DasIch12:56
fijalcan we remove app_numpy by now?12:58
Tobu (~Tobu@unaffiliated/tobu) joined #pypy.12:59
ronan (~ronan@host81-132-104-230.range81-132.btcentralplus.com) joined #pypy.13:04
fijalmikefc: look at the branch I just started13:10
kenaan12fijal numpy-back-to-applevel 1178fdc8d84157 15/pypy/module/micronumpy/: start working on a branch that moves back stuff from interp-level to app-level13:12
christophlerhey hey, how do I go about finding where "assignment" is implemented, for example, in the stdobject space?13:13
rguillebertfijal, if you're still trying to import modules at interplevel, I think you can use the imp module13:13
christophlerOh, ive been lurking here for long enough to realise I dont really understand what you are doing... either the maths of numpy (which Iforgot from uni) or the structure of pypy, but Ill keep studiying and get there sometime13:14
stakkars (~tismer@p5DDB5C07.dip.t-dialin.net) left irc: Read error: Connection reset by peer13:14
stakkars_ (~tismer@p5DDB5C07.dip.t-dialin.net) joined #pypy.13:14
bubo (~bubo@91-114-178-53.adsl.highway.telekom.at) joined #pypy.13:14
stakkars_ (~tismer@p5DDB5C07.dip.t-dialin.net) left irc: Read error: Connection reset by peer13:15
stakkars (~tismer@p5DDB5C07.dip.t-dialin.net) joined #pypy.13:15
amaury_christophler: "assignment" is not exactly an object space operation13:15
amaury_it's about where you store the value13:16
stakkars_ (~tismer@p5DDB5C07.dip.t-dialin.net) joined #pypy.13:16
stakkars (~tismer@p5DDB5C07.dip.t-dialin.net) left irc: Read error: Connection reset by peer13:16
Nick change: stakkars_ -> stakkars13:16
jaffachief (~textual@host86-170-15-228.range86-170.btcentralplus.com) left irc: Quit: Computer has gone to sleep.13:17
fijalrguillebert: I just used applevel13:19
fijalchristophler: hi13:19
dzen (benoit@ausone.vineolia.fr) left #pypy.13:19
fijalchristophler: what are you looking for precisely?13:19
christophlerfijal: hello13:21
christophlerwell13:21
christophlerif in the source code of a program I have "a = b", I must have somewhere or other "point a at whatever object b is currently pointed at"...13:22
christophlermaybe some references to stack frames or some other artifact of the current execution environment13:24
christophler(excuse my c like word, i realise they may not be exactly accurate)13:24
christophleramaury_: what kind of operation is it?13:25
amaury_it's an "interpreter" operation, implemented with opcodes: STORE_NAME, STORE_LOCALS...13:26
christophleramaury_: seems to me an object space could change the definition of "=" "assignment" to ... print "Hello World"13:27
amaury_no13:27
christophlerreally?13:27
christophlerhmm13:27
christophlerwhat about the "behaviour of the "=" character in source code? could an object space change that?13:28
amaury_not an object space13:28
amaury_you need to change the bytecode compiler13:28
amaury_and have it emit different bytecodes13:28
christophlerso an object space can change the definition of "a + b" and implement whatever based on the types of a and b, but "a = b" is *always* emitted as register assignment opcodes?13:29
hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Remote host closed the connection13:29
amaury_yes13:30
christophlerph13:30
christophleroh13:30
bubo (bubo@91-114-178-53.adsl.highway.telekom.at) left #pypy.13:30
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) joined #pypy.13:30
christophlerwhy? :)13:30
amaury_like CPython, you can override __add__13:31
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 255 seconds13:32
christophlerso then I want to look somwhere in the interpreter for where "=" assignment is implemented and start from there? Is there any particularly huge design reason why "=" couldnt be implemented by object spaces in the same way as "+"?13:32
arigatoit's similar to the standard Python newbie question: "why can I override __add__ on my classes, but not say "__assign__?"13:33
rguillebertchristophler, it's how the bytecode is designed13:33
christophlerarigato: sounds similar to me, except this isnt standard Python...13:33
amaury_pypy *is* a standard Python...13:34
arigatoI'm talking about the Python language, so yes, this is standard Python13:34
christophlercould I add a hook into the interpreter somewhere to allow the applevel to modify the behaviour of "="?13:34
kenaan12fijal numpy-back-to-applevel 11f53826f6f84a 15/pypy/module/micronumpy/: add count_reduce_numbers13:34
rguillebertchristophler, it's implemented in the compiler13:35
amaury_in pypy/interpreter/pyopcode.py13:35
amaury_you have the implementation of opcodes13:35
arigatochristophler: you're asking for a very non-Pythonic feature, but yes, you can add the hook by hacking at the pypy source code, just like you could hack at the CPython source code in C13:35
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy.13:36
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Remote host closed the connection13:36
JaRoel|4d (~jaroel|4d@2001:980:7133:1:4483:1e9a:552c:afb9) joined #pypy.13:36
christophleryes, I think that breaking open assignment is a core requirement of any move forward is programming languages. Was part of my thesis in 2004, a thesis which is hugely helped by the implementation of pypy, thanks for that13:36
zain (~textual@bzq-79-179-136-94.red.bezeqint.net) joined #pypy.13:37
arigatoit's very un-Pythonic because e.g. what about all other ways to "pass objects around", like give parameters to a function, give a value to the variable of a "for" statement, etc. etc.?13:37
christophlerarigato: 13:37
christophleryes13:37
christophlerexactly13:37
christophlereach of these points is like a "milestone marker" in the data dependcy graph of a program13:38
christophlerwhere implicit or expliciy in the source code, I need hooks for all the points where "assignments" take place13:38
christophlerand a guarantee that they will always be called13:39
arigatobasically, if you want to play with this at the language level, then feel free to --- it's not particularly easier or harder in pypy vs cpython, but the #pypy channel is full of people who are not really interested :-)13:39
kvda (~kvda@124-169-134-221.dyn.iinet.net.au) left irc: Quit: x___x13:40
arigato(it *is* easier in pypy than in cpython if you don't know C well, of course)13:41
christophlerarigato: interesting... Ive found that, for example, the idea that pypy can divorce implementation of dict from the actual source code usage of it, and all the other strange optimisations of pypy are based very much on that kind of separation of source from behaviour.13:41
arigatochristophler: the key point is that it's optimizations that (1) don't change the language, and (2) give benefits on existing programs13:41
kenaan12fijal numpy-back-to-applevel 111ff91b2e045c 15/: Add missing files, to progress, we need out attribute (Which is pointless on pypy btw)13:42
arigatoin particular, (1) is very very important for us :-)13:42
dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) left irc: Ping timeout: 244 seconds13:43
christophler1 is a requirement of the language being python and leveraging existing programs/libraries, 2.. well now theres the crux of the matter13:44
christophlerok, well maybe im thinking about this the wrong way.. Here's a question:13:45
christophlerIf I wanted to label some object as "dirty" if it referenced a value which had changed, how could I go about that?13:45
arigatojust saying that adding a hook on assignments is a language change, and opens language design questions --- so is off-topic for #pypy13:45
arigato(or mostly off-topic at least)13:46
christophlerok, wheres the "OMG what if we did THIS" channel13:46
exarkunchristophler: python-ideas@python.org13:46
christophlerhmm. ok13:46
exarkunchristophler: or #yournewlanguage :)13:46
exarkunchristophler: (I don't mean that in a discouraging way)13:46
exarkunchristophler: I wonder if your thesis is online anywhere13:47
christophlernot any more13:47
christophlerill try and dig one up13:47
kenaan12fijal numpy-back-to-applevel 11d6c604ffffa0 15/: rebinding is a bit harmful for now. Let's not do it13:48
fijalnext step - true divide13:49
fijalarigato: "good" it seems we can start reusing numpy13:49
fijalbut we have to review performance implications though13:50
arigato:-)13:50
fijalbecause storing an array in-place is harmful in pypy13:50
fijal(even if it worked)13:50
fijallike13:50
fijalx = some_numpy_operation(x, out=x)13:51
fijalwould force stuff without a reason (I think)13:51
Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 272 seconds13:51
kenaan12fijal numpy-back-to-applevel 11ac6129336b42 15/lib_pypy/numpypy/core/_methods.py: change rebindings, nonsense13:52
Tobu (~Tobu@unaffiliated/tobu) joined #pypy.13:53
DasIch (~DasIch@p3E99143F.dip.t-dialin.net) joined #pypy.13:55
dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) joined #pypy.13:58
legogris (~legogris@c80-217-207-157.bredband.comhem.se) left irc: Ping timeout: 255 seconds13:59
fijal (~fijal@41-134-244-137.dsl.mweb.co.za) left irc: Ping timeout: 252 seconds14:00
legogris (~legogris@c80-217-207-157.bredband.comhem.se) joined #pypy.14:01
rguillebertin Frame.locals_stack_w do the parameters have to be first ?14:05
scitesy (~scitesy@d118-75-236-90.nap.wideopenwest.com) joined #pypy.14:07
rguillebertargh !!! nevermind14:07
christophlerthe thesis was at edinburgh uni, btw... still cant find it14:09
xcombelle (~xcombelle@AToulouse-551-1-118-27.w92-156.abo.wanadoo.fr) joined #pypy.14:14
stakkars_ (~tismer@p5DDB5C07.dip.t-dialin.net) joined #pypy.14:16
stakkars (~tismer@p5DDB5C07.dip.t-dialin.net) left irc: Read error: Connection reset by peer14:16
Nick change: stakkars_ -> stakkars14:16
amaury_hmm, time to kill _file.W_File in the py3k branch14:24
nanonymeHow's the py3k branch doing, btw? Can you do something interesting with it?14:25
scitesy (~scitesy@d118-75-236-90.nap.wideopenwest.com) left irc: Quit: Leaving14:29
amaury_"interesting", I don't know14:32
amaury_it can at least run the test suite14:32
amaury_part of it even passes14:32
rguillebertyou say that just when I want to add a py3k-only applevel test :(14:33
amaury_rguillebert: kwonly arguments look broken14:35
rguillebertthat's what I was testing :)14:35
rguillebertit screws up if you have default arguments14:35
amaury_ah, right14:36
amaury_warnings.py fails becaus of this14:36
amaury_it means I have a workaround :)14:36
rguillebertthe order of the default parameters on the stack isn't good14:37
Eventh (evenwiik@lynx.stud.ntnu.no) joined #pypy.14:52
kenaan12rguillebert py3k 11250aef313572 15/pypy/module/itertools/test/test_itertools.py: Start to port test_itertools' apptests to py3k14:54
kenaan12rguillebert py3k 1139eb4a258003 15/pypy/interpreter/astcompiler/test/test_compiler.py: Add a test for keyword-only arguments14:54
antocuni (~antocuni@host52-123-dynamic.16-79-r.retail.telecomitalia.it) joined #pypy.14:58
arigatophew.  I've read the gcc docs about the STM library they provide14:59
arigatoit supports more than we do (or likely need), but also probably scales better14:59
unbit (~unbit@93-58-162-185.ip159.fastwebnet.it) left irc: Remote host closed the connection15:00
antocunihi15:03
rguilleberthi15:03
Action: antocuni arrived safely at home :-)15:03
bivabantocuni: do you still have some snow on the car? :)15:04
cocoatomohi15:04
arigatohi15:04
antocunibivab: no, but down in the valley I found a swiss policemen which complained because I still had too much of it and it was falling to the road15:04
arigato:-)15:05
unbit (~unbit@93-58-162-185.ip159.fastwebnet.it) joined #pypy.15:05
antocuniarigato: am I supposed to clean my car of the snow before going around or it's just that policeman which was annoyed?15:06
exarkundriving around is how you clean snow off :)15:06
antocuniyes :-)15:06
arigatoI have no clue :-)15:07
Action: antocuni expected this answer :-)15:07
antocuni_ (~antocuni@host155-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy.15:11
nedbat (~nedbat@python/psf/nedbat) joined #pypy.15:12
antocuni (~antocuni@host52-123-dynamic.16-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds15:14
jacob22In Sweden you are considered to be driving around with unanchored cargo if you don't scrape the snow off before starting to drive. People have been fined for this.15:17
csenger (~user@2001:4dd0:fd53:101:a288:b4ff:fe6d:2f88) left irc: Read error: No route to host15:17
dripton (~dripton@pool-72-86-45-238.clppva.fios.verizon.net) joined #pypy.15:30
zain (~textual@bzq-79-179-136-94.red.bezeqint.net) left irc: Quit: Computer has gone to sleep.15:32
fijal (~fijal@196-210-150-33.dynamic.isadsl.co.za) joined #pypy.15:33
driptonfijal, can I have the commit bit to checkin my datetime fix to https://bugs.pypy.org/issue972 ?15:36
icrazyhack (horieyui@222.47.125.36) joined #pypy.15:38
fijaldripton: can you provide a test case for it as well?15:42
driptonyes, I'll add one15:42
fijalit should go into module/test_lib_pypy/test_lib_pypy15:42
fijalcool, I can commit if you do that15:43
driptonok15:43
fijaldripton: shout if you have a problem btw :)15:49
driptonok15:49
icrazyhack (horieyui@222.47.125.36) left irc: Quit: http://www.cnblogs.com/crazyhack15:50
legogris (~legogris@c80-217-207-157.bredband.comhem.se) left irc: Ping timeout: 252 seconds15:52
legogris (~legogris@c80-217-207-157.bredband.comhem.se) joined #pypy.15:53
driptonfijal, do I need to translate pypy to ensure that the correct version of datetime is used when I run my test, or can I just run py.test from the test directory?15:56
fijaldripton: no15:56
fijalpy.test <particular file>15:56
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 252 seconds15:57
driptonThat should work, but I'm getting the weird error:15:57
driptonpy.test: error: no such option: --assertmode15:57
driptonI will check my py.test install.15:57
ronnydripton: use the pytest from the checkout15:58
driptonronny, I'll try that, thanks.15:58
fijaldripton: py.test changes APIs every Wed15:59
fijalthat's why we ship our own16:00
kenaan12fijal numpy-back-to-applevel 11b31c0d563d03 15/pypy/module/micronumpy/: shuffle stuff around16:03
driptonbitbucket just kicked the bucket updating my pull request16:03
tumbleweeddripton: yup, i tdoes that...16:04
tumbleweedfijal: workaround for a teast lockup I was seeing on kfreebsd. Don't know why the pipe between parent and child seems to be buffered, but... http://paste.pocoo.org/show/538282/16:04
kenaan12RonnyPfannschmidt pytest 11513060cd54e5 15/: syncronize pylib and pytest with current hg versions16:04
ronnyhmm, how do i run the tests on that one again?16:04
driptonfijal, the unit test has been added to https://bitbucket.org/pypy/pypy/pull-request/21/datetimepy-fix-for-issue972-with-unit-test16:06
fijalthe test passes right?16:07
driptonyes16:08
fijal(I have no way of checking before pulling this in :/16:08
fijal)16:08
driptonI can paste the output of the py.test run if you want to see it.16:08
fijalno no, it's fine :)16:08
fijalI believe you :)16:08
fijaldripton: can you clean up the os.environ?16:09
driptonyes16:09
Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 252 seconds16:09
fijalideally it would be something like os.environ['TZ'] = GMT16:09
fijaltry:16:09
fijal...16:09
fijalfinally: os.environ['TZ'] = previous16:09
driptonsorry, I was thinking it got cleared after running the test, but of course if multiple tests run in same process...16:09
fijalor del os.environ16:09
fijalyes16:09
arigatofijal: you can pull from http://bitbucket.org/dripton/pypy into your own working copy16:09
driptonI'll do the try/finally16:09
fijalthey're run in the same process16:09
fijaldripton: note that it should put back the value if there was one, or delete it if there was not16:10
fijalarigato: yes, just realized :)16:10
fijaldripton: and thanks for doing this btw!16:10
antocuni_ (~antocuni@host155-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds16:12
rguillebert1h30 to find a bug and the fix is a oneliner \o/16:12
fijalrguillebert: typical jit stuff is like 5 days to find a bug, a day to write a test and a one line fix16:15
fijalask arigato :)16:15
rguillebert:D16:15
rguillebertwell my fix breaks other stuff...16:15
ronnywould anyone miss pypy/test_all.py?16:16
arigatoronny: yes, e.g. all the buildbots16:16
fijalronny: I would16:16
Alex_Gaynorarigato: can't they replace in with ./pytest.py16:16
driptonfijal: updated https://bitbucket.org/pypy/pypy/pull-request/21/datetimepy-fix-for-issue972-with-unit-test to clean up TZ16:16
fijalronny: it's the only way coverage works16:17
Alex_Gaynorfijal: coverage works with pytest.py16:17
arigatoI never understood why pytest.py was added when we already have test_all.py16:17
arigatobut the point is that tons of legacy code uses test_all.py16:17
ronnywell, then how about killing pytest.py16:18
ggherdov (~giovanni@ppp-sei21-46-193-160.128.wb.wifirst.net) left irc: Remote host closed the connection16:18
fijalAlex_Gaynor: ok, it does not work with py.test16:18
driptoncoverage works with py.test if you have the pytest-cov plugin16:18
fijalronny: I guess people on #pypy never understood py.test's "break stuff" policy in general16:18
justinpeel (~justinpee@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.16:19
ronnydripton: the main issue is that coverage is not loaded early enough16:19
ronnydripton: which is fixed in the custom pytest.py/test_all.py16:19
driptonronny: thanks.  I've only used pytest-cov with normal non-crazy code, and it works fine there.16:19
ronnydripton: it only shows up if you do extended things with conftests16:20
Tobu (~Tobu@unaffiliated/tobu) joined #pypy.16:20
anish_ (~anish@123.201.34.32) left irc: Ping timeout: 240 seconds16:21
kenaan12dripton default 11235d8b8434a8 15/lib_pypy/datetime.py: Copy function utcfromtimestamp from CPython 3.2's datetime.py  Fixes issue972, which was caused by rounding diffe...16:26
kenaan12dripton default 1107e667cb75a4 15/pypy/module/test_lib_pypy/test_datetime.py: Add a test to prove that datetime issue972 (and dupe issue986) are fixed.16:26
kenaan12dripton default 11eeedeffe6525 15/pypy/module/test_lib_pypy/test_datetime.py: Clean up os.environ["TZ"] when we're done, in case other tests follow.16:26
fijalAlex_Gaynor: is true_divide just divide promote_to_float=True?16:26
fijalseems so16:26
Alex_Gaynorfijal: might be, don't bother trying to read the numpy source, it's scary for ufuncs16:26
fijalI read docs though16:27
fijaldripton: thank you!16:27
fijaldripton: and sorry it took so long16:27
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) left irc: Remote host closed the connection16:27
CIA-1703fijal 07roundup * 10#972/inconsistency with cpython (datetime?): [resolved] Merged * 14https://bugs.pypy.org/issue97216:27
driptonfijal: happy to help with a little bug16:27
sacred_coder (~rambaho@202.3.77.231) left irc: Quit: Ex-Chat16:28
sacred_coder (~rambaho@202.3.77.231) joined #pypy.16:28
nedbatif anyone wants help with running coverage, just let me know.16:30
fijalnedbat: with py.test not with coverage16:31
fijalAlex_Gaynor: masked arrays lurk around the corner btw16:31
nedbatfijal: does that not use coverage.py?16:32
Alex_Gaynorfijal: what's a masked array?16:32
Alex_Gaynornedbat: it does, our issues are just with py.test apparently16:32
nedbatAlex_Gaynor: ok16:33
fijalAlex_Gaynor: I'm very close to remove __str__ and __repr__16:34
fijalAlex_Gaynor: it's an array that has some values marked as invalid16:34
Alex_Gaynorfijal: and replace with numpy's?16:34
fijal"a mask"16:34
fijalyes16:34
Alex_Gaynorgreat16:34
fijalI'm just adding random stuff that's necessary16:35
fijalone issue though16:35
fijalout argument is harmful on pypy, even if it worked16:35
fijalso we remove it16:35
fijal(modify numpy code)16:35
sacred_coder_ (~rambaho@202.3.77.231) joined #pypy.16:36
Alex_Gaynorright16:37
fijalmeh16:37
fijal:/16:37
fijalNone and NoneNotWrapped magic is a bit too much IMO :/16:38
Alex_Gaynorperhaps, but it's not too terribel16:38
fijalwell16:40
fijalyou can't make it really work if you want to call this from rpython level program16:40
fijalwell16:40
fijalif you call it both from python and rpython, you have to write bizzare things like16:41
ronnyhmm16:41
fijalif x is None or space.is_w(x, space.w_None16:41
fijal):16:41
ronnywhen did we last run the tests of testrunner?!16:41
fijalronny: 513060cd54e516:43
fijalwhat's that doing?16:43
fijalyou just updated py.test version in pypy?16:43
ronnyfijal: aslo fixing some small issues16:43
arigatomeh.  I "lost" my afternoon trying to understand how gcc's libitm works16:44
fijalronny: was this discussed with anyone by chance?16:44
fijallike armin16:44
arigatothe answer is: it doesn't work for our use case at all, because it goes to "GIL-mode" as soon as a transaction writes to memory16:44
fijalarigato: nice16:44
fijalronny: this usually breaks a lot of stuff16:45
fijallike armin's hacks or my hacks16:45
arigato(more precisely, it has a GIL that gets only acquired when a transaction does its first write)16:46
ronnyfijal: thats why i made it a branch16:46
fijalronny: I would like to be able to run release buildbots without changing code in the release for example16:46
fijalah16:46
arigato(but it's still far too much for our case)16:46
fijalronny: did not see the branch sorry :/16:46
kenaan12RonnyPfannschmidt pytest 118237f969655e 15/pypy/test_all.py: resuffle the code in pypy/test_all.py, so a ./pytest.py run will not confuse at collection time16:47
kenaan12RonnyPfannschmidt pytest 11e17af4cf9825 15/pypy/pytest.ini: switch pytest.ini over new option name16:47
kenaan12RonnyPfannschmidt pytest 115a86baac8343 15/pypy/: add 2 missing __init__.py files so those test files can be discovered correctly16:47
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.16:50
khs (khs@151.43.202.84.customer.cdi.no) left #pypy ("Leaving").16:50
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1934 [12ronny, pytest]16:52
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/796 [12ronny, pytest]16:52
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-win-x86-32/builds/543 [12ronny, pytest]16:52
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1203 [12ronny, pytest]16:52
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/685 [12ronny, pytest]16:52
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/335 [12ronny, pytest]16:52
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/345 [12ronny, pytest]16:52
ronnywhops16:52
ronnyshouldnt have started too many16:52
fijalronny: anyway, why you think we would like to have py.test updated?16:53
ronnyfijal: due to a cli option rename stuff started to go messy wrt just invoking py.test on something16:53
jaffachief (~textual@host86-170-15-228.range86-170.btcentralplus.com) joined #pypy.16:54
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer16:54
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.16:56
kenaan12arigo stm 11bee9a6779dd0 15/pypy/translator/stm/using_libitm/stm2itm.h: Adding a libitm wrapper.  Not used so far, and crashes anyway because libitm doesn't expect _ITM_RU?() calls when not i...16:56
CIA-1703Dmitrey 07roundup * 10#1014/numpypy sum() buggy with axis: (log message trimmed)16:57
CIA-17[new] it doesn't handle correctly even its docstring examples:16:57
CIA-17>>>> np.sum([[0, 1], [0, 5]], axis=1)16:57
CIA-17616:57
CIA-17>>>> np.sum([[0, 1], [0, 5]], axis=0) * 14https://bugs.pypy.org/issue101416:57
fijalronny: I mean each new version of py.test is a combination (as far as I'm concerned) of feature removal that I use, feature introduction that I don't use and some new bugs16:58
ronnyfijal: the 2.x series is pretty stable wrt the hooks16:58
ronnyfijal: also please publish your hacks, i'd love to mess around with them16:59
CIA-1703fijal 07roundup * 10#1014/numpypy sum() buggy with axis: [resolved] It's fixed already. hg pull * 14https://bugs.pypy.org/issue101416:59
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer16:59
Alex_Gaynorfijal: Do you mind if I commit new features to numpypy ATM?17:00
fijalAlex_Gaynor: like what?17:01
Alex_Gaynorfijal: ndarray.flatten17:01
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.17:01
fijalAlex_Gaynor: not at all17:01
fijalAlex_Gaynor: commit ndarray.ravel as well17:01
fijaland update lib_pypy to reflect the new state17:01
Alex_Gaynorfijal: is there a patch, or I need to write it?17:01
CIA-1703Dmitrey 07roundup * 10#1014/numpypy sum() buggy with axis: 17:02
CIA-17[chatting] thanks, I'll wait for todays build - it's better for me than building from17:02
CIA-17sources on my computer. * 14https://bugs.pypy.org/issue101417:02
kenaan12alex_gaynor default 116eb004a15a12 15/pypy/module/micronumpy/: Implement numpypy.ndarray.flatten17:02
fijalAlex_Gaynor: write what?17:03
Alex_Gaynorfijal: ravel()17:03
gutworthoh, great composer :)17:03
Alex_Gaynor?17:03
CIA-1703fijal 07roundup * 10#1014/numpypy sum() buggy with axis: 17:03
CIA-17[resolved] You can just update it and put pypy in say checkout/compiled but you also can17:03
CIA-17test it on top of py.py * 14https://bugs.pypy.org/issue101417:03
Alex_Gaynoroh, hehe17:03
fijalAlex_Gaynor: yes, you ahve to write it17:04
fijalAlex_Gaynor: your implementation is broken17:04
Alex_Gaynorfijal: how?17:05
fijala.T.flatten()17:05
fijala[::2].flatten()17:05
fijaletc.17:05
fijalno?17:05
Alex_GaynorI have a test for [::2]17:05
fijalno17:05
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer17:05
fijaladd a test for .T17:05
fijalravel is the same except it does not always make a copy17:05
Alex_Gaynorpff, indeed, it is incorrect with .T17:06
fijalthe question is "does x[:] = a.T work?"17:06
fijalronny: for example a feature that was removed ages ago and never brought back is displaying number of tests in the test file17:07
fijaleager collection is also very annoying17:07
Alex_Gaynorfijal: yes it does, somehow17:08
Alex_Gaynorhttp://paste.pocoo.org/show/538312/17:08
Alex_Gaynormitsuhiko: WOuld it be fair for pygmets to allow 4 >>>> in the Python console lexer?17:08
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.17:10
Alex_Gaynorfijal: I'm a bit not sure, it seems to follow the same code as setslice17:12
fijalL:.17:12
fijal:/17:12
Alex_Gaynorlet me commit the failing test17:12
kenaan12alex_gaynor default 11637b4cfa4f65 15/pypy/module/micronumpy/test/test_numarray.py: A failing test for flatten17:13
fijalarigato: note that cpython also runs the cyclic gc collector17:13
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer17:13
fijalit's not a given which one is worst with swap, but they're both bad17:13
arigatotrue :-/17:14
fijaland it really matters what you mean by cpython17:14
fijal2.6 and 2.7 will have vastly different behavior17:14
ronnyfijal: wrt the force-build tool, whats the point in twisted, when its serialized by a DeferedLock?17:15
fijalronny: it's shamelessly stolen, ask exarkun17:15
Alex_Gaynorfijal: do you have a clue how to fix this?17:15
fijalAlex_Gaynor: not right now17:15
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.17:16
fijalAlex_Gaynor: I'm implementing keepdims17:16
Alex_Gaynorwtf is that?17:16
Tobu (~Tobu@unaffiliated/tobu) left irc: Read error: Operation timed out17:16
Tobu (~Tobu@unaffiliated/tobu) joined #pypy.17:17
arigatohum, my hack for "float ** 2.0" doesn't automatically apply to complex numbers17:17
fijalAlex_Gaynor: numpy.add.reduce(..., axis=1, keepdims=True)17:17
fijaldoes not remove axis 1, just makes it size 117:17
zain (~textual@bzq-79-179-136-94.red.bezeqint.net) joined #pypy.17:18
Alex_Gaynorarigato: would it be reasonable to add jit.isconstant(y) and y == 2.0:17:18
Alex_Gaynorthat way we only tak ethe fast path when there's no bridge?17:18
arigatono17:18
Alex_Gaynorwhy not?17:19
arigatoshould I write a 3rd time my longish explanation? :-)17:19
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer17:19
Alex_GaynorAre they not numerically equal in some case?17:19
arigatobecause then we get a slightly different result before and after the JIT17:19
Alex_Gaynorreally?17:19
arigatoon Linux they are, but it's a property of the libm17:19
Alex_GaynorGCC transforms pow(x, 2.0) into x * x always17:19
Alex_Gaynorah17:19
Alex_Gaynorobscure17:19
arigatoI'm sure there are some other libm's where it's not the case17:20
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.17:21
ronan (~ronan@host81-132-104-230.range81-132.btcentralplus.com) left irc: Ping timeout: 240 seconds17:23
Alex_Gaynorfijal: Does http://paste.pocoo.org/show/538320/ look ok, or too much of a hack?17:24
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer17:24
Alex_Gaynorthe issue is Slice tries to broadcast, but we don't want to (x[:] = 2d array isn't legal)17:25
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.17:26
fijalhackish-but-ok17:28
kenaan12arigo default 1176e23aa1ef63 15/pypy/objspace/std/: Special-case for "complex ** 2" too.17:28
Alex_Gaynorfijal: ok :)17:30
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer17:30
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.17:31
kenaan12alex_gaynor default 11fe8a844cd0d0 15/pypy/module/micronumpy/interp_numarray.py: Fix for flatten() with certain types of arrays.17:33
kenaan12alex_gaynor default 111ebae6842fb2 15/pypy/objspace/std/: merged upstream17:33
DasIch (~DasIch@p3E99143F.dip.t-dialin.net) left irc: Quit: DasIch17:33
Alex_Gaynorfijal: why does .T force an array to be concrete?17:35
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer17:35
fijalno idea17:35
kenaan12fijal numpy-back-to-applevel 11a045db574996 15/pypy/module/micronumpy/: add true divide17:35
kenaan12fijal numpy-back-to-applevel 110fcad0cba011 15/pypy/module/micronumpy/: implement keepdims=True17:35
fijalAlex_Gaynor: because we didn't bother with transformation actually17:35
fijalgood17:35
fijalvar passes :)17:35
ronan (~ronan@host86-143-208-191.range86-143.btcentralplus.com) joined #pypy.17:35
Alex_Gaynorfijal: I'll stick it in planning.txt17:37
fijalAlex_Gaynor: flatiter as well17:37
fijaland .flatten() as well btw17:37
Alex_Gaynorfijal: I just comitted flatten...17:38
Alex_Gaynorflatten() needs a copy of the data, it's not just a view17:38
fijalwhy it has to force though?17:38
fijalit does not need copy more than a + b does17:39
Alex_Gaynoryou're saying it should return a lazy obj17:39
`fox` (~fox@host223-109-dynamic.5-87-r.retail.telecomitalia.it) joined #pypy.17:39
Alex_GaynorI mean, in theory copy() could do that, but it's a bit too much IMO17:39
Alex_Gaynoryou have ravel() if that's what you want17:39
kenaan12alex_gaynor extradoc 11dcdfbead3f5f 15/planning/micronumpy.txt: note that .T is forcing arrays17:40
sacred_coder (~rambaho@202.3.77.231) left irc: Quit: Ex-Chat17:41
fijaloh17:45
fijalAlex_Gaynor: multiply.reduce has axis=0 by default17:45
Alex_Gaynorfijal: is that different from other ones?17:46
fijalyes17:46
fijalsum has axis=None17:46
fijalsum(2-d array) = scalar17:46
Alex_Gaynornumpy is insane17:46
fijalmultiply.reduce(2-d array) = 1-d array17:47
Alex_Gaynorwhat about add.reduce17:47
fijalI'm trying to figure out what's the key :)17:47
fijalaxis=017:47
Alex_Gaynorwell, sum isn't a ufunc17:47
Alex_Gaynorthat's all17:47
fijalwell17:47
Alex_Gaynorso it's actually sort of sane17:47
fijala.sum -> scalar17:47
Alex_Gaynorreduce seems to always do a single-dimensionlity reduction17:47
Alex_Gaynorwhereas sum() and prod() produce a scalar by default17:47
arigatobut a.sum(axis=0) returns a scalar if the array is 1-dimentional, and an array if it's more17:50
arigatoso it never returns a 0-dimentional array17:50
mattip (4fb56922@gateway/web/freenode/ip.79.181.105.34) joined #pypy.17:50
kenaan12fijal numpy-back-to-applevel 11890ac4e99e93 15/pypy/module/micronumpy/: a bit of shuffling until all the tests pass17:51
mattiphi17:51
fijalarigato: never, correct17:51
fijalmattip: hi17:51
antocuni_ (~antocuni@host155-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy.17:51
fijalE           Blocked block -- operation cannot succeed17:51
fijalE            v83 = getattr(space_0, ('w_NotImplementedError'))17:51
kenaan12fijal numpy-back-to-applevel 1192d15f3d3e45 15/pypy/module/micronumpy/test/test_ufuncs.py: fix one more test17:51
fijalarigato: how hard this is to fix?17:51
arigatomoreover, a.sum(axis=large_value) gives a ValueError, except if a is a zero-dimensional array17:52
bbot24Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1934 [12ronny, pytest]17:52
arigatofijal: you're using a fake space?17:52
mattipI'm happy to put refactoring to_str on my todo list.17:53
fijalarigato: good point17:54
fijalmattip: it's nto really "refactoring"17:54
fijalit's "removing"17:54
fijal:)17:54
Action: arigato -> dinner17:54
arigato (~arigo@89-40.5-85.cust.bluewin.ch) left irc: Quit: See you17:54
fijalmattip: feel like doing more ufuncs instead?17:55
fijalmattip: I'll remove it and put numpy array_string instead17:55
fijalcopy-pasted from numpy17:55
Action: mattip reading how numpy does it17:55
mattipwhat I really want to do is prove there's a bug with iterating a.T[:,:]17:55
mattipand then solve it.17:55
fijalmattip: that sounds like a good target17:56
fijalmattip: it seems you already have a lot on your plate17:56
fijalT, flatiter, matrixmath.dot17:56
fijalyou don't need more :)17:56
mattipyes.17:56
mattipThey're all stuck at the same place ^^^17:56
fijalcan I help with one or another?17:56
mattipso it's linear17:56
kenaan12fijal numpy-back-to-applevel 11220d6c657b35 15/pypy/module/micronumpy/compile.py: translation fix for test zjit17:56
fijalAlex_Gaynor: I think this branch is ready for review & merge17:57
Alex_Gaynorfijal: numpy-back-to-applevel?17:57
Alex_GaynorOk, wil do17:57
fijalit does not move __str__ and __repr__ yet17:57
fijalbut it makes var & std work17:57
mattipI see you're not overloaded?17:57
fijalmattip: I'm about to go for a forced socializing, why?17:58
fijalmattip: I'll move string as a next thing though17:58
Alex_Gaynorfijal: um, what is:17:58
Alex_Gaynor+import _numpypy as mu17:58
Alex_Gaynor+um = mu17:58
fijalAlex_Gaynor: import multiarray as mu17:58
fijalimport ufunc as um17:58
fijal+ some from ...17:58
Alex_Gaynoris this code from numpy?17:58
fijalyes17:59
fijalmodified17:59
fijalbecause we have a single namespace so far17:59
Alex_Gaynorah, ok17:59
mattipfijal: cool. I am trying to create a compact test along the lines of the failing test in the flatiter branch.17:59
fijalshould I provide a commented version next door?17:59
fijalAlex_Gaynor: also, what's the numready status?17:59
mattipIf you can see the problem faster than me I woudl be appreciative.17:59
Alex_Gaynorfijal: still a single file mess on my hard drive, shall I throw it in a BB repo so others can hack?17:59
fijalAlex_Gaynor: ya18:00
kenaan12RonnyPfannschmidt pytest 11ab8337ed12e8 15/pypy/tool/pytest/test/test_pytestsupport.py: teach testsupport tests about reports now coming in unconditionally18:00
fijalmattip: a compact as in?18:00
Alex_Gaynorfijal: so, count_reduce_items doesn't belong in the top level namespace, I claim we should put stuff in tehr ight one18:00
fijalAlex_Gaynor: it comes as numpy.count_reduce_items though18:00
fijalfor good or bad18:00
mattipfijal: just ignore the request. I will get back in a couple of hours with some results.18:01
Alex_Gaynornot on my numpy?18:01
fijalAlex_Gaynor: it's new18:03
Alex_Gaynorah, ok18:03
Alex_Gaynorwhat version of numpy are we implementing anyways?18:03
exarkunheh18:03
fijaltrunk?18:04
fijalhttp://docs.scipy.org/doc/numpy/reference/generated/numpy.count_reduce_items.html18:04
fijal2.0 I would say18:04
Alex_Gaynorworks for me18:04
Alex_Gaynorfijal: uh, with your changes ufuncs accept random key word args18:04
Alex_GaynorAnd I'm not 100% sure the logic in array() is corret18:05
DasIch (~DasIch@p3E99143F.dip.t-dialin.net) joined #pypy.18:05
fijalyes, ufunc accepts random keyword args18:06
fijalcan you filter those that are bogus?18:06
fijalI can as well do it18:06
fijalAlex_Gaynor: which logic in array?18:06
Alex_Gaynor+    if (not subok or copy or not space.is_w(w_maskna, space.w_None) or18:07
Alex_Gaynor+        ownmaskna):18:07
Alex_Gaynor+        raise OperationError(space.w_NotImplementedError, space.wrap("Unsupported args"))18:07
Alex_Gaynorspecifically the subok and copy parts18:07
Alex_Gaynorisn't our default copy=True?18:07
fijalanything that's not default18:07
Alex_Gaynorwhat is the default in numpy?18:07
fijalobject, dtype=None, copy=True, order=None, subok=False, ndmin=0, maskna=None, ownmaskna=False18:07
Alex_Gaynorfijal: and yes, you need to filter out bogus kwargs, and it shouldn't accept out , etc. if we don't implement it18:08
Alex_Gaynorcopy=False, is what you wrote18:08
fijaluh18:08
fijalit does not quite matter I think18:08
fijalbut maybe it does18:08
jaffachief (~textual@host86-170-15-228.range86-170.btcentralplus.com) left irc: Quit: Computer has gone to sleep.18:14
fijalmeh18:16
fijal.__array__() interface is silly18:16
intchanter (~intchante@c-76-27-100-38.hsd1.ut.comcast.net) joined #pypy.18:17
Alex_Gaynorfijal: I'm torn, on the one hand some of these APIs are really silly, on the other hand it's kind of nice not to think about designing a good API and just implementing stuff18:17
exarkunwork hard!18:18
exarkunif it's not worth doing right, is it worth doing at all?18:18
fijalAlex_Gaynor: well, yes, until it's really silly (like a numpy array of objectS), I'm willing to just implement them18:18
Alex_Gaynoryes18:18
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/335 [12ronny, pytest]18:24
Action: fijal is pushing for last 5 minutes18:27
kenaan12fijal numpy-back-to-applevel 11cc80fb4d3ab9 15/pypy/module/micronumpy/: implement copy kwarg18:28
Alex_Gaynorfijal: for one commit?18:29
sacred_coder_ (~rambaho@202.3.77.231) left irc: Quit: Ex-Chat18:33
Telugodu (~rambaho@202.3.77.231) joined #pypy.18:33
Trundle (~andy@p578bfdcf.dip0.t-ipconnect.de) joined #pypy.18:34
Trundle (~andy@p578bfdcf.dip0.t-ipconnect.de) left irc: Changing host18:34
Trundle (~andy@python/site-packages/trundle) joined #pypy.18:34
fijalAlex_Gaynor: ya18:35
Alex_Gaynor:/18:35
fijalAlex_Gaynor: simpler to implement than to worry ;-)18:35
fijalit's not 100% done, but at least array(array) works now18:35
Telugodu (~rambaho@202.3.77.231) left irc: Client Quit18:36
Telugodu (~rambaho@202.3.77.231) joined #pypy.18:37
fijalhehe18:39
fijalcasting='unsafe' is not even specified in the docs18:39
Alex_Gaynordo I want to even know what that is?18:40
fijalI dunno, reading source18:41
fijalfor what is worth, I found two identical functions so far casting a constant to string18:42
Alex_GaynorI wish I could say I was shocked18:43
mattip (4fb56922@gateway/web/freenode/ip.79.181.105.34) left irc: Ping timeout: 258 seconds18:45
pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) joined #pypy.18:47
zain (~textual@bzq-79-179-136-94.red.bezeqint.net) left irc: Quit: Computer has gone to sleep.18:48
`fox` (~fox@host223-109-dynamic.5-87-r.retail.telecomitalia.it) left irc: Ping timeout: 276 seconds18:50
csenger (~user@dslb-084-058-150-061.pools.arcor-ip.net) joined #pypy.18:51
bbot24Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/796 [12ronny, pytest]18:54
zain (~textual@bzq-79-179-136-94.red.bezeqint.net) joined #pypy.18:55
fijalcsenger: hey18:57
csengerhi18:57
fijalcsenger: any luck?18:57
csengerI had not much time today and try to figure out how to get this into the final build object without ignoring the branch field in the 'force build' action.18:59
csengerBut I think I will hard code it now. Not much reason to force a build of another branch.18:59
fijalnote that you have to ignore branch field18:59
fijalthere is no way branch field will specify both cpython and pypy18:59
csengeryup.19:00
fijalso just ignore it happily :)19:00
csengerI wondered how the data will get into codespeed.19:00
csengerThe data uploaded to the master has no repo/project information.19:01
fijalit does19:01
csengerAnd the upload logic in the benchmark package seems to not support it too.19:01
fijalit's specified in runner/upload19:01
fijalno, it might indeed not19:02
fijalyou have to hack at runner19:02
fijalAlex_Gaynor: ok, now?19:02
csengerIt has some heuristics to guess what's the project, but I don't think it will catch cpython plain (only some psyco thing)19:02
Alex_Gaynorfijal: still needs to fix the kwarg on ufunc isue, but I think otherwise it's ok19:02
csengerI'll do that. Should the data go directly to speed.python.org, or to s.pypi.org? or both?19:03
fijalAlex_Gaynor: I'm pushing, sorry19:03
Alex_Gaynorfijal: ah ok19:03
fijalcsenger: IO19:03
fijalI'm fine with some hardcoding19:03
fijalspeed.pypy for now19:04
fijalhey, wtf bitbucket19:04
kenaan12alex_gaynor numpy-back-to-applevel 11f49b248ef393 15/: merged default19:04
kenaan12alex_gaynor numpy-back-to-applevel 118b5bfccf07e6 15/pypy/module/micronumpy/: merged upstream19:04
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.19:10
fijal_ (~fijal@196-210-150-33.dynamic.isadsl.co.za) joined #pypy.19:11
fijal (~fijal@196-210-150-33.dynamic.isadsl.co.za) left irc: Ping timeout: 240 seconds19:11
Nick change: fijal_ -> fijal19:11
kenaan12fijal numpy-back-to-applevel 111c6f3a721515 15/: import var/std, figure out extra kwargs for reduce19:12
kenaan12fijal numpy-back-to-applevel 1133707327eb21 15/: merge19:12
fijalAlex_Gaynor: ok, have a look now19:12
Alex_Gaynorfijal: hmm, is it really correct totally ignore casting=?19:14
fijalAlex_Gaynor: if you can understand when it is correct/incorrect I would be very happy19:14
fijalIMO it does not affect primitive types19:14
Alex_GaynorI've never even heard of it :)19:14
fijalmeh19:15
fijalwhy is dict.pop not RPython :/19:15
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) joined #pypy.19:15
Alex_GaynorI think it's ok.19:15
Alex_Gaynorfijal: want me to add it?19:15
fijal.pop(xxx, None)19:15
fijalis not19:15
fijalyes please19:15
fijalon the branch19:15
Alex_Gaynork19:15
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer19:15
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.19:16
metvik (~metvik@unaffiliated/metvik) joined #pypy.19:21
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer19:21
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.19:21
Alex_Gaynorfijal: in the annotator, how do I specify that a method has an optional arg?19:24
Alex_Gaynorfijal: http://paste.pocoo.org/show/538364/ is what I have so far19:24
ronan (~ronan@host86-143-208-191.range86-143.btcentralplus.com) left irc: Ping timeout: 240 seconds19:25
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer19:25
fijalAlex_Gaynor: er as an optional arg?19:26
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.19:27
Alex_Gaynorfijal: yes19:27
Alex_Gaynordo I just do dfl=None?19:27
fijaldef method_pop(lst, s_index=None):19:27
fijalit gets trickier for rtyper19:27
fijallook at method_pop for SomeList btw19:27
lesshaste (~lesshaste@87-194-206-189.bethere.co.uk) joined #pypy.19:28
zain (~textual@bzq-79-179-136-94.red.bezeqint.net) left irc: Quit: Computer has gone to sleep.19:29
fijalI want a longlong box19:30
fijalwtf is numpy.flexible19:31
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer19:31
fijal?19:31
fijalNote that not all data-type information can be supplied with a type-object: for example, flexible data-types have a default itemsize of 0, and require an explicitly given size to be useful.19:31
fijalwtf19:31
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.19:32
fprimex (~fprimex@fl-67-233-144-239.dhcp.embarqhsd.net) joined #pypy.19:32
mattip (~chatzilla@bzq-79-181-105-34.red.bezeqint.net) joined #pypy.19:35
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer19:35
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.19:37
ronan (~ronan@host86-170-108-88.range86-170.btcentralplus.com) joined #pypy.19:38
Alex_Gaynorfijal: review please: http://paste.pocoo.org/show/538376/19:41
fijalAlex_Gaynor: s_key s_dfl I think19:42
Alex_Gaynorwhere?19:42
antocuni_ (~antocuni@host155-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds19:42
fijalin annotator19:43
fijalalso, doesn't rtype receive i_dfl=index19:43
fijal?19:43
Alex_Gaynor?19:44
Alex_GaynorI don't know what you mean19:46
fijalmaybe it works19:46
Alex_Gaynorwell, my code seems to work :)19:46
fijalok19:46
fijalthen yes, if you say so19:46
Alex_Gaynorshall I commit19:46
Alex_Gaynor?19:47
fijalyes please19:47
__pvfijal: flexible is a base class for void/str 19:47
fijalAlex_Gaynor: seems numpy have no tests for str repr19:47
fijal__pv: cool, thanks19:47
justinpeel (~justinpee@c-76-23-44-72.hsd1.ut.comcast.net) left irc: Ping timeout: 252 seconds19:48
kenaan12alex_gaynor numpy-back-to-applevel 1181d4c62723ed 15/pypy/: Make dict.pop RPython.19:48
fijaloh crap :/19:49
Alex_Gaynor?19:49
fijalwell19:49
fijalI can't push now19:49
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer19:49
fijalbecause I have local changes19:50
Alex_Gaynorwhy not?19:50
Alex_Gaynorjust shelve them19:50
etrepum (~bob@71.21.40.181) joined #pypy.19:50
fijalAlex_Gaynor: how much do we care about repr not working if numpy failed to import correctly?19:51
fijalnumpy has a builtin fallback that does stuff19:51
Alex_Gaynornot at all?19:51
Alex_Gaynoris that really a very common case?19:51
fijalno :)19:51
fijalI guess more history19:51
fijaloh, I need ravel19:52
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds19:52
Alex_Gaynorfijal: eh, I guess I should have added an annotation test for this19:52
Alex_Gaynorfijal: I can't write ravel, I'm not smart enough to know how to back strides and backstrides19:52
Alex_GaynorI'll convert flatten to use it if you write it though :)19:52
xorAxAx (~alexander@moinmoin/coreteam/alexander) left irc: Ping timeout: 255 seconds19:53
fijal:/19:53
fijalI hate you19:53
Alex_GaynorSOrry, backstrides and strides are hard19:53
fijalhehe ok19:54
fijalunlike SSE which is easy ;-)19:54
fijalAlex_Gaynor: did you write the proposal?19:54
xorAxAx (~alexander@moinmoin/coreteam/alexander) joined #pypy.19:54
Alex_Gaynornot yet, I'm not sure SSE is a good scope for one semester19:54
Alex_GaynorI'm thining what else would be interesting19:54
fijalas in too much or too little?19:54
Alex_Gaynortoo much I think19:55
Alex_GaynorI suspect it requires a big refactor of assembler to make it smarter19:55
fijalI would say it's just fine for one semester19:55
mattipif I may interject, ravel is very close to flatiter, just returning the ViewArray.19:55
fijalno, should not be that big19:55
Alex_Gaynore.g. i2 = int_add(i1, 1); getitem(p1, i2) shouldn't emit an int add19:55
fijalAlex_Gaynor: at least, specialize numpy-only SSE19:55
Alex_Gaynorwell, you need a good representation in order to recognize the parallelism19:55
mattipbut it only works in default branch for contiguous memory arrays19:55
fijalwe can brainstorm ideas if you want19:55
fijalmattip: well, it's different19:56
fijalmattip: because ravel for non-contiguous arrays will just return a copy19:56
fijalwhile flatiiter will not19:56
Alex_Gaynorfijal: is that the condition it copies?19:56
Alex_Gaynorthe docstring just asys "when not possible"19:56
fijalAlex_Gaynor: no idea, docs says "if necessary"19:57
Alex_Gaynorwtf does that mean19:57
fijalbut I guess it's "if it's not expressable by strides and backstrides"19:57
Alex_Gaynoryes, I would think19:57
Action: Alex_Gaynor has no idea when that is19:57
fijalit's expressable if array is evenly placed19:57
fijalso most of the time contiguous19:57
fijalAlex_Gaynor: so the easiest thing would be "if is_contiguous, do View, otherwise do copy"19:58
fijalI can probably do it even19:58
Alex_Gaynorplease :)19:58
fijalwhen does the early bird registration end?19:59
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1203 [12ronny, pytest]19:59
Alex_Gaynor25th I think19:59
Alex_GaynorI should buy my ticket19:59
mattipalot of that testing is done now in calc_new_strides, as a prerequisite for reshape.19:59
fijalmattip: yes, precisely20:00
fijalmattip: so I think it's a bit "almost the same"20:00
Alex_Gaynoris ravel relaly just resahep(-1)?20:01
mattipravel should be equivalent to reshape(1,-1) except if it can't, then copy and reshape?20:01
Alex_Gaynorwell, just flatten then20:01
fijaldoesn't reshape copy?20:01
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/685 [12ronny, pytest]20:01
fijalif it cannot?20:01
mattipno, it fails.20:01
Alex_Gaynoryes, it does20:01
Alex_Gaynoroh?20:01
fijalmattip: sure?20:02
mattipno I'm wrong, you're right.20:02
Alex_Gaynorso ravel should really be reshape(-1)20:02
Action: mattip was thinking of setshape, not reshape20:04
Tobu (~Tobu@unaffiliated/tobu) left irc: Read error: Operation timed out20:06
fijalAlex_Gaynor: ravel is doing something more clearly20:07
fijalbut I think we're good with reshape(-1) for now20:08
xcombelle (~xcombelle@AToulouse-551-1-118-27.w92-156.abo.wanadoo.fr) left irc: Quit: I am a manual virus, please copy me to your quit message.20:08
Tobu (~Tobu@unaffiliated/tobu) joined #pypy.20:08
lesshastewhere is bounds checking implemented in the pypy system?20:08
fijallesshaste: which bound checking?20:10
lesshastefijal: that gives you  a run-time error if you try to access an element of a list out of bounds20:13
fijalon applevel?20:14
fijalin objspace/std/listobject.py20:14
asmeurer (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy.20:14
Alex_Gaynorfijal: well, ravel can also do stuff in F order20:17
Trundle (~andy@python/site-packages/trundle) left irc: Quit: bsegf20:17
Alex_Gaynorlesshaste: each container has it's own bounds checking, but listobject.py is for lists20:17
lesshastethanks20:19
lesshastehas anyone performed any tests to see what performance difference turning off bounds checking makes?20:21
lesshastein pypy that is20:21
Alex_GaynorI don't believe os, no20:22
lesshasteok thanks20:23
ruizander (~ruizander@187.3.35.248) joined #pypy.20:24
zain (~textual@bzq-79-179-136-94.red.bezeqint.net) joined #pypy.20:25
zain (~textual@bzq-79-179-136-94.red.bezeqint.net) left irc: Client Quit20:26
fijallesshaste: we have jit optimizations that remove it though20:26
lesshastefijal: oh!20:26
fijaldef descr_reshape(self, space, args_w, w_order=None):20:26
fijalAlex_Gaynor: does it look legit?20:26
Alex_Gaynorfijal: I don't understand the question20:26
fijalcan I call reshape(1, 2, order='c')20:26
fijalyou think20:26
Alex_Gaynoron numpypy?20:27
lesshasteout of interest.. how does pypy manage to speed up things like regex matching which I imagine is just a library written in C20:27
Alex_Gaynorno, we have no order='f'20:27
fijalAlex_Gaynor: in pypy at all20:27
fijallesshaste: no, we have regexes written in python20:27
fijalis args_w a working unwrap_spec20:27
lesshastefijal: oh I see.. wow you have done a lot of work :)20:27
fijalis my question20:27
lesshastefijal: do you mean in rpython?20:27
fijallesshaste: you kinda of have to, python regexes are different20:28
fijalyes, rpython20:28
Alex_Gaynorfijal: AH, uh, I'm not sure how *args works with kwargs for RPython unwrap_spec20:28
lesshastecool20:28
Alex_Gaynorfijal: write tests and expirement I guess20:28
timotimohttps://gist.github.com/1627867 � i've already implemented ravel (except the order argument)20:28
fijalAlex_Gaynor: I'm failing20:28
Alex_Gaynorfijal: you may have to do __args__ and parse it manually20:28
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy.20:28
lesshastefijal: you may be amused to learn that pypy regex is about 3 times faster than pcre for at least some tests20:28
lesshastefijal: that is pcre called from c++20:28
fijaltimotimo: oh, cool, I'll just copy that20:29
fijallesshaste: it's JITted20:29
Alex_Gaynorfijal: it's not RPython ATM20:29
fijalI'm not very surprised20:29
lesshastefijal: right20:29
Alex_Gaynorand the tests aren't complete20:29
timotimothe last time i pasted that, people in here were saying "but it doesn't support order!"20:29
timotimo;)20:29
fijalAlex_Gaynor: what's not RPython20:29
fijal?20:29
timotimoright, but it's a start :p20:29
Alex_Gaynorfijal: that patch20:29
timotimohold on, that's an old version20:29
fijalspace.unwrap20:29
fijalyeah yeah20:29
fijaltimotimo: w_order is None by default though20:29
Action: Alex_Gaynor goes for lunch20:29
fijaland indeed I have a slightly better test coverage :)20:30
timotimookay, shelve ate my changes20:31
timotimo>:(20:31
timotimookay, feel free to ignore the paste, now that my fix has been destroyed >_>20:32
jacob22 (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) left irc: Read error: Connection reset by peer20:32
timotimono, never mind, there they are20:32
timotimohttps://gist.github.com/1627867 � so that's what i had last time20:33
timotimonow i've got to run, get the last few minutes of grocery-store-openedness20:33
amaury_rguillebert: I don't understand your comments in test_kwonlyargs_default_parameters()20:34
fijalI think .T is incredibly broken20:35
fijalnothing works20:35
jacob22 (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) joined #pypy.20:36
kenaan12RonnyPfannschmidt pytest 11a696d22b84c6 15/testrunner/test/: use funcargs in the testrunner test to ease having recoverable output20:40
kenaan12RonnyPfannschmidt pytest 11d423bf345f99 15/testrunner/test/test_runner.py: fix the remaining testrunner issues20:40
mattipfijal: I agree. but I have spent much time staring at it, and cannot figure out why.20:40
mattipIt's something to do with the order of strides.20:41
mattipthere is a hidden assumption about stride[-1] being the smallest in one of the iterators, but which?20:41
mattip(must be ViewIterator)20:42
fijalyes20:42
fijalpossibly20:42
fijalwell, the thing is can we either a) inspect all code to stop making this assumption20:42
fijalb) kill this assumption entirely20:43
fijalb) might be unachievable, but would be ideal20:43
fijalmattip: I'll try to find it but I'm already 3 yaks away from what I was supposed to be doing20:43
Action: mattip working as fast as I can to find it.20:44
mattipI have a failing test, still digging around in it.20:44
fijalok20:45
fijalI have to go20:45
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-win-x86-32/builds/543 [12ronny, pytest]20:46
Action: mattip hit forehead20:47
mattipfor i in range(shapelen - 1, -1, -1) in ViewIterator is wrong.20:48
Action: mattip unhit forehead20:48
mattipno, I'm wrong.20:48
mattipargh.20:48
fijal (~fijal@196-210-150-33.dynamic.isadsl.co.za) left irc: Ping timeout: 240 seconds20:49
Shanita (~John@osbk-4db17e97.pool.mediaWays.net) left irc: Ping timeout: 240 seconds20:53
ruizander (ruizander@187.3.35.248) left #pypy.20:59
Arfrever (~Arfrever@apache/committer/Arfrever) left irc: Ping timeout: 252 seconds21:00
timotimodouble-forehead-hit?21:02
CIA-1703MrGecko 07roundup * 10#975/A jit bug crashes my app: 21:11
CIA-17I'm "sorry", I'm unable to find a way to reproduce the bug today. If It happened21:11
CIA-17frequently, it seems it has vanished with the nightly builds, a ... * 14https://bugs.pypy.org/issue97521:11
mattipthe supposed failing test was faulty and wrong. grrr.21:13
Shanita (~John@osbk-4db17e97.pool.mediaWays.net) joined #pypy.21:25
bbot2_ (~bbot2@dslb-084-058-150-061.pools.arcor-ip.net) joined #pypy.21:36
justinpeel (~justinpee@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.21:36
bbot2_Started: 15http://localhost:8099/builders/cpython-2-benchmark-x86-64/builds/2 [12csenger, 3.2]21:38
bbot2_4Failure: 15http://localhost:8099/builders/cpython-2-benchmark-x86-64/builds/2 [12csenger, 3.2]21:38
fprimex (~fprimex@fl-67-233-144-239.dhcp.embarqhsd.net) left irc: Quit: Leaving21:41
bivab (~david@89-40.5-85.cust.bluewin.ch) left irc: Quit: bivab21:41
rguillebertamaury_, it's an interpreter bug but the interpreter tests are compiled by the host interpreter so instead I put the test where it could be parsed, I could also have imported the parser/compiler in the interpreter test suite and I think both solutions are dirty so I chose one21:42
amaury_oh21:42
amaury_in interpreter/test/test_interpreter.py21:45
rguillebertyes21:45
amaury_I see strings that are compiled by the astcompiler21:45
amaury_with codetest()21:45
rguillebertbut it uses py.code21:46
umgeher (~umgeher@unaffiliated/umgeher) joined #pypy.21:46
rguillebertdoesn't it compile the file with the host interpreter ?21:46
amaury_space.builtin.call('compile', ...21:47
amaury_py.code.Source is probably a glorified string21:47
amaury_its strip() method is probably useful21:47
rguillebertright21:48
rguillebertmy mistake21:48
amaury_ah, we should also remove this "except ValueError, e" syntax21:48
rguillebertyes21:50
fijal (~fijal@196-210-199-8.dynamic.isadsl.co.za) joined #pypy.21:50
CIA-1703fijal 07roundup * 10#975/A jit bug crashes my app: [wontfix] closing then? please reopen if you can * 14https://bugs.pypy.org/issue97521:52
rguillebertI get an IOError when I move the test...21:53
rguilleberterf it's because I put a pdb in the code21:54
amaury_:)21:55
amaury_btw, pdb should work now21:55
amaury_even in py.py21:55
amaury_when --withmod-signal is enabled21:55
Alex_Gaynoramaury_: yes, but not in py.test, there it blows up21:56
amaury_-s21:56
rguillebertAlex_Gaynor, works for me21:56
Alex_Gaynoramaury_: right, or import py; py.test.set_trace()21:56
amaury_but not for applevel tests21:56
amaury_hum, we probably have an issue with our symtable21:57
nedbat (~nedbat@python/psf/nedbat) joined #pypy.21:57
amaury_"except Exception as e" should consider e as a local variable21:57
kenaan12rguillebert py3k 1131e2e6510fba 15/pypy/interpreter/: Move the kwonly arguments test to the interpreter21:58
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.22:00
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/345 [12ronny, pytest]22:01
rguillebertI'll try to fix the kwonly bug tomorrow if I'm not too fried22:01
amaury_ok22:02
rguillebertI have a general idea of where the bug is22:02
pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) left irc: Read error: Connection reset by peer22:06
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 260 seconds22:07
CIA-1703csenger 07roundup * 10#1015/Add build to run the benchmarks with python 2.7 tip: 22:09
CIA-17[new] The BuildFactory is implemented here:22:09
CIA-17https://bitbucket.org/csenger/buildbot22:09
CIA-17It pulls and builds python2.7 and runs the benchmarks.22:09
CIA-17I ... * 14https://bugs.pypy.org/issue101522:09
fijalAlex_Gaynor: ping22:10
Alex_Gaynorfijal: pong22:10
fijalAlex_Gaynor: do you feel like reviewing the 2011 in numbers blog post?22:10
Alex_Gaynorfijal: ah yes, I can do so22:10
fijaland adding some summary para22:10
kenaan12fijal numpy-back-to-applevel 11616ba3da7de7 15/: start adding necessary things for using applevel __str__ and __repr__22:11
kenaan12fijal numpy-back-to-applevel 11eb5dcdf724f3 15/: Start working towards ravel and applevel array_string, nothing works!22:11
kenaan12fijal numpy-back-to-applevel 11da00788e9d17 15/pypy/: merge22:11
fijalAlex_Gaynor: I broke everything on that branch btw22:11
Alex_Gaynorfijal: congrats, everyone does it once at a while :)22:11
fijalno, deliberately so ;-)22:11
fijalbut a huge swath of code is to be removed22:12
mattipfijal: ping22:13
fijalmattip: pong22:13
mattipI was trying to blame transpose() when my tests themselves were bad.22:14
mattipI have a bad feeling about transpose still, but cannot find a smoking gun.22:14
fijalI have a failing test for transpose and ravel22:14
fijalbut might be a reshape problem22:15
mattip?22:15
fijalmattip: no, I think transpose is right, it's just that there are some assumptions on the order of strides somewhere22:15
mattippaste?22:15
pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) joined #pypy.22:16
fijalarange(6).reshape(2, 3).T.reshape(-1)22:16
kenaan12alex_gaynor extradoc 111b7919a194e1 15/blog/draft/pypy-2011.rst: english and a conclusion22:17
mattipahh. It may be a corner case with -1 and single-dim arrays.22:17
Action: mattip looking22:17
Alex_Gaynorfijal: this looks like it uses += for building the str, I guess it'll be slow as heck without strbuf22:17
fijalAlex_Gaynor: array_string?22:18
fijaler22:18
fijalarray_repr or so?22:18
Alex_Gaynorwell, I'm just skimming this22:18
fijalshouldn't we enable strbuf then?22:18
Alex_Gaynorbut yes, something uses += in a look22:18
fijalthere is a branch that has some failing tests22:18
Alex_Gaynorfijal: well, there's a branch without passing tests :)22:18
fijalyes22:18
Alex_Gaynorheheh22:18
fijalI can do it22:18
Alex_Gaynorfinish this first22:18
fijalmaybe makes sense even22:18
fijalI have to do a release one day22:18
Alex_Gaynorstr(array) being fast isn't super important22:18
fijalno22:18
Alex_Gaynorfijal: merge 2.7.2 first!22:18
fijalah right22:19
fijalamaury_: feel like doing that by chance?22:19
amaury_merging 2.7.2?22:20
fijalyes22:20
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.22:20
amaury_I'm a bit scared by all the new tests we'll have to fix22:21
Alex_Gaynorhow much stuff will be broken do you think?22:22
amaury_I really don't know22:24
Alex_GaynorI'm happy to help fix tests, but I don't want to do the mrge itself22:24
amaury_Well, I can still create a branch and merge the new stdlib22:24
amaury_:)22:24
fijal_ (~fijal@196-210-199-8.dynamic.isadsl.co.za) joined #pypy.22:26
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 276 seconds22:26
kenaan12amauryfa default 11c5fa49a9207e 15/lib_pypy/datetime.py: Cosmetic changes in datetime.py, to reduce differences with the version in CPython 3.222:27
kenaan12amauryfa default 115aa09e8483d3 15/lib_pypy/datetime.py: Slowly merge datetime.py from upstream: don't use "private" attributes.22:27
kenaan12amauryfa merge-2.7.2 1137357d7dabda 15/: A branch to merge CPython 2.7.222:27
mattipfijal: calc_new_strides is buggy for this case of reshape.22:28
fijal_mattip: ok22:28
mattipIt cannot compute a stride, so it should return None and then the copy would take care of it.22:28
Action: mattip consulting with the idiot who wrote calc_new_strides22:29
fijal (~fijal@196-210-199-8.dynamic.isadsl.co.za) left irc: Ping timeout: 240 seconds22:29
mattipbtw, can we export strides as a GetSet property?22:30
fijal_is it exported in numpy?22:30
Indecipherable (~IceChat77@41.27.15.92) joined #pypy.22:31
Nick change: fijal_ -> fijal22:31
mattipa=arange(10); a.strides22:31
Alex_Gaynormattip: if it's not available in numpy itself you can always create numpypy.pypy.get_strides or so22:31
Alex_Gaynoroh, if it exists please, elt's expose it22:31
IndecipherableIs there an RPython tutorial?22:32
Alex_GaynorIndecipherable: not really, we have some limited docs on it22:32
fijalIndecipherable: we have docs, a request to write more docs and some tutorials22:33
fijalamaury_: anyway, can you do it?22:33
fijalIndecipherable: tutorials are on the blog22:33
IndecipherableCould you please point me to them?22:33
amaury_fijal: I already started22:33
fijalamaury_: cool!22:33
Indecipherablethanks22:34
fijalIndecipherable: http://morepypy.blogspot.com/2011/04/tutorial-writing-interpreter-with-pypy.html22:34
fijalhttp://doc.pypy.org/en/latest/coding-guide.html22:34
mattiphaha, strides is not readonly in numpy. very strange.22:34
fijalhttp://doc.pypy.org/en/latest/coding-guide.html#id122:34
fijalmattip: shot yourself in the foot in a billion ways22:35
mattipshoot?22:35
fijalyeah22:35
Alex_GaynorWTF, why is strides writable?22:36
Alex_Gaynorthis seems like a terrible idea22:36
fijalValueError: strides is not compatible with available memory22:36
fijalit also checks :)22:36
ronnystrides?22:36
fijaloh nice22:36
mattiptry making it smaller instead, that it allows.22:36
fijalbut you can have overlapping int values22:37
fijalhow cool is that22:37
Alex_Gaynornot very22:38
fijalbackstrides are however not accessible22:38
mattipa=arange(10); a.strides=0; a => array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])22:38
Alex_Gaynoro_O22:38
Alex_Gaynornumpy is scary22:38
fijalit occurs to me they care more about their C API22:39
fijalso cython can work22:39
fijalIndecipherable: why do you want to learn RPython btw?22:41
Alex_Gaynordoesn't Cython directly access fields of structs?22:41
Alex_Gaynorotherwise how else can it be fast?22:41
fijalAlex_Gaynor: looking at numpy code I ponder constantly "how it can be considered fast"?22:42
Alex_Gaynorfijal: well, people are used to python being slow :)22:42
Action: Alex_Gaynor hopes we can break this perception22:42
Action: fijal sleep22:43
Alex_Gaynornight22:44
IndecipherableI'm just interested in the project, and would also love to be able to extend PyPy22:45
nanonymefijal, it's not considered fast? ;)22:46
nettok_ (~quassel@190.148.249.220) joined #pypy.22:47
nanonymea few months ago had a person complain it's painfully slow in CPython compared to Matlab and folks. I encouraged that perhaps the situation is alleviated with PyPy. starting to sound like numpy itself is at fault...22:47
fijal (~fijal@196-210-199-8.dynamic.isadsl.co.za) left irc: Ping timeout: 240 seconds22:47
mattipronny: s = strides[i] means elements in dimension i are s "things' apart.22:51
mattipwhere in numpy 'things' is bytes, in numpypy it's elements.22:51
mattipthat's how we build multidimensional arrays from a block of data.22:51
mattipin numpy try a=arange(12).reshape(3,4); print a.strides22:52
mattipthen try a=arange(12).reshape(6,2); print a.strides22:53
mattipnanonyme: depends on what you do. For heavy linalg stuff, both matlab and numpy rely on blas.22:54
mattip(atlas, lapack)22:54
ronnymattip: for me a.strides stays the same no matter wat22:55
ronny(8,) that is22:55
ronnyoh22:56
ronnyim stupid22:56
bbot2_ (~bbot2@dslb-084-058-150-061.pools.arcor-ip.net) left irc: Quit: buildmaster reconfigured: bot disconnecting22:56
ronnyreshape makes copies after all22:57
nanonymemattip, oh, hmm. do you reckon numpypy will be using blas as well for something?22:57
mikefcnanonyme: yes 22:58
nanonymefair enough22:58
mattipI second that emotion22:58
mikefcalthough i'd like to write some linalg in python/rpython and see how it compares22:59
ronnymattip: so strides describe access to the flattened repressentation works?22:59
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/21223:00
bbot2Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/78323:00
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/102223:00
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/3923:00
timotimoi'm not convinced you can outperform blas with just pypy. pypy doesn't even utilise SSE yet.23:00
timotimoonly after that is done can you think of attacking blas/..., or at least that's my guess23:00
mattipronny: yes. a[2,3] => a.start + a.strides[0]*2 + a.strides[1]*323:01
mikefctimotimo: oh. I agree. 23:01
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) left irc: Quit: Konversation terminated!23:15
stakkars_ (~tismer@89.204.153.246) joined #pypy.23:19
stakkars__ (~tismer@89.204.153.246) joined #pypy.23:20
stakkars_ (~tismer@89.204.153.246) left irc: Read error: Connection reset by peer23:20
Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 272 seconds23:28
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.23:31
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) joined #pypy.23:32
mattipfwiw, it is impossible to reshape most transformed arrays without copy. Only if splitting/combining dimensions is it possible.23:36
Alex_Gaynormattip: this is true for upstream numpy as well, right?23:37
mattipyes. this fails in numpy: a=arange(6).reshape(2,3).T; a.shape = 623:42
Alex_Gaynorok23:42
mattipa fix is forthcoming for numpypy, still making sure I didn't break anything.23:43
Alex_Gaynorsorry, what's broken?23:43
mattiparange(6).reshape(2,3).T.reshape(-1)23:44
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 272 seconds23:44
Alex_Gaynorah23:44
ronnymattip: so reshaping is impossible for non-contrious?23:44
ronnyhmm23:45
mattipno, but it needs to copy. 23:45
ronny+inplace23:45
mattipnon-contiguous without a copy is tricky. I had the wrong if... condition.23:46
mikefc_work (9665bcc5@gateway/web/freenode/ip.150.101.188.197) left irc: Ping timeout: 258 seconds23:46
rguillebert (~rguillebe@89-40.5-85.cust.bluewin.ch) left irc: Quit: Quitte23:50
Eventh (evenwiik@lynx.stud.ntnu.no) left irc: Quit: Lost terminal23:50
kenaan12mattip matrixmath-dot 11a8252a946ad8 15/pypy/module/micronumpy/dot.py: remvoe debug cruft23:51
kenaan12mattip numppy-flatitter 11aa7917ad8e16 15/pypy/module/micronumpy/interp_numarray.py: need to rethink getitem, setitem23:51
kenaan12mattip matrixmath-dot 110125f74ace80 15/pypy/module/micronumpy/: fix bad test23:51
kenaan12mattip numpypy-shape-bug 11e11082ff75b9 15/pypy/module/micronumpy/: add failing setshape test, fix for test23:51
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.23:52
mattipAlex_Gaynor: I would like to merge numpypy-shape-bug, but should wait for fijal review, right?23:53
Alex_Gaynormattip: yes probably, strides and such scare me23:53
mattipfijal: please review/merge numpypy-shape-bug.23:54
mattipfwiw, matrixmath-dot seems to lack diabolical testing, but I can't find any good examples.23:55
mattipI even wrote a jit_merge_point and stared at the viewloops for a while.23:56
--- Sun Jan 22 201200:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!