| 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 seconds | 00:13 | |
| fprimex (~fprimex@fl-67-233-144-239.dhcp.embarqhsd.net) left irc: Quit: Leaving | 00:17 | |
| stakkars_ (~tismer@i59F6CE14.versanet.de) left irc: Quit: schnarch | 00:22 | |
| Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 248 seconds | 00: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 host | 00:27 | |
| mfoord (~anonymous@python/psf/voidspace) joined #pypy. | 00:27 | |
| Tobu (~Tobu@unaffiliated/tobu) joined #pypy. | 00:32 | |
| fijal | Alex_Gaynor: we should publish rules | 00:35 |
|---|---|---|
| mikefc | fijal: 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 peer | 00: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 seconds | 00:45 | |
| mikefc | fijal: can you suggest something to work on? | 00:45 |
| mikefc | python diag() relies on flatiter which is still in-flight. | 00:47 |
| Tobu (~Tobu@unaffiliated/tobu) joined #pypy. | 00:50 | |
| timotimo | mikefc: i've recently tried to implement numpy.flatten (i believe) | 00:53 |
| timotimo | the basic functionality is already done, but there's the "order" attribute, which doesn't work yet | 00:53 |
| timotimo | sorry, i meant ravel | 00:54 |
| timotimo | https://gist.github.com/1627867 � with test case for the basic functionality, too | 00:54 |
| mikefc | I'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 |
| timotimo | i know the feeling :\ | 00:57 |
| timotimo | you could start work on numpy.random :) | 00:57 |
| timotimo | i once implemented a "big" part of it by just using pythons random module, but it wasn't seed compatible | 00:57 |
| timotimo | so that got thrown out until further notice | 00:58 |
| dripton (~dripton@pool-72-86-45-238.clppva.fios.verizon.net) joined #pypy. | 00:58 | |
| mikefc | timotimo: yeah. i looked at random as well. because some tests rely on it. but got sucked into a blackhole. | 00:59 |
| timotimo | poor you | 01:00 |
| mikefc | heh | 01:00 |
| timotimo | i've recently been asked to maybe make numpy.where or what it was called | 01:00 |
| Trundle (~andy@python/site-packages/trundle) left irc: Remote host closed the connection | 01:02 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 01:02 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/782 | 01:03 |
| pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) left irc: Read error: Connection reset by peer | 01: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 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/38 | 01:33 |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum | 01:36 | |
| squiddy (~squiddy@f053084067.adsl.alicedsl.de) left irc: Quit: Leaving | 01:37 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/211 | 01:38 |
| int3__ (~int3__@bb116-14-228-5.singnet.com.sg) left irc: Remote host closed the connection | 01: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 connection | 01: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 host | 01:53 | |
| mfoord_ (~anonymous@python/psf/voidspace) joined #pypy. | 01:53 | |
| mfoord (~anonymous@python/psf/voidspace) left irc: Ping timeout: 240 seconds | 01:53 | |
| durin42 (~durin@adium/durin42) left irc: Read error: Operation timed out | 01:55 | |
| durin42 (~durin@adium/durin42) joined #pypy. | 01:59 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1933 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/684 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/334 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/344 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/682 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1201 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/865 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1518 | 02:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/795 | 02:00 |
| mfoord_ (~anonymous@python/psf/voidspace) left irc: Quit: mfoord_ | 02:10 | |
| mikefc | timotimo: why isn't your ravel patch in the code? | 02:14 |
| timotimo | mikefc: because it doesn't do enough yet :) | 02:19 |
| timotimo | you can feel free to build support for the "order" argument ;) | 02:19 |
| mikefc | the order argument looks like a big refactor. | 02:29 |
| timotimo | that'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 seconds | 02:54 | |
| Shanita (~John@osbk-4db15131.pool.mediaWays.net) left irc: Ping timeout: 240 seconds | 03:03 | |
| Shanita (~John@osbk-4db17e97.pool.mediaWays.net) joined #pypy. | 03:03 | |
| ericflo (~ericflo@75.103.8.110) left irc: Quit: ericflo | 03:19 | |
| ericflo (~ericflo@75.103.8.110) joined #pypy. | 03:20 | |
| ericflo (~ericflo@75.103.8.110) left irc: Client Quit | 03:20 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/334 | 03:25 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/1021 | 03:26 |
| Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 252 seconds | 03:34 | |
| pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) left irc: Quit: pnguyen | 03:44 | |
| dracman (~draco@212.255.37.212) left irc: Ping timeout: 252 seconds | 03: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 connection | 04: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 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1933 | 04: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 seconds | 04:38 | |
| mikefc | hmm. 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 seconds | 04:56 | |
| JaRoel (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 05: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: Leaving | 05:13 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1518 | 05:34 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/865 | 05: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 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/682 | 05:56 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1201 | 05:56 |
| dracman (~draco@212.255.43.210) left irc: Remote host closed the connection | 05:57 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/684 | 05:59 |
| pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) left irc: Read error: Connection reset by peer | 06: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 seconds | 06: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 seconds | 06:44 | |
| Taggnostr (~quassel@dyn57-362.yok.fi) joined #pypy. | 06:54 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/795 | 06:59 |
| nettok (~quassel@190.148.29.72) left irc: Quit: http://quassel-irc.org - Chatee cómodamente donde sea. | 07:04 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/344 | 07:09 |
| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer_ | 07:10 | |
| Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 272 seconds | 07: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_coder | hi | 08:45 |
| sacred_coder (~rambaho@202.3.77.231) left irc: Client Quit | 08: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 out | 09:02 | |
| antocuni (~antocuni@89-40.5-85.cust.bluewin.ch) left irc: Quit: Leaving | 09:13 | |
| Tobu (~Tobu@unaffiliated/tobu) joined #pypy. | 09:19 | |
| kenaan | 12rguillebert py3k 11328a6033f00a 15/pypy/interpreter/test/test_generator.py: Port the generator applevel tests to py3k | 09:25 |
| arigato | http://paste.pocoo.org/show/538153/ | 09:28 |
| arigato | this program takes forever on pypy | 09:29 |
| arigato | ah baaaah | 09:31 |
| arigato | the RPython code runs "del items[0:0]" | 09:32 |
| arigato | for every slice assignment | 09:32 |
| arigato | and this case is not optimized | 09:32 |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy. | 09:36 | |
| kenaan | 12arigo 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 peer | 09:45 | |
| EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) left irc: Ping timeout: 252 seconds | 09:45 | |
| rguillebert | pypy3k's pdb doesn't work so I can't put a pdb in applevel code :S | 09:47 |
| kenaan | 12rguillebert py3k 1176974f372468 15/pypy/interpreter/test/test_interpreter.py: Some applevel code porting for test_interpreter | 09:49 |
| amaury_ | arigato: listobject.py has the same code | 09:49 |
| pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) joined #pypy. | 09:55 | |
| arigato | argh? grumble | 09:55 |
| arigato | indeed | 09:55 |
| rguillebert | hi amaury_ | 10:04 |
| amaury_ | hi | 10:04 |
| rguillebert | did you rename _socket.accept to _socket._accept on purpose ? | 10:04 |
| amaury_ | yes | 10:04 |
| amaury_ | I think | 10:04 |
| amaury_ | so did CPython | 10:05 |
| rguillebert | (just to know if I should fix the code or the test) | 10:05 |
| kenaan | 12rguillebert py3k 11538110d792c0 15/pypy/module/signal/test/test_signal.py: Port test_signal's applevel tests to py3k | 10:14 |
| squiddy (~squiddy@f053084032.adsl.alicedsl.de) joined #pypy. | 10:15 | |
| kenaan | 12arigo default 115c3a4d558079 15/pypy/objspace/std/: lists have the same performance issue as bytearray objects. Fix. | 10:18 |
| kenaan | 12bivab extradoc 11e398e08fdd6b 15/sprintinfo/leysin-winter-2012/planning.txt: planning for today | 10:22 |
| arigato | random issue | 10:22 |
| arigato | if z is a float | 10:22 |
| Tobu (~Tobu@unaffiliated/tobu) left irc: Read error: Operation timed out | 10:22 | |
| arigato | where can we replace "z**2" with "z*z"? | 10:23 |
| arigato | ("replace" as in "optimize automatically") | 10:23 |
| fijal | for what is worth it seems to return the same value bitwise | 10:24 |
| fijal | for some values of z | 10:24 |
| arigato | yes, I'm also discovering that, but I have no clue how | 10:24 |
| fijal | maybe processor does this for us? | 10:25 |
| fijal | did you actually check if it's any slower to use **? | 10:25 |
| arigato | yes, it is much slower | 10:26 |
| arigato | but I rather think that it's libm that does it for us | 10:26 |
| arigato | the processor doesn't have a power operation, and instead libm in the general case computes it with log and exp | 10:27 |
| fijal | http://ridiculousfish.com/blog/posts/will-it-optimize.html | 10:27 |
| pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) left irc: Quit: pnguyen | 10:27 | |
| arigato | that's why I would expect it to have rounding errors | 10:27 |
| fijal | so you can do x * 2.0 to x + x | 10:27 |
| fijal | (I know a bit unrelated) | 10:27 |
| arigato | indeed, "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 seconds | 10:28 | |
| fijal | libc reading time? | 10:28 |
| arigato | well we can't rely on libm's behavior | 10:28 |
| fijal | no, I mean if libm does that, then it's valid | 10:29 |
| arigato | no | 10:29 |
| fijal | or not necesarilly? | 10:29 |
| arigato | because on non-Linux machines it may be wrong | 10:29 |
| arigato | if we want to optimize the case, we need to add it to floatobject.py I think | 10:29 |
| arigato | it's wrong to put an optimization in the JIT | 10:30 |
| arigato | in general | 10:30 |
| fijal | why? | 10:30 |
| arigato | I thought this would be clear by now? but I guess it's all very confusing | 10:31 |
| arigato | because if the libm call to pow(x,2.0) returns a number slightly different from x*x | 10:31 |
| arigato | and we only optimize JITted code to replace pow(x,2.0) with x*x | 10:32 |
| arigato | then we get slightly bogus results due to the JIT | 10:32 |
| pedronis | jitted and non jitted code should produce the same results | 10:36 |
| Action: pedronis stating the "obvious" | 10:36 | |
| arigato | precisely :-) | 10:36 |
| fijal | mhm :/ | 10:37 |
| kenaan | 12arigo default 11c5d041657831 15/pypy/rpython/lltypesystem/module/ll_math.py: Special-case in RPython the case of "x ** 2.0". | 10:38 |
| fijal | now we get bridges I guess in some cases | 10:38 |
| arigato | yes | 10:38 |
| amaury_ | rguillebert: pdb should now work in translated pypy-c and bin/py.py | 10:38 |
| amaury_ | err, when I push my changes :) | 10:38 |
| rguillebert | :) | 10:38 |
| fijal | arigato: btw, how is the limited tracing experiment going? | 10:39 |
| arigato | fijal: my current guess is that such bridges are really rare, but of course there might be a corner case | 10:39 |
| arigato | fijal: anto left the sprint already, but all in all, it doesn't seem to give improvements | 10:39 |
| arigato | the tracing time is still far too much for very-short-running programs | 10:39 |
| fijal | did you look at traces? | 10:39 |
| fijal | ah ok | 10:39 |
| arigato | yes, the traces are as expected | 10:39 |
| fijal | tracing is slow :/ | 10:39 |
| arigato | yes | 10:40 |
| fijal | the case I explained earlier exaggerates the issue as well | 10:40 |
| fijal | (about trace-mark-as-too-long-trace-mark-as-too-long-trace...) | 10:40 |
| fijal | arigato: note that we already return slightly different results than say cpython | 10:44 |
| fijal | (on x86 linux) | 10:45 |
| arigato | fijal: yes | 10:45 |
| arigato | but we decided to return the same results as ourselve-just-half-a-second-before-when-not-jitted | 10:45 |
| fijal | yes :) | 10:45 |
| fijal | "obviously so" | 10:45 |
| fijal | On Darwin systems, the math library never sets "errno". | 10:48 |
| rguillebert | amaury_, shouldn't we run 2to3 on applevel tests ? | 10:49 |
| amaury_ | 2to3 won't convert strings to byte literals | 10:49 |
| amaury_ | why? | 10:49 |
| ronny | amaury_: it generally asumes they are meant to be text | 10:50 |
| amaury_ | which is wrong for many of our tests | 10:51 |
| CIA-17 | 03Dmitrey 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 latest | 10:51 |
| CIA-17 | build, let me put it here into bug tracker for more safety: | 10:51 |
| CIA-17 | > ... * 14https://bugs.pypy.org/issue1012 | 10:51 |
| rguillebert | we can still run some of the fixers | 10:52 |
| rguillebert | like except | 10:52 |
| rguillebert | or exec | 10:52 |
| amaury_ | there are more issues with exec | 10:52 |
| amaury_ | when the exec statement appears in a nested function, | 10:53 |
| amaury_ | it *must* specify the "in" clause | 10:53 |
| amaury_ | (in 2.x) | 10:53 |
| amaury_ | so if you put parentheses to please 3.x | 10:53 |
| amaury_ | the whole .py can't be imported by python 2.x | 10:53 |
| rguillebert | erf | 10: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 test | 10:56 |
| ronan (~ronan@host81-132-98-87.range81-132.btcentralplus.com) left irc: Ping timeout: 240 seconds | 10:57 | |
| rguillebert | and it won't be parsed by python2 ? | 10:58 |
| rguillebert | anyway we can apply stuff that is valid in both python2.7 and python3 | 11:00 |
| csenger (~user@dslb-084-058-150-061.pools.arcor-ip.net) left irc: Read error: Operation timed out | 11:02 | |
| csenger (~user@dslb-084-058-150-061.pools.arcor-ip.net) joined #pypy. | 11:07 | |
| CIA-17 | 03Dmitrey 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 your | 11:08 |
| CIA-17 | own code yields incorrect result even on examples from func ... * 14https://bugs.pypy.org/issue1013 | 11: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 rules | 11:14 |
| arigato | :-) | 11:15 |
| rguillebert | amaury_, I meant that we should run 2to3 on classes that start with AppTest, not on the entire file | 11:17 |
| amaury_ | on *methods* of these classes | 11:17 |
| amaury_ | only "def test_" methods | 11:18 |
| fijal | eh | 11:18 |
| amaury_ | no setup_class, for example | 11:18 |
| fijal | what should I reply? | 11:18 |
| fijal | all his bugs are shallow and not really worth mentioning I'm afraid :/ | 11:18 |
| arigato | fijal: well, from another point of view, I see his point, | 11:19 |
| arigato | and you should review fromnumeric.py | 11:20 |
| fijal | arigato: yes, i see his point, agreed | 11:20 |
| rguillebert | amaury_, then we agree :) | 11:20 |
| arigato | at least comment out the arguments that are so far ignored, or assert that they are none :-) | 11:20 |
| fijal | arigato: or remove fromnumeric alltogether until we're ready to copy it unchanged | 11:21 |
| fijal | if this is a problem | 11:21 |
| arigato | yes, because our fromnumeric.py is completely untested so far :-) | 11:21 |
| fijal | that's nto true | 11:22 |
| arigato | ah | 11:22 |
| fijal | pypy/module/test_lib_pypy | 11:22 |
| arigato | ok, but then it's not tested enough, which is kind of expected right now | 11:23 |
| arigato | e.g. any() and all() are not tested at all | 11:23 |
| fijal | I don't know, I think we should remove fromnumeric alltogether | 11:24 |
| fijal | for now | 11:24 |
| fijal | because it seems it's falling out of sync as well | 11:24 |
| amaury_ | rguillebert: OTOH, except for test_unicodeobject.py which was tedious | 11:25 |
| amaury_ | I don't find these transformations too long to do | 11:26 |
| amaury_ | there are more questions about the features that changed between versions | 11:26 |
| rguillebert | yes probably | 11:26 |
| amaury_ | and I'm more worried about "test_all.py -A" not working anymore | 11:26 |
| amaury_ | except for simple cases | 11:27 |
| amaury_ | this -A option is important to test your test | 11:27 |
| amaury_ | against CPython3.2 | 11:27 |
| amaury_ | and be sure that we implement the correct features | 11:28 |
| rguillebert | yes I check on python3 when I'm not sure | 11:28 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1202 [12bivab, arm-backend-2] | 11:31 |
| rguillebert | indeed I get a segfault... | 11:33 |
| amaury_ | with python3? | 11:33 |
| csenger | fijal: should I file the ticket for the buildbot on https://bitbucket.org/pypy/buildbot/issues or bugs.pypy.org ? | 11:33 |
| kenaan | 12arigo 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 |
| rguillebert | no on python2 | 11:34 |
| rguillebert | it doesn't make sense to run it on python2 anyway | 11:35 |
| rguillebert | but the interpreter segfaults in test_ast.py | 11:35 |
| csenger | fijal: 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 |
| fijal | csenger: bugs pypy org | 11:36 |
| fijal | csenger: 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 crashers | 11:41 |
| rguillebert | so should we use a python3 friendly py.test, and fix some scripts or it's more complicated ? | 11:42 |
| rguillebert | there's the issue of setup_class... | 11:44 |
| fijal | meh, mess cleanup :/ | 11:46 |
| amaury_ | it's more complex than that | 11:47 |
| amaury_ | rguillebert: all our test files import pypy modules | 11:48 |
| rguillebert | erf | 11:48 |
| rguillebert | I see | 11:48 |
| fijal | uh | 11:49 |
| amaury_ | I have a partial solution, see pypy/conftest.py: run_with_python | 11:49 |
| fijal | I think a macro defining a static local function that does lazy loading there is a bit obscene | 11:49 |
| amaury_ | but this only copies the function | 11:49 |
| amaury_ | and won't work with methods | 11:49 |
| rguillebert | a (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 |
| fijal | is there a way to do space.import_something? | 11:59 |
| fijal | or should I just do applevel hook | 11:59 |
| fijal | ? | 11:59 |
| rguillebert | space.sys.getmodule() ? | 12:00 |
| CIA-17 | 03fijal 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 is | 12:00 |
| CIA-17 | pure python copied code, we should somehow make sure it ... * 14https://bugs.pypy.org/issue1013 | 12:00 |
| fijal | rguillebert: that does only work with builtins, doesn't it? | 12:01 |
| rguillebert | there's space.getbuiltinmodule | 12:01 |
| rguillebert | so I guess they're different | 12:01 |
| rguillebert | if I grep getmodule there's some imports of datetime | 12:02 |
| rguillebert | no sorry that's getbuiltinmodule :S | 12:05 |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 12:05 | |
| mikefc | fijal: feel free to remove fromnumeric. it was premature. | 12:05 |
| voidspace (~voidspace@python/psf/voidspace) left irc: Quit: Bye... | 12:10 | |
| fijal | mikefc: it's fine by now | 12:10 |
| fijal | mikefc: if you are bored we can move var & std back to applevel | 12:10 |
| fijal | I think the policy should be | 12:10 |
| fijal | * don't implement something in rpython which is pure python in numpy | 12:11 |
| fijal | * pure python from numpy should be as unmodified as possible | 12:11 |
| kenaan | 12fijal default 115a6305c3c894 15/: add a few asserts, propagate axis where it works | 12:12 |
| kenaan | 12fijal default 116a0c4cca12c4 15/pypy/translator/goal/translate.py: merge | 12:12 |
| mikefc | fijal: yep. so back out all my patches :) | 12:16 |
| Action: mikefc browses through numpy source | 12:17 | |
| fijal | mikefc: I'm improving the situation | 12:17 |
| kenaan | 12amauryfa py3k 112c98a32d1484 15/: hg merge default | 12:19 |
| kenaan | 12amauryfa py3k 11e613284ce7f5 15/lib_pypy/readline.py: pyrepl has a lot of SyntaxErrors at the moment. gracefully raise an ImportError in readline.py | 12:19 |
| kenaan | 12amauryfa py3k 11af3dee783792 15/: Merge heads | 12:19 |
| kenaan | 12amauryfa py3k 11a718c93124eb 15/pypy/interpreter/argument.py: Fix translation | 12:19 |
| csenger (~user@dslb-084-058-150-061.pools.arcor-ip.net) left irc: Ping timeout: 252 seconds | 12: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 peer | 12:21 | |
| Nick change: stakkars_ -> stakkars | 12:21 | |
| fijal (~fijal@196-210-150-33.dynamic.isadsl.co.za) left irc: Ping timeout: 240 seconds | 12:23 | |
| whyking (~quassel@ip68-14-13-208.ri.ri.cox.net) left irc: Ping timeout: 240 seconds | 12:25 | |
| ousado (~ousado@unaffiliated/ousado) left irc: Ping timeout: 252 seconds | 12:27 | |
| Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 248 seconds | 12:29 | |
| ousado (~ousado@31-18-105-38-dynip.superkabel.de) joined #pypy. | 12:29 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1202 [12bivab, arm-backend-2] | 12:30 |
| arigato | how do I convert a .texi file to an .info file? | 12:31 |
| Action: arigato asks google | 12: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 david | 12:32 | |
| sacred_coder_ (~rambaho@202.3.77.231) left irc: Client Quit | 12: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 seconds | 12: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 peer | 12:36 | |
| nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 252 seconds | 12: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 seconds | 12:39 | |
| kenaan | 12bivab arm-backend-2 11ce782a82bacb 15/pypy/jit/backend/arm/opassembler.py: off by one error when extracting call arguments in guard_call_xxx operations | 12:39 |
| kenaan | 12bivab arm-backend-2 11f81818811f73 15/pypy/: merge default | 12:39 |
| ousado (~ousado@31-18-105-38-dynip.superkabel.de) left irc: Changing host | 12: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: DasIch | 12:56 | |
| fijal | can 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 | |
| fijal | mikefc: look at the branch I just started | 13:10 |
| kenaan | 12fijal numpy-back-to-applevel 1178fdc8d84157 15/pypy/module/micronumpy/: start working on a branch that moves back stuff from interp-level to app-level | 13:12 |
| christophler | hey hey, how do I go about finding where "assignment" is implemented, for example, in the stdobject space? | 13:13 |
| rguillebert | fijal, if you're still trying to import modules at interplevel, I think you can use the imp module | 13:13 |
| christophler | Oh, 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 sometime | 13:14 |
| stakkars (~tismer@p5DDB5C07.dip.t-dialin.net) left irc: Read error: Connection reset by peer | 13: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 peer | 13:15 | |
| stakkars (~tismer@p5DDB5C07.dip.t-dialin.net) joined #pypy. | 13:15 | |
| amaury_ | christophler: "assignment" is not exactly an object space operation | 13:15 |
| amaury_ | it's about where you store the value | 13: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 peer | 13:16 | |
| Nick change: stakkars_ -> stakkars | 13:16 | |
| jaffachief (~textual@host86-170-15-228.range86-170.btcentralplus.com) left irc: Quit: Computer has gone to sleep. | 13:17 | |
| fijal | rguillebert: I just used applevel | 13:19 |
| fijal | christophler: hi | 13:19 |
| dzen (benoit@ausone.vineolia.fr) left #pypy. | 13:19 | |
| fijal | christophler: what are you looking for precisely? | 13:19 |
| christophler | fijal: hello | 13:21 |
| christophler | well | 13:21 |
| christophler | if 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 |
| christophler | maybe some references to stack frames or some other artifact of the current execution environment | 13:24 |
| christophler | (excuse my c like word, i realise they may not be exactly accurate) | 13:24 |
| christophler | amaury_: what kind of operation is it? | 13:25 |
| amaury_ | it's an "interpreter" operation, implemented with opcodes: STORE_NAME, STORE_LOCALS... | 13:26 |
| christophler | amaury_: seems to me an object space could change the definition of "=" "assignment" to ... print "Hello World" | 13:27 |
| amaury_ | no | 13:27 |
| christophler | really? | 13:27 |
| christophler | hmm | 13:27 |
| christophler | what about the "behaviour of the "=" character in source code? could an object space change that? | 13:28 |
| amaury_ | not an object space | 13:28 |
| amaury_ | you need to change the bytecode compiler | 13:28 |
| amaury_ | and have it emit different bytecodes | 13:28 |
| christophler | so 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 connection | 13:29 | |
| amaury_ | yes | 13:30 |
| christophler | ph | 13:30 |
| christophler | oh | 13: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 | |
| christophler | why? :) | 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 seconds | 13:32 | |
| christophler | so 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 |
| arigato | it's similar to the standard Python newbie question: "why can I override __add__ on my classes, but not say "__assign__?" | 13:33 |
| rguillebert | christophler, it's how the bytecode is designed | 13:33 |
| christophler | arigato: sounds similar to me, except this isnt standard Python... | 13:33 |
| amaury_ | pypy *is* a standard Python... | 13:34 |
| arigato | I'm talking about the Python language, so yes, this is standard Python | 13:34 |
| christophler | could I add a hook into the interpreter somewhere to allow the applevel to modify the behaviour of "="? | 13:34 |
| kenaan | 12fijal numpy-back-to-applevel 11f53826f6f84a 15/pypy/module/micronumpy/: add count_reduce_numbers | 13:34 |
| rguillebert | christophler, it's implemented in the compiler | 13:35 |
| amaury_ | in pypy/interpreter/pyopcode.py | 13:35 |
| amaury_ | you have the implementation of opcodes | 13:35 |
| arigato | christophler: 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 C | 13: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 connection | 13:36 | |
| JaRoel|4d (~jaroel|4d@2001:980:7133:1:4483:1e9a:552c:afb9) joined #pypy. | 13:36 | |
| christophler | yes, 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 that | 13:36 |
| zain (~textual@bzq-79-179-136-94.red.bezeqint.net) joined #pypy. | 13:37 | |
| arigato | it'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 |
| christophler | arigato: | 13:37 |
| christophler | yes | 13:37 |
| christophler | exactly | 13:37 |
| christophler | each of these points is like a "milestone marker" in the data dependcy graph of a program | 13:38 |
| christophler | where implicit or expliciy in the source code, I need hooks for all the points where "assignments" take place | 13:38 |
| christophler | and a guarantee that they will always be called | 13:39 |
| arigato | basically, 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___x | 13:40 | |
| arigato | (it *is* easier in pypy than in cpython if you don't know C well, of course) | 13:41 |
| christophler | arigato: 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 |
| arigato | christophler: the key point is that it's optimizations that (1) don't change the language, and (2) give benefits on existing programs | 13:41 |
| kenaan | 12fijal numpy-back-to-applevel 111ff91b2e045c 15/: Add missing files, to progress, we need out attribute (Which is pointless on pypy btw) | 13:42 |
| arigato | in 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 seconds | 13:43 | |
| christophler | 1 is a requirement of the language being python and leveraging existing programs/libraries, 2.. well now theres the crux of the matter | 13:44 |
| christophler | ok, well maybe im thinking about this the wrong way.. Here's a question: | 13:45 |
| christophler | If I wanted to label some object as "dirty" if it referenced a value which had changed, how could I go about that? | 13:45 |
| arigato | just saying that adding a hook on assignments is a language change, and opens language design questions --- so is off-topic for #pypy | 13:45 |
| arigato | (or mostly off-topic at least) | 13:46 |
| christophler | ok, wheres the "OMG what if we did THIS" channel | 13:46 |
| exarkun | christophler: python-ideas@python.org | 13:46 |
| christophler | hmm. ok | 13:46 |
| exarkun | christophler: or #yournewlanguage :) | 13:46 |
| exarkun | christophler: (I don't mean that in a discouraging way) | 13:46 |
| exarkun | christophler: I wonder if your thesis is online anywhere | 13:47 |
| christophler | not any more | 13:47 |
| christophler | ill try and dig one up | 13:47 |
| kenaan | 12fijal numpy-back-to-applevel 11d6c604ffffa0 15/: rebinding is a bit harmful for now. Let's not do it | 13:48 |
| fijal | next step - true divide | 13:49 |
| fijal | arigato: "good" it seems we can start reusing numpy | 13:49 |
| fijal | but we have to review performance implications though | 13:50 |
| arigato | :-) | 13:50 |
| fijal | because storing an array in-place is harmful in pypy | 13:50 |
| fijal | (even if it worked) | 13:50 |
| fijal | like | 13:50 |
| fijal | x = some_numpy_operation(x, out=x) | 13:51 |
| fijal | would force stuff without a reason (I think) | 13:51 |
| Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 272 seconds | 13:51 | |
| kenaan | 12fijal numpy-back-to-applevel 11ac6129336b42 15/lib_pypy/numpypy/core/_methods.py: change rebindings, nonsense | 13: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 seconds | 13:59 | |
| fijal (~fijal@41-134-244-137.dsl.mweb.co.za) left irc: Ping timeout: 252 seconds | 14:00 | |
| legogris (~legogris@c80-217-207-157.bredband.comhem.se) joined #pypy. | 14:01 | |
| rguillebert | in 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 | |
| rguillebert | argh !!! nevermind | 14:07 |
| christophler | the thesis was at edinburgh uni, btw... still cant find it | 14: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 peer | 14:16 | |
| Nick change: stakkars_ -> stakkars | 14:16 | |
| amaury_ | hmm, time to kill _file.W_File in the py3k branch | 14:24 |
| nanonyme | How'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: Leaving | 14:29 | |
| amaury_ | "interesting", I don't know | 14:32 |
| amaury_ | it can at least run the test suite | 14:32 |
| amaury_ | part of it even passes | 14:32 |
| rguillebert | you say that just when I want to add a py3k-only applevel test :( | 14:33 |
| amaury_ | rguillebert: kwonly arguments look broken | 14:35 |
| rguillebert | that's what I was testing :) | 14:35 |
| rguillebert | it screws up if you have default arguments | 14:35 |
| amaury_ | ah, right | 14:36 |
| amaury_ | warnings.py fails becaus of this | 14:36 |
| amaury_ | it means I have a workaround :) | 14:36 |
| rguillebert | the order of the default parameters on the stack isn't good | 14:37 |
| Eventh (evenwiik@lynx.stud.ntnu.no) joined #pypy. | 14:52 | |
| kenaan | 12rguillebert py3k 11250aef313572 15/pypy/module/itertools/test/test_itertools.py: Start to port test_itertools' apptests to py3k | 14:54 |
| kenaan | 12rguillebert py3k 1139eb4a258003 15/pypy/interpreter/astcompiler/test/test_compiler.py: Add a test for keyword-only arguments | 14:54 |
| antocuni (~antocuni@host52-123-dynamic.16-79-r.retail.telecomitalia.it) joined #pypy. | 14:58 | |
| arigato | phew. I've read the gcc docs about the STM library they provide | 14:59 |
| arigato | it supports more than we do (or likely need), but also probably scales better | 14:59 |
| unbit (~unbit@93-58-162-185.ip159.fastwebnet.it) left irc: Remote host closed the connection | 15:00 | |
| antocuni | hi | 15:03 |
| rguillebert | hi | 15:03 |
| Action: antocuni arrived safely at home :-) | 15:03 | |
| bivab | antocuni: do you still have some snow on the car? :) | 15:04 |
| cocoatomo | hi | 15:04 |
| arigato | hi | 15:04 |
| antocuni | bivab: 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 road | 15:04 |
| arigato | :-) | 15:05 |
| unbit (~unbit@93-58-162-185.ip159.fastwebnet.it) joined #pypy. | 15:05 | |
| antocuni | arigato: am I supposed to clean my car of the snow before going around or it's just that policeman which was annoyed? | 15:06 |
| exarkun | driving around is how you clean snow off :) | 15:06 |
| antocuni | yes :-) | 15:06 |
| arigato | I 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 seconds | 15:14 | |
| jacob22 | In 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 host | 15: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 | |
| dripton | fijal, 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 | |
| fijal | dripton: can you provide a test case for it as well? | 15:42 |
| dripton | yes, I'll add one | 15:42 |
| fijal | it should go into module/test_lib_pypy/test_lib_pypy | 15:42 |
| fijal | cool, I can commit if you do that | 15:43 |
| dripton | ok | 15:43 |
| fijal | dripton: shout if you have a problem btw :) | 15:49 |
| dripton | ok | 15:49 |
| icrazyhack (horieyui@222.47.125.36) left irc: Quit: http://www.cnblogs.com/crazyhack | 15:50 | |
| legogris (~legogris@c80-217-207-157.bredband.comhem.se) left irc: Ping timeout: 252 seconds | 15:52 | |
| legogris (~legogris@c80-217-207-157.bredband.comhem.se) joined #pypy. | 15:53 | |
| dripton | fijal, 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 |
| fijal | dripton: no | 15:56 |
| fijal | py.test <particular file> | 15:56 |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 252 seconds | 15:57 | |
| dripton | That should work, but I'm getting the weird error: | 15:57 |
| dripton | py.test: error: no such option: --assertmode | 15:57 |
| dripton | I will check my py.test install. | 15:57 |
| ronny | dripton: use the pytest from the checkout | 15:58 |
| dripton | ronny, I'll try that, thanks. | 15:58 |
| fijal | dripton: py.test changes APIs every Wed | 15:59 |
| fijal | that's why we ship our own | 16:00 |
| kenaan | 12fijal numpy-back-to-applevel 11b31c0d563d03 15/pypy/module/micronumpy/: shuffle stuff around | 16:03 |
| dripton | bitbucket just kicked the bucket updating my pull request | 16:03 |
| tumbleweed | dripton: yup, i tdoes that... | 16:04 |
| tumbleweed | fijal: 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 |
| kenaan | 12RonnyPfannschmidt pytest 11513060cd54e5 15/: syncronize pylib and pytest with current hg versions | 16:04 |
| ronny | hmm, how do i run the tests on that one again? | 16:04 |
| dripton | fijal, the unit test has been added to https://bitbucket.org/pypy/pypy/pull-request/21/datetimepy-fix-for-issue972-with-unit-test | 16:06 |
| fijal | the test passes right? | 16:07 |
| dripton | yes | 16:08 |
| fijal | (I have no way of checking before pulling this in :/ | 16:08 |
| fijal | ) | 16:08 |
| dripton | I can paste the output of the py.test run if you want to see it. | 16:08 |
| fijal | no no, it's fine :) | 16:08 |
| fijal | I believe you :) | 16:08 |
| fijal | dripton: can you clean up the os.environ? | 16:09 |
| dripton | yes | 16:09 |
| Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 252 seconds | 16:09 | |
| fijal | ideally it would be something like os.environ['TZ'] = GMT | 16:09 |
| fijal | try: | 16:09 |
| fijal | ... | 16:09 |
| fijal | finally: os.environ['TZ'] = previous | 16:09 |
| dripton | sorry, I was thinking it got cleared after running the test, but of course if multiple tests run in same process... | 16:09 |
| fijal | or del os.environ | 16:09 |
| fijal | yes | 16:09 |
| arigato | fijal: you can pull from http://bitbucket.org/dripton/pypy into your own working copy | 16:09 |
| dripton | I'll do the try/finally | 16:09 |
| fijal | they're run in the same process | 16:09 |
| fijal | dripton: note that it should put back the value if there was one, or delete it if there was not | 16:10 |
| fijal | arigato: yes, just realized :) | 16:10 |
| fijal | dripton: and thanks for doing this btw! | 16:10 |
| antocuni_ (~antocuni@host155-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 16:12 | |
| rguillebert | 1h30 to find a bug and the fix is a oneliner \o/ | 16:12 |
| fijal | rguillebert: typical jit stuff is like 5 days to find a bug, a day to write a test and a one line fix | 16:15 |
| fijal | ask arigato :) | 16:15 |
| rguillebert | :D | 16:15 |
| rguillebert | well my fix breaks other stuff... | 16:15 |
| ronny | would anyone miss pypy/test_all.py? | 16:16 |
| arigato | ronny: yes, e.g. all the buildbots | 16:16 |
| fijal | ronny: I would | 16:16 |
| Alex_Gaynor | arigato: can't they replace in with ./pytest.py | 16:16 |
| dripton | fijal: updated https://bitbucket.org/pypy/pypy/pull-request/21/datetimepy-fix-for-issue972-with-unit-test to clean up TZ | 16:16 |
| fijal | ronny: it's the only way coverage works | 16:17 |
| Alex_Gaynor | fijal: coverage works with pytest.py | 16:17 |
| arigato | I never understood why pytest.py was added when we already have test_all.py | 16:17 |
| arigato | but the point is that tons of legacy code uses test_all.py | 16:17 |
| ronny | well, then how about killing pytest.py | 16:18 |
| ggherdov (~giovanni@ppp-sei21-46-193-160.128.wb.wifirst.net) left irc: Remote host closed the connection | 16:18 | |
| fijal | Alex_Gaynor: ok, it does not work with py.test | 16:18 |
| dripton | coverage works with py.test if you have the pytest-cov plugin | 16:18 |
| fijal | ronny: I guess people on #pypy never understood py.test's "break stuff" policy in general | 16:18 |
| justinpeel (~justinpee@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy. | 16:19 | |
| ronny | dripton: the main issue is that coverage is not loaded early enough | 16:19 |
| ronny | dripton: which is fixed in the custom pytest.py/test_all.py | 16:19 |
| dripton | ronny: thanks. I've only used pytest-cov with normal non-crazy code, and it works fine there. | 16:19 |
| ronny | dripton: it only shows up if you do extended things with conftests | 16:20 |
| Tobu (~Tobu@unaffiliated/tobu) joined #pypy. | 16:20 | |
| anish_ (~anish@123.201.34.32) left irc: Ping timeout: 240 seconds | 16:21 | |
| kenaan | 12dripton 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 |
| kenaan | 12dripton 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 |
| kenaan | 12dripton 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 |
| fijal | Alex_Gaynor: is true_divide just divide promote_to_float=True? | 16:26 |
| fijal | seems so | 16:26 |
| Alex_Gaynor | fijal: might be, don't bother trying to read the numpy source, it's scary for ufuncs | 16:26 |
| fijal | I read docs though | 16:27 |
| fijal | dripton: thank you! | 16:27 |
| fijal | dripton: and sorry it took so long | 16:27 |
| cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) left irc: Remote host closed the connection | 16:27 | |
| CIA-17 | 03fijal 07roundup * 10#972/inconsistency with cpython (datetime?): [resolved] Merged * 14https://bugs.pypy.org/issue972 | 16:27 |
| dripton | fijal: happy to help with a little bug | 16:27 |
| sacred_coder (~rambaho@202.3.77.231) left irc: Quit: Ex-Chat | 16:28 | |
| sacred_coder (~rambaho@202.3.77.231) joined #pypy. | 16:28 | |
| nedbat | if anyone wants help with running coverage, just let me know. | 16:30 |
| fijal | nedbat: with py.test not with coverage | 16:31 |
| fijal | Alex_Gaynor: masked arrays lurk around the corner btw | 16:31 |
| nedbat | fijal: does that not use coverage.py? | 16:32 |
| Alex_Gaynor | fijal: what's a masked array? | 16:32 |
| Alex_Gaynor | nedbat: it does, our issues are just with py.test apparently | 16:32 |
| nedbat | Alex_Gaynor: ok | 16:33 |
| fijal | Alex_Gaynor: I'm very close to remove __str__ and __repr__ | 16:34 |
| fijal | Alex_Gaynor: it's an array that has some values marked as invalid | 16:34 |
| Alex_Gaynor | fijal: and replace with numpy's? | 16:34 |
| fijal | "a mask" | 16:34 |
| fijal | yes | 16:34 |
| Alex_Gaynor | great | 16:34 |
| fijal | I'm just adding random stuff that's necessary | 16:35 |
| fijal | one issue though | 16:35 |
| fijal | out argument is harmful on pypy, even if it worked | 16:35 |
| fijal | so we remove it | 16:35 |
| fijal | (modify numpy code) | 16:35 |
| sacred_coder_ (~rambaho@202.3.77.231) joined #pypy. | 16:36 | |
| Alex_Gaynor | right | 16:37 |
| fijal | meh | 16:37 |
| fijal | :/ | 16:37 |
| fijal | None and NoneNotWrapped magic is a bit too much IMO :/ | 16:38 |
| Alex_Gaynor | perhaps, but it's not too terribel | 16:38 |
| fijal | well | 16:40 |
| fijal | you can't make it really work if you want to call this from rpython level program | 16:40 |
| fijal | well | 16:40 |
| fijal | if you call it both from python and rpython, you have to write bizzare things like | 16:41 |
| ronny | hmm | 16:41 |
| fijal | if x is None or space.is_w(x, space.w_None | 16:41 |
| fijal | ): | 16:41 |
| ronny | when did we last run the tests of testrunner?! | 16:41 |
| fijal | ronny: 513060cd54e5 | 16:43 |
| fijal | what's that doing? | 16:43 |
| fijal | you just updated py.test version in pypy? | 16:43 |
| ronny | fijal: aslo fixing some small issues | 16:43 |
| arigato | meh. I "lost" my afternoon trying to understand how gcc's libitm works | 16:44 |
| fijal | ronny: was this discussed with anyone by chance? | 16:44 |
| fijal | like armin | 16:44 |
| arigato | the 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 memory | 16:44 |
| fijal | arigato: nice | 16:44 |
| fijal | ronny: this usually breaks a lot of stuff | 16:45 |
| fijal | like armin's hacks or my hacks | 16:45 |
| arigato | (more precisely, it has a GIL that gets only acquired when a transaction does its first write) | 16:46 |
| ronny | fijal: thats why i made it a branch | 16:46 |
| fijal | ronny: I would like to be able to run release buildbots without changing code in the release for example | 16:46 |
| fijal | ah | 16:46 |
| arigato | (but it's still far too much for our case) | 16:46 |
| fijal | ronny: did not see the branch sorry :/ | 16:46 |
| kenaan | 12RonnyPfannschmidt 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 time | 16:47 |
| kenaan | 12RonnyPfannschmidt pytest 11e17af4cf9825 15/pypy/pytest.ini: switch pytest.ini over new option name | 16:47 |
| kenaan | 12RonnyPfannschmidt pytest 115a86baac8343 15/pypy/: add 2 missing __init__.py files so those test files can be discovered correctly | 16: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 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1934 [12ronny, pytest] | 16:52 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/796 [12ronny, pytest] | 16:52 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-win-x86-32/builds/543 [12ronny, pytest] | 16:52 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1203 [12ronny, pytest] | 16:52 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/685 [12ronny, pytest] | 16:52 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/335 [12ronny, pytest] | 16:52 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/345 [12ronny, pytest] | 16:52 |
| ronny | whops | 16:52 |
| ronny | shouldnt have started too many | 16:52 |
| fijal | ronny: anyway, why you think we would like to have py.test updated? | 16:53 |
| ronny | fijal: due to a cli option rename stuff started to go messy wrt just invoking py.test on something | 16: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 peer | 16:54 | |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy. | 16:56 | |
| kenaan | 12arigo 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-17 | 03Dmitrey 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-17 | 6 | 16:57 |
| CIA-17 | >>>> np.sum([[0, 1], [0, 5]], axis=0) * 14https://bugs.pypy.org/issue1014 | 16:57 |
| fijal | ronny: 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 bugs | 16:58 |
| ronny | fijal: the 2.x series is pretty stable wrt the hooks | 16:58 |
| ronny | fijal: also please publish your hacks, i'd love to mess around with them | 16:59 |
| CIA-17 | 03fijal 07roundup * 10#1014/numpypy sum() buggy with axis: [resolved] It's fixed already. hg pull * 14https://bugs.pypy.org/issue1014 | 16:59 |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 16:59 | |
| Alex_Gaynor | fijal: Do you mind if I commit new features to numpypy ATM? | 17:00 |
| fijal | Alex_Gaynor: like what? | 17:01 |
| Alex_Gaynor | fijal: ndarray.flatten | 17:01 |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy. | 17:01 | |
| fijal | Alex_Gaynor: not at all | 17:01 |
| fijal | Alex_Gaynor: commit ndarray.ravel as well | 17:01 |
| fijal | and update lib_pypy to reflect the new state | 17:01 |
| Alex_Gaynor | fijal: is there a patch, or I need to write it? | 17:01 |
| CIA-17 | 03Dmitrey 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 from | 17:02 |
| CIA-17 | sources on my computer. * 14https://bugs.pypy.org/issue1014 | 17:02 |
| kenaan | 12alex_gaynor default 116eb004a15a12 15/pypy/module/micronumpy/: Implement numpypy.ndarray.flatten | 17:02 |
| fijal | Alex_Gaynor: write what? | 17:03 |
| Alex_Gaynor | fijal: ravel() | 17:03 |
| gutworth | oh, great composer :) | 17:03 |
| Alex_Gaynor | ? | 17:03 |
| CIA-17 | 03fijal 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 can | 17:03 |
| CIA-17 | test it on top of py.py * 14https://bugs.pypy.org/issue1014 | 17:03 |
| Alex_Gaynor | oh, hehe | 17:03 |
| fijal | Alex_Gaynor: yes, you ahve to write it | 17:04 |
| fijal | Alex_Gaynor: your implementation is broken | 17:04 |
| Alex_Gaynor | fijal: how? | 17:05 |
| fijal | a.T.flatten() | 17:05 |
| fijal | a[::2].flatten() | 17:05 |
| fijal | etc. | 17:05 |
| fijal | no? | 17:05 |
| Alex_Gaynor | I have a test for [::2] | 17:05 |
| fijal | no | 17:05 |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 17:05 | |
| fijal | add a test for .T | 17:05 |
| fijal | ravel is the same except it does not always make a copy | 17:05 |
| Alex_Gaynor | pff, indeed, it is incorrect with .T | 17:06 |
| fijal | the question is "does x[:] = a.T work?" | 17:06 |
| fijal | ronny: for example a feature that was removed ages ago and never brought back is displaying number of tests in the test file | 17:07 |
| fijal | eager collection is also very annoying | 17:07 |
| Alex_Gaynor | fijal: yes it does, somehow | 17:08 |
| Alex_Gaynor | http://paste.pocoo.org/show/538312/ | 17:08 |
| Alex_Gaynor | mitsuhiko: 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_Gaynor | fijal: I'm a bit not sure, it seems to follow the same code as setslice | 17:12 |
| fijal | L:. | 17:12 |
| fijal | :/ | 17:12 |
| Alex_Gaynor | let me commit the failing test | 17:12 |
| kenaan | 12alex_gaynor default 11637b4cfa4f65 15/pypy/module/micronumpy/test/test_numarray.py: A failing test for flatten | 17:13 |
| fijal | arigato: note that cpython also runs the cyclic gc collector | 17:13 |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 17:13 | |
| fijal | it's not a given which one is worst with swap, but they're both bad | 17:13 |
| arigato | true :-/ | 17:14 |
| fijal | and it really matters what you mean by cpython | 17:14 |
| fijal | 2.6 and 2.7 will have vastly different behavior | 17:14 |
| ronny | fijal: wrt the force-build tool, whats the point in twisted, when its serialized by a DeferedLock? | 17:15 |
| fijal | ronny: it's shamelessly stolen, ask exarkun | 17:15 |
| Alex_Gaynor | fijal: do you have a clue how to fix this? | 17:15 |
| fijal | Alex_Gaynor: not right now | 17:15 |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy. | 17:16 | |
| fijal | Alex_Gaynor: I'm implementing keepdims | 17:16 |
| Alex_Gaynor | wtf is that? | 17:16 |
| Tobu (~Tobu@unaffiliated/tobu) left irc: Read error: Operation timed out | 17:16 | |
| Tobu (~Tobu@unaffiliated/tobu) joined #pypy. | 17:17 | |
| arigato | hum, my hack for "float ** 2.0" doesn't automatically apply to complex numbers | 17:17 |
| fijal | Alex_Gaynor: numpy.add.reduce(..., axis=1, keepdims=True) | 17:17 |
| fijal | does not remove axis 1, just makes it size 1 | 17:17 |
| zain (~textual@bzq-79-179-136-94.red.bezeqint.net) joined #pypy. | 17:18 | |
| Alex_Gaynor | arigato: would it be reasonable to add jit.isconstant(y) and y == 2.0: | 17:18 |
| Alex_Gaynor | that way we only tak ethe fast path when there's no bridge? | 17:18 |
| arigato | no | 17:18 |
| Alex_Gaynor | why not? | 17:19 |
| arigato | should 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 peer | 17:19 | |
| Alex_Gaynor | Are they not numerically equal in some case? | 17:19 |
| arigato | because then we get a slightly different result before and after the JIT | 17:19 |
| Alex_Gaynor | really? | 17:19 |
| arigato | on Linux they are, but it's a property of the libm | 17:19 |
| Alex_Gaynor | GCC transforms pow(x, 2.0) into x * x always | 17:19 |
| Alex_Gaynor | ah | 17:19 |
| Alex_Gaynor | obscure | 17:19 |
| arigato | I'm sure there are some other libm's where it's not the case | 17: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 seconds | 17:23 | |
| Alex_Gaynor | fijal: 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 peer | 17:24 | |
| Alex_Gaynor | the 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 | |
| fijal | hackish-but-ok | 17:28 |
| kenaan | 12arigo default 1176e23aa1ef63 15/pypy/objspace/std/: Special-case for "complex ** 2" too. | 17:28 |
| Alex_Gaynor | fijal: ok :) | 17:30 |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 17:30 | |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy. | 17:31 | |
| kenaan | 12alex_gaynor default 11fe8a844cd0d0 15/pypy/module/micronumpy/interp_numarray.py: Fix for flatten() with certain types of arrays. | 17:33 |
| kenaan | 12alex_gaynor default 111ebae6842fb2 15/pypy/objspace/std/: merged upstream | 17:33 |
| DasIch (~DasIch@p3E99143F.dip.t-dialin.net) left irc: Quit: DasIch | 17:33 | |
| Alex_Gaynor | fijal: 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 peer | 17:35 | |
| fijal | no idea | 17:35 |
| kenaan | 12fijal numpy-back-to-applevel 11a045db574996 15/pypy/module/micronumpy/: add true divide | 17:35 |
| kenaan | 12fijal numpy-back-to-applevel 110fcad0cba011 15/pypy/module/micronumpy/: implement keepdims=True | 17:35 |
| fijal | Alex_Gaynor: because we didn't bother with transformation actually | 17:35 |
| fijal | good | 17:35 |
| fijal | var passes :) | 17:35 |
| ronan (~ronan@host86-143-208-191.range86-143.btcentralplus.com) joined #pypy. | 17:35 | |
| Alex_Gaynor | fijal: I'll stick it in planning.txt | 17:37 |
| fijal | Alex_Gaynor: flatiter as well | 17:37 |
| fijal | and .flatten() as well btw | 17:37 |
| Alex_Gaynor | fijal: I just comitted flatten... | 17:38 |
| Alex_Gaynor | flatten() needs a copy of the data, it's not just a view | 17:38 |
| fijal | why it has to force though? | 17:38 |
| fijal | it does not need copy more than a + b does | 17:39 |
| Alex_Gaynor | you're saying it should return a lazy obj | 17:39 |
| `fox` (~fox@host223-109-dynamic.5-87-r.retail.telecomitalia.it) joined #pypy. | 17:39 | |
| Alex_Gaynor | I mean, in theory copy() could do that, but it's a bit too much IMO | 17:39 |
| Alex_Gaynor | you have ravel() if that's what you want | 17:39 |
| kenaan | 12alex_gaynor extradoc 11dcdfbead3f5f 15/planning/micronumpy.txt: note that .T is forcing arrays | 17:40 |
| sacred_coder (~rambaho@202.3.77.231) left irc: Quit: Ex-Chat | 17:41 | |
| fijal | oh | 17:45 |
| fijal | Alex_Gaynor: multiply.reduce has axis=0 by default | 17:45 |
| Alex_Gaynor | fijal: is that different from other ones? | 17:46 |
| fijal | yes | 17:46 |
| fijal | sum has axis=None | 17:46 |
| fijal | sum(2-d array) = scalar | 17:46 |
| Alex_Gaynor | numpy is insane | 17:46 |
| fijal | multiply.reduce(2-d array) = 1-d array | 17:47 |
| Alex_Gaynor | what about add.reduce | 17:47 |
| fijal | I'm trying to figure out what's the key :) | 17:47 |
| fijal | axis=0 | 17:47 |
| Alex_Gaynor | well, sum isn't a ufunc | 17:47 |
| Alex_Gaynor | that's all | 17:47 |
| fijal | well | 17:47 |
| Alex_Gaynor | so it's actually sort of sane | 17:47 |
| fijal | a.sum -> scalar | 17:47 |
| Alex_Gaynor | reduce seems to always do a single-dimensionlity reduction | 17:47 |
| Alex_Gaynor | whereas sum() and prod() produce a scalar by default | 17:47 |
| arigato | but a.sum(axis=0) returns a scalar if the array is 1-dimentional, and an array if it's more | 17:50 |
| arigato | so it never returns a 0-dimentional array | 17:50 |
| mattip (4fb56922@gateway/web/freenode/ip.79.181.105.34) joined #pypy. | 17:50 | |
| kenaan | 12fijal numpy-back-to-applevel 11890ac4e99e93 15/pypy/module/micronumpy/: a bit of shuffling until all the tests pass | 17:51 |
| mattip | hi | 17:51 |
| fijal | arigato: never, correct | 17:51 |
| fijal | mattip: hi | 17:51 |
| antocuni_ (~antocuni@host155-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy. | 17:51 | |
| fijal | E Blocked block -- operation cannot succeed | 17:51 |
| fijal | E v83 = getattr(space_0, ('w_NotImplementedError')) | 17:51 |
| kenaan | 12fijal numpy-back-to-applevel 1192d15f3d3e45 15/pypy/module/micronumpy/test/test_ufuncs.py: fix one more test | 17:51 |
| fijal | arigato: how hard this is to fix? | 17:51 |
| arigato | moreover, a.sum(axis=large_value) gives a ValueError, except if a is a zero-dimensional array | 17:52 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1934 [12ronny, pytest] | 17:52 |
| arigato | fijal: you're using a fake space? | 17:52 |
| mattip | I'm happy to put refactoring to_str on my todo list. | 17:53 |
| fijal | arigato: good point | 17:54 |
| fijal | mattip: it's nto really "refactoring" | 17:54 |
| fijal | it's "removing" | 17:54 |
| fijal | :) | 17:54 |
| Action: arigato -> dinner | 17:54 | |
| arigato (~arigo@89-40.5-85.cust.bluewin.ch) left irc: Quit: See you | 17:54 | |
| fijal | mattip: feel like doing more ufuncs instead? | 17:55 |
| fijal | mattip: I'll remove it and put numpy array_string instead | 17:55 |
| fijal | copy-pasted from numpy | 17:55 |
| Action: mattip reading how numpy does it | 17:55 | |
| mattip | what I really want to do is prove there's a bug with iterating a.T[:,:] | 17:55 |
| mattip | and then solve it. | 17:55 |
| fijal | mattip: that sounds like a good target | 17:56 |
| fijal | mattip: it seems you already have a lot on your plate | 17:56 |
| fijal | T, flatiter, matrixmath.dot | 17:56 |
| fijal | you don't need more :) | 17:56 |
| mattip | yes. | 17:56 |
| mattip | They're all stuck at the same place ^^^ | 17:56 |
| fijal | can I help with one or another? | 17:56 |
| mattip | so it's linear | 17:56 |
| kenaan | 12fijal numpy-back-to-applevel 11220d6c657b35 15/pypy/module/micronumpy/compile.py: translation fix for test zjit | 17:56 |
| fijal | Alex_Gaynor: I think this branch is ready for review & merge | 17:57 |
| Alex_Gaynor | fijal: numpy-back-to-applevel? | 17:57 |
| Alex_Gaynor | Ok, wil do | 17:57 |
| fijal | it does not move __str__ and __repr__ yet | 17:57 |
| fijal | but it makes var & std work | 17:57 |
| mattip | I see you're not overloaded? | 17:57 |
| fijal | mattip: I'm about to go for a forced socializing, why? | 17:58 |
| fijal | mattip: I'll move string as a next thing though | 17:58 |
| Alex_Gaynor | fijal: um, what is: | 17:58 |
| Alex_Gaynor | +import _numpypy as mu | 17:58 |
| Alex_Gaynor | +um = mu | 17:58 |
| fijal | Alex_Gaynor: import multiarray as mu | 17:58 |
| fijal | import ufunc as um | 17:58 |
| fijal | + some from ... | 17:58 |
| Alex_Gaynor | is this code from numpy? | 17:58 |
| fijal | yes | 17:59 |
| fijal | modified | 17:59 |
| fijal | because we have a single namespace so far | 17:59 |
| Alex_Gaynor | ah, ok | 17:59 |
| mattip | fijal: cool. I am trying to create a compact test along the lines of the failing test in the flatiter branch. | 17:59 |
| fijal | should I provide a commented version next door? | 17:59 |
| fijal | Alex_Gaynor: also, what's the numready status? | 17:59 |
| mattip | If you can see the problem faster than me I woudl be appreciative. | 17:59 |
| Alex_Gaynor | fijal: still a single file mess on my hard drive, shall I throw it in a BB repo so others can hack? | 17:59 |
| fijal | Alex_Gaynor: ya | 18:00 |
| kenaan | 12RonnyPfannschmidt pytest 11ab8337ed12e8 15/pypy/tool/pytest/test/test_pytestsupport.py: teach testsupport tests about reports now coming in unconditionally | 18:00 |
| fijal | mattip: a compact as in? | 18:00 |
| Alex_Gaynor | fijal: so, count_reduce_items doesn't belong in the top level namespace, I claim we should put stuff in tehr ight one | 18:00 |
| fijal | Alex_Gaynor: it comes as numpy.count_reduce_items though | 18:00 |
| fijal | for good or bad | 18:00 |
| mattip | fijal: just ignore the request. I will get back in a couple of hours with some results. | 18:01 |
| Alex_Gaynor | not on my numpy? | 18:01 |
| fijal | Alex_Gaynor: it's new | 18:03 |
| Alex_Gaynor | ah, ok | 18:03 |
| Alex_Gaynor | what version of numpy are we implementing anyways? | 18:03 |
| exarkun | heh | 18:03 |
| fijal | trunk? | 18:04 |
| fijal | http://docs.scipy.org/doc/numpy/reference/generated/numpy.count_reduce_items.html | 18:04 |
| fijal | 2.0 I would say | 18:04 |
| Alex_Gaynor | works for me | 18:04 |
| Alex_Gaynor | fijal: uh, with your changes ufuncs accept random key word args | 18:04 |
| Alex_Gaynor | And I'm not 100% sure the logic in array() is corret | 18:05 |
| DasIch (~DasIch@p3E99143F.dip.t-dialin.net) joined #pypy. | 18:05 | |
| fijal | yes, ufunc accepts random keyword args | 18:06 |
| fijal | can you filter those that are bogus? | 18:06 |
| fijal | I can as well do it | 18:06 |
| fijal | Alex_Gaynor: which logic in array? | 18:06 |
| Alex_Gaynor | + if (not subok or copy or not space.is_w(w_maskna, space.w_None) or | 18:07 |
| Alex_Gaynor | + ownmaskna): | 18:07 |
| Alex_Gaynor | + raise OperationError(space.w_NotImplementedError, space.wrap("Unsupported args")) | 18:07 |
| Alex_Gaynor | specifically the subok and copy parts | 18:07 |
| Alex_Gaynor | isn't our default copy=True? | 18:07 |
| fijal | anything that's not default | 18:07 |
| Alex_Gaynor | what is the default in numpy? | 18:07 |
| fijal | object, dtype=None, copy=True, order=None, subok=False, ndmin=0, maskna=None, ownmaskna=False | 18:07 |
| Alex_Gaynor | fijal: and yes, you need to filter out bogus kwargs, and it shouldn't accept out , etc. if we don't implement it | 18:08 |
| Alex_Gaynor | copy=False, is what you wrote | 18:08 |
| fijal | uh | 18:08 |
| fijal | it does not quite matter I think | 18:08 |
| fijal | but maybe it does | 18:08 |
| jaffachief (~textual@host86-170-15-228.range86-170.btcentralplus.com) left irc: Quit: Computer has gone to sleep. | 18:14 | |
| fijal | meh | 18:16 |
| fijal | .__array__() interface is silly | 18:16 |
| intchanter (~intchante@c-76-27-100-38.hsd1.ut.comcast.net) joined #pypy. | 18:17 | |
| Alex_Gaynor | fijal: 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 stuff | 18:17 |
| exarkun | work hard! | 18:18 |
| exarkun | if it's not worth doing right, is it worth doing at all? | 18:18 |
| fijal | Alex_Gaynor: well, yes, until it's really silly (like a numpy array of objectS), I'm willing to just implement them | 18:18 |
| Alex_Gaynor | yes | 18:18 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/335 [12ronny, pytest] | 18:24 |
| Action: fijal is pushing for last 5 minutes | 18:27 | |
| kenaan | 12fijal numpy-back-to-applevel 11cc80fb4d3ab9 15/pypy/module/micronumpy/: implement copy kwarg | 18:28 |
| Alex_Gaynor | fijal: for one commit? | 18:29 |
| sacred_coder_ (~rambaho@202.3.77.231) left irc: Quit: Ex-Chat | 18: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 host | 18:34 | |
| Trundle (~andy@python/site-packages/trundle) joined #pypy. | 18:34 | |
| fijal | Alex_Gaynor: ya | 18:35 |
| Alex_Gaynor | :/ | 18:35 |
| fijal | Alex_Gaynor: simpler to implement than to worry ;-) | 18:35 |
| fijal | it's not 100% done, but at least array(array) works now | 18:35 |
| Telugodu (~rambaho@202.3.77.231) left irc: Client Quit | 18:36 | |
| Telugodu (~rambaho@202.3.77.231) joined #pypy. | 18:37 | |
| fijal | hehe | 18:39 |
| fijal | casting='unsafe' is not even specified in the docs | 18:39 |
| Alex_Gaynor | do I want to even know what that is? | 18:40 |
| fijal | I dunno, reading source | 18:41 |
| fijal | for what is worth, I found two identical functions so far casting a constant to string | 18:42 |
| Alex_Gaynor | I wish I could say I was shocked | 18:43 |
| mattip (4fb56922@gateway/web/freenode/ip.79.181.105.34) left irc: Ping timeout: 258 seconds | 18: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 seconds | 18:50 | |
| csenger (~user@dslb-084-058-150-061.pools.arcor-ip.net) joined #pypy. | 18:51 | |
| bbot2 | 4Failure: 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 | |
| fijal | csenger: hey | 18:57 |
| csenger | hi | 18:57 |
| fijal | csenger: any luck? | 18:57 |
| csenger | I 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 |
| csenger | But I think I will hard code it now. Not much reason to force a build of another branch. | 18:59 |
| fijal | note that you have to ignore branch field | 18:59 |
| fijal | there is no way branch field will specify both cpython and pypy | 18:59 |
| csenger | yup. | 19:00 |
| fijal | so just ignore it happily :) | 19:00 |
| csenger | I wondered how the data will get into codespeed. | 19:00 |
| csenger | The data uploaded to the master has no repo/project information. | 19:01 |
| fijal | it does | 19:01 |
| csenger | And the upload logic in the benchmark package seems to not support it too. | 19:01 |
| fijal | it's specified in runner/upload | 19:01 |
| fijal | no, it might indeed not | 19:02 |
| fijal | you have to hack at runner | 19:02 |
| fijal | Alex_Gaynor: ok, now? | 19:02 |
| csenger | It 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_Gaynor | fijal: still needs to fix the kwarg on ufunc isue, but I think otherwise it's ok | 19:02 |
| csenger | I'll do that. Should the data go directly to speed.python.org, or to s.pypi.org? or both? | 19:03 |
| fijal | Alex_Gaynor: I'm pushing, sorry | 19:03 |
| Alex_Gaynor | fijal: ah ok | 19:03 |
| fijal | csenger: IO | 19:03 |
| fijal | I'm fine with some hardcoding | 19:03 |
| fijal | speed.pypy for now | 19:04 |
| fijal | hey, wtf bitbucket | 19:04 |
| kenaan | 12alex_gaynor numpy-back-to-applevel 11f49b248ef393 15/: merged default | 19:04 |
| kenaan | 12alex_gaynor numpy-back-to-applevel 118b5bfccf07e6 15/pypy/module/micronumpy/: merged upstream | 19: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 seconds | 19:11 | |
| Nick change: fijal_ -> fijal | 19:11 | |
| kenaan | 12fijal numpy-back-to-applevel 111c6f3a721515 15/: import var/std, figure out extra kwargs for reduce | 19:12 |
| kenaan | 12fijal numpy-back-to-applevel 1133707327eb21 15/: merge | 19:12 |
| fijal | Alex_Gaynor: ok, have a look now | 19:12 |
| Alex_Gaynor | fijal: hmm, is it really correct totally ignore casting=? | 19:14 |
| fijal | Alex_Gaynor: if you can understand when it is correct/incorrect I would be very happy | 19:14 |
| fijal | IMO it does not affect primitive types | 19:14 |
| Alex_Gaynor | I've never even heard of it :) | 19:14 |
| fijal | meh | 19:15 |
| fijal | why is dict.pop not RPython :/ | 19:15 |
| gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) joined #pypy. | 19:15 | |
| Alex_Gaynor | I think it's ok. | 19:15 |
| Alex_Gaynor | fijal: want me to add it? | 19:15 |
| fijal | .pop(xxx, None) | 19:15 |
| fijal | is not | 19:15 |
| fijal | yes please | 19:15 |
| fijal | on the branch | 19:15 |
| Alex_Gaynor | k | 19:15 |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 19: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 peer | 19:21 | |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy. | 19:21 | |
| Alex_Gaynor | fijal: in the annotator, how do I specify that a method has an optional arg? | 19:24 |
| Alex_Gaynor | fijal: http://paste.pocoo.org/show/538364/ is what I have so far | 19:24 |
| ronan (~ronan@host86-143-208-191.range86-143.btcentralplus.com) left irc: Ping timeout: 240 seconds | 19:25 | |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 19:25 | |
| fijal | Alex_Gaynor: er as an optional arg? | 19:26 |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy. | 19:27 | |
| Alex_Gaynor | fijal: yes | 19:27 |
| Alex_Gaynor | do I just do dfl=None? | 19:27 |
| fijal | def method_pop(lst, s_index=None): | 19:27 |
| fijal | it gets trickier for rtyper | 19:27 |
| fijal | look at method_pop for SomeList btw | 19: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 | |
| fijal | I want a longlong box | 19:30 |
| fijal | wtf is numpy.flexible | 19:31 |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 19:31 | |
| fijal | ? | 19:31 |
| fijal | Note 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 |
| fijal | wtf | 19: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 peer | 19: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_Gaynor | fijal: review please: http://paste.pocoo.org/show/538376/ | 19:41 |
| fijal | Alex_Gaynor: s_key s_dfl I think | 19:42 |
| Alex_Gaynor | where? | 19:42 |
| antocuni_ (~antocuni@host155-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 19:42 | |
| fijal | in annotator | 19:43 |
| fijal | also, doesn't rtype receive i_dfl=index | 19:43 |
| fijal | ? | 19:43 |
| Alex_Gaynor | ? | 19:44 |
| Alex_Gaynor | I don't know what you mean | 19:46 |
| fijal | maybe it works | 19:46 |
| Alex_Gaynor | well, my code seems to work :) | 19:46 |
| fijal | ok | 19:46 |
| fijal | then yes, if you say so | 19:46 |
| Alex_Gaynor | shall I commit | 19:46 |
| Alex_Gaynor | ? | 19:47 |
| fijal | yes please | 19:47 |
| __pv | fijal: flexible is a base class for void/str | 19:47 |
| fijal | Alex_Gaynor: seems numpy have no tests for str repr | 19:47 |
| fijal | __pv: cool, thanks | 19:47 |
| justinpeel (~justinpee@c-76-23-44-72.hsd1.ut.comcast.net) left irc: Ping timeout: 252 seconds | 19:48 | |
| kenaan | 12alex_gaynor numpy-back-to-applevel 1181d4c62723ed 15/pypy/: Make dict.pop RPython. | 19:48 |
| fijal | oh crap :/ | 19:49 |
| Alex_Gaynor | ? | 19:49 |
| fijal | well | 19:49 |
| fijal | I can't push now | 19:49 |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 19:49 | |
| fijal | because I have local changes | 19:50 |
| Alex_Gaynor | why not? | 19:50 |
| Alex_Gaynor | just shelve them | 19:50 |
| etrepum (~bob@71.21.40.181) joined #pypy. | 19:50 | |
| fijal | Alex_Gaynor: how much do we care about repr not working if numpy failed to import correctly? | 19:51 |
| fijal | numpy has a builtin fallback that does stuff | 19:51 |
| Alex_Gaynor | not at all? | 19:51 |
| Alex_Gaynor | is that really a very common case? | 19:51 |
| fijal | no :) | 19:51 |
| fijal | I guess more history | 19:51 |
| fijal | oh, I need ravel | 19:52 |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds | 19:52 | |
| Alex_Gaynor | fijal: eh, I guess I should have added an annotation test for this | 19:52 |
| Alex_Gaynor | fijal: I can't write ravel, I'm not smart enough to know how to back strides and backstrides | 19:52 |
| Alex_Gaynor | I'll convert flatten to use it if you write it though :) | 19:52 |
| xorAxAx (~alexander@moinmoin/coreteam/alexander) left irc: Ping timeout: 255 seconds | 19:53 | |
| fijal | :/ | 19:53 |
| fijal | I hate you | 19:53 |
| Alex_Gaynor | SOrry, backstrides and strides are hard | 19:53 |
| fijal | hehe ok | 19:54 |
| fijal | unlike SSE which is easy ;-) | 19:54 |
| fijal | Alex_Gaynor: did you write the proposal? | 19:54 |
| xorAxAx (~alexander@moinmoin/coreteam/alexander) joined #pypy. | 19:54 | |
| Alex_Gaynor | not yet, I'm not sure SSE is a good scope for one semester | 19:54 |
| Alex_Gaynor | I'm thining what else would be interesting | 19:54 |
| fijal | as in too much or too little? | 19:54 |
| Alex_Gaynor | too much I think | 19:55 |
| Alex_Gaynor | I suspect it requires a big refactor of assembler to make it smarter | 19:55 |
| fijal | I would say it's just fine for one semester | 19:55 |
| mattip | if I may interject, ravel is very close to flatiter, just returning the ViewArray. | 19:55 |
| fijal | no, should not be that big | 19:55 |
| Alex_Gaynor | e.g. i2 = int_add(i1, 1); getitem(p1, i2) shouldn't emit an int add | 19:55 |
| fijal | Alex_Gaynor: at least, specialize numpy-only SSE | 19:55 |
| Alex_Gaynor | well, you need a good representation in order to recognize the parallelism | 19:55 |
| mattip | but it only works in default branch for contiguous memory arrays | 19:55 |
| fijal | we can brainstorm ideas if you want | 19:55 |
| fijal | mattip: well, it's different | 19:56 |
| fijal | mattip: because ravel for non-contiguous arrays will just return a copy | 19:56 |
| fijal | while flatiiter will not | 19:56 |
| Alex_Gaynor | fijal: is that the condition it copies? | 19:56 |
| Alex_Gaynor | the docstring just asys "when not possible" | 19:56 |
| fijal | Alex_Gaynor: no idea, docs says "if necessary" | 19:57 |
| Alex_Gaynor | wtf does that mean | 19:57 |
| fijal | but I guess it's "if it's not expressable by strides and backstrides" | 19:57 |
| Alex_Gaynor | yes, I would think | 19:57 |
| Action: Alex_Gaynor has no idea when that is | 19:57 | |
| fijal | it's expressable if array is evenly placed | 19:57 |
| fijal | so most of the time contiguous | 19:57 |
| fijal | Alex_Gaynor: so the easiest thing would be "if is_contiguous, do View, otherwise do copy" | 19:58 |
| fijal | I can probably do it even | 19:58 |
| Alex_Gaynor | please :) | 19:58 |
| fijal | when does the early bird registration end? | 19:59 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1203 [12ronny, pytest] | 19:59 |
| Alex_Gaynor | 25th I think | 19:59 |
| Alex_Gaynor | I should buy my ticket | 19:59 |
| mattip | alot of that testing is done now in calc_new_strides, as a prerequisite for reshape. | 19:59 |
| fijal | mattip: yes, precisely | 20:00 |
| fijal | mattip: so I think it's a bit "almost the same" | 20:00 |
| Alex_Gaynor | is ravel relaly just resahep(-1)? | 20:01 |
| mattip | ravel should be equivalent to reshape(1,-1) except if it can't, then copy and reshape? | 20:01 |
| Alex_Gaynor | well, just flatten then | 20:01 |
| fijal | doesn't reshape copy? | 20:01 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/685 [12ronny, pytest] | 20:01 |
| fijal | if it cannot? | 20:01 |
| mattip | no, it fails. | 20:01 |
| Alex_Gaynor | yes, it does | 20:01 |
| Alex_Gaynor | oh? | 20:01 |
| fijal | mattip: sure? | 20:02 |
| mattip | no I'm wrong, you're right. | 20:02 |
| Alex_Gaynor | so ravel should really be reshape(-1) | 20:02 |
| Action: mattip was thinking of setshape, not reshape | 20:04 | |
| Tobu (~Tobu@unaffiliated/tobu) left irc: Read error: Operation timed out | 20:06 | |
| fijal | Alex_Gaynor: ravel is doing something more clearly | 20:07 |
| fijal | but I think we're good with reshape(-1) for now | 20: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 | |
| lesshaste | where is bounds checking implemented in the pypy system? | 20:08 |
| fijal | lesshaste: which bound checking? | 20:10 |
| lesshaste | fijal: that gives you a run-time error if you try to access an element of a list out of bounds | 20:13 |
| fijal | on applevel? | 20:14 |
| fijal | in objspace/std/listobject.py | 20:14 |
| asmeurer (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy. | 20:14 | |
| Alex_Gaynor | fijal: well, ravel can also do stuff in F order | 20:17 |
| Trundle (~andy@python/site-packages/trundle) left irc: Quit: bsegf | 20:17 | |
| Alex_Gaynor | lesshaste: each container has it's own bounds checking, but listobject.py is for lists | 20:17 |
| lesshaste | thanks | 20:19 |
| lesshaste | has anyone performed any tests to see what performance difference turning off bounds checking makes? | 20:21 |
| lesshaste | in pypy that is | 20:21 |
| Alex_Gaynor | I don't believe os, no | 20:22 |
| lesshaste | ok thanks | 20: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 Quit | 20:26 | |
| fijal | lesshaste: we have jit optimizations that remove it though | 20:26 |
| lesshaste | fijal: oh! | 20:26 |
| fijal | def descr_reshape(self, space, args_w, w_order=None): | 20:26 |
| fijal | Alex_Gaynor: does it look legit? | 20:26 |
| Alex_Gaynor | fijal: I don't understand the question | 20:26 |
| fijal | can I call reshape(1, 2, order='c') | 20:26 |
| fijal | you think | 20:26 |
| Alex_Gaynor | on numpypy? | 20:27 |
| lesshaste | out of interest.. how does pypy manage to speed up things like regex matching which I imagine is just a library written in C | 20:27 |
| Alex_Gaynor | no, we have no order='f' | 20:27 |
| fijal | Alex_Gaynor: in pypy at all | 20:27 |
| fijal | lesshaste: no, we have regexes written in python | 20:27 |
| fijal | is args_w a working unwrap_spec | 20:27 |
| lesshaste | fijal: oh I see.. wow you have done a lot of work :) | 20:27 |
| fijal | is my question | 20:27 |
| lesshaste | fijal: do you mean in rpython? | 20:27 |
| fijal | lesshaste: you kinda of have to, python regexes are different | 20:28 |
| fijal | yes, rpython | 20:28 |
| Alex_Gaynor | fijal: AH, uh, I'm not sure how *args works with kwargs for RPython unwrap_spec | 20:28 |
| lesshaste | cool | 20:28 |
| Alex_Gaynor | fijal: write tests and expirement I guess | 20:28 |
| timotimo | https://gist.github.com/1627867 � i've already implemented ravel (except the order argument) | 20:28 |
| fijal | Alex_Gaynor: I'm failing | 20:28 |
| Alex_Gaynor | fijal: you may have to do __args__ and parse it manually | 20:28 |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy. | 20:28 | |
| lesshaste | fijal: you may be amused to learn that pypy regex is about 3 times faster than pcre for at least some tests | 20:28 |
| lesshaste | fijal: that is pcre called from c++ | 20:28 |
| fijal | timotimo: oh, cool, I'll just copy that | 20:29 |
| fijal | lesshaste: it's JITted | 20:29 |
| Alex_Gaynor | fijal: it's not RPython ATM | 20:29 |
| fijal | I'm not very surprised | 20:29 |
| lesshaste | fijal: right | 20:29 |
| Alex_Gaynor | and the tests aren't complete | 20:29 |
| timotimo | the last time i pasted that, people in here were saying "but it doesn't support order!" | 20:29 |
| timotimo | ;) | 20:29 |
| fijal | Alex_Gaynor: what's not RPython | 20:29 |
| fijal | ? | 20:29 |
| timotimo | right, but it's a start :p | 20:29 |
| Alex_Gaynor | fijal: that patch | 20:29 |
| timotimo | hold on, that's an old version | 20:29 |
| fijal | space.unwrap | 20:29 |
| fijal | yeah yeah | 20:29 |
| fijal | timotimo: w_order is None by default though | 20:29 |
| Action: Alex_Gaynor goes for lunch | 20:29 | |
| fijal | and indeed I have a slightly better test coverage :) | 20:30 |
| timotimo | okay, shelve ate my changes | 20:31 |
| timotimo | >:( | 20:31 |
| timotimo | okay, 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 peer | 20:32 | |
| timotimo | no, never mind, there they are | 20:32 |
| timotimo | https://gist.github.com/1627867 � so that's what i had last time | 20:33 |
| timotimo | now i've got to run, get the last few minutes of grocery-store-openedness | 20:33 |
| amaury_ | rguillebert: I don't understand your comments in test_kwonlyargs_default_parameters() | 20:34 |
| fijal | I think .T is incredibly broken | 20:35 |
| fijal | nothing works | 20:35 |
| jacob22 (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) joined #pypy. | 20:36 | |
| kenaan | 12RonnyPfannschmidt pytest 11a696d22b84c6 15/testrunner/test/: use funcargs in the testrunner test to ease having recoverable output | 20:40 |
| kenaan | 12RonnyPfannschmidt pytest 11d423bf345f99 15/testrunner/test/test_runner.py: fix the remaining testrunner issues | 20:40 |
| mattip | fijal: I agree. but I have spent much time staring at it, and cannot figure out why. | 20:40 |
| mattip | It's something to do with the order of strides. | 20:41 |
| mattip | there 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 |
| fijal | yes | 20:42 |
| fijal | possibly | 20:42 |
| fijal | well, the thing is can we either a) inspect all code to stop making this assumption | 20:42 |
| fijal | b) kill this assumption entirely | 20:43 |
| fijal | b) might be unachievable, but would be ideal | 20:43 |
| fijal | mattip: I'll try to find it but I'm already 3 yaks away from what I was supposed to be doing | 20:43 |
| Action: mattip working as fast as I can to find it. | 20:44 | |
| mattip | I have a failing test, still digging around in it. | 20:44 |
| fijal | ok | 20:45 |
| fijal | I have to go | 20:45 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-win-x86-32/builds/543 [12ronny, pytest] | 20:46 |
| Action: mattip hit forehead | 20:47 | |
| mattip | for i in range(shapelen - 1, -1, -1) in ViewIterator is wrong. | 20:48 |
| Action: mattip unhit forehead | 20:48 | |
| mattip | no, I'm wrong. | 20:48 |
| mattip | argh. | 20:48 |
| fijal (~fijal@196-210-150-33.dynamic.isadsl.co.za) left irc: Ping timeout: 240 seconds | 20:49 | |
| Shanita (~John@osbk-4db17e97.pool.mediaWays.net) left irc: Ping timeout: 240 seconds | 20:53 | |
| ruizander (ruizander@187.3.35.248) left #pypy. | 20:59 | |
| Arfrever (~Arfrever@apache/committer/Arfrever) left irc: Ping timeout: 252 seconds | 21:00 | |
| timotimo | double-forehead-hit? | 21:02 |
| CIA-17 | 03MrGecko 07roundup * 10#975/A jit bug crashes my app: | 21:11 |
| CIA-17 | I'm "sorry", I'm unable to find a way to reproduce the bug today. If It happened | 21:11 |
| CIA-17 | frequently, it seems it has vanished with the nightly builds, a ... * 14https://bugs.pypy.org/issue975 | 21:11 |
| mattip | the 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: Leaving | 21:41 | |
| bivab (~david@89-40.5-85.cust.bluewin.ch) left irc: Quit: bivab | 21:41 | |
| rguillebert | amaury_, 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 one | 21:42 |
| amaury_ | oh | 21:42 |
| amaury_ | in interpreter/test/test_interpreter.py | 21:45 |
| rguillebert | yes | 21:45 |
| amaury_ | I see strings that are compiled by the astcompiler | 21:45 |
| amaury_ | with codetest() | 21:45 |
| rguillebert | but it uses py.code | 21:46 |
| umgeher (~umgeher@unaffiliated/umgeher) joined #pypy. | 21:46 | |
| rguillebert | doesn'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 string | 21:47 |
| amaury_ | its strip() method is probably useful | 21:47 |
| rguillebert | right | 21:48 |
| rguillebert | my mistake | 21:48 |
| amaury_ | ah, we should also remove this "except ValueError, e" syntax | 21:48 |
| rguillebert | yes | 21:50 |
| fijal (~fijal@196-210-199-8.dynamic.isadsl.co.za) joined #pypy. | 21:50 | |
| CIA-17 | 03fijal 07roundup * 10#975/A jit bug crashes my app: [wontfix] closing then? please reopen if you can * 14https://bugs.pypy.org/issue975 | 21:52 |
| rguillebert | I get an IOError when I move the test... | 21:53 |
| rguillebert | erf it's because I put a pdb in the code | 21:54 |
| amaury_ | :) | 21:55 |
| amaury_ | btw, pdb should work now | 21:55 |
| amaury_ | even in py.py | 21:55 |
| amaury_ | when --withmod-signal is enabled | 21:55 |
| Alex_Gaynor | amaury_: yes, but not in py.test, there it blows up | 21:56 |
| amaury_ | -s | 21:56 |
| rguillebert | Alex_Gaynor, works for me | 21:56 |
| Alex_Gaynor | amaury_: right, or import py; py.test.set_trace() | 21:56 |
| amaury_ | but not for applevel tests | 21:56 |
| amaury_ | hum, we probably have an issue with our symtable | 21:57 |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 21:57 | |
| amaury_ | "except Exception as e" should consider e as a local variable | 21:57 |
| kenaan | 12rguillebert py3k 1131e2e6510fba 15/pypy/interpreter/: Move the kwonly arguments test to the interpreter | 21:58 |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy. | 22:00 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/345 [12ronny, pytest] | 22:01 |
| rguillebert | I'll try to fix the kwonly bug tomorrow if I'm not too fried | 22:01 |
| amaury_ | ok | 22:02 |
| rguillebert | I have a general idea of where the bug is | 22:02 |
| pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) left irc: Read error: Connection reset by peer | 22:06 | |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 260 seconds | 22:07 | |
| CIA-17 | 03csenger 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-17 | https://bitbucket.org/csenger/buildbot | 22:09 |
| CIA-17 | It pulls and builds python2.7 and runs the benchmarks. | 22:09 |
| CIA-17 | I ... * 14https://bugs.pypy.org/issue1015 | 22:09 |
| fijal | Alex_Gaynor: ping | 22:10 |
| Alex_Gaynor | fijal: pong | 22:10 |
| fijal | Alex_Gaynor: do you feel like reviewing the 2011 in numbers blog post? | 22:10 |
| Alex_Gaynor | fijal: ah yes, I can do so | 22:10 |
| fijal | and adding some summary para | 22:10 |
| kenaan | 12fijal numpy-back-to-applevel 11616ba3da7de7 15/: start adding necessary things for using applevel __str__ and __repr__ | 22:11 |
| kenaan | 12fijal numpy-back-to-applevel 11eb5dcdf724f3 15/: Start working towards ravel and applevel array_string, nothing works! | 22:11 |
| kenaan | 12fijal numpy-back-to-applevel 11da00788e9d17 15/pypy/: merge | 22:11 |
| fijal | Alex_Gaynor: I broke everything on that branch btw | 22:11 |
| Alex_Gaynor | fijal: congrats, everyone does it once at a while :) | 22:11 |
| fijal | no, deliberately so ;-) | 22:11 |
| fijal | but a huge swath of code is to be removed | 22:12 |
| mattip | fijal: ping | 22:13 |
| fijal | mattip: pong | 22:13 |
| mattip | I was trying to blame transpose() when my tests themselves were bad. | 22:14 |
| mattip | I have a bad feeling about transpose still, but cannot find a smoking gun. | 22:14 |
| fijal | I have a failing test for transpose and ravel | 22:14 |
| fijal | but might be a reshape problem | 22:15 |
| mattip | ? | 22:15 |
| fijal | mattip: no, I think transpose is right, it's just that there are some assumptions on the order of strides somewhere | 22:15 |
| mattip | paste? | 22:15 |
| pnguyen (~pnguyen@cpe-70-112-214-119.austin.res.rr.com) joined #pypy. | 22:16 | |
| fijal | arange(6).reshape(2, 3).T.reshape(-1) | 22:16 |
| kenaan | 12alex_gaynor extradoc 111b7919a194e1 15/blog/draft/pypy-2011.rst: english and a conclusion | 22:17 |
| mattip | ahh. It may be a corner case with -1 and single-dim arrays. | 22:17 |
| Action: mattip looking | 22:17 | |
| Alex_Gaynor | fijal: this looks like it uses += for building the str, I guess it'll be slow as heck without strbuf | 22:17 |
| fijal | Alex_Gaynor: array_string? | 22:18 |
| fijal | er | 22:18 |
| fijal | array_repr or so? | 22:18 |
| Alex_Gaynor | well, I'm just skimming this | 22:18 |
| fijal | shouldn't we enable strbuf then? | 22:18 |
| Alex_Gaynor | but yes, something uses += in a look | 22:18 |
| fijal | there is a branch that has some failing tests | 22:18 |
| Alex_Gaynor | fijal: well, there's a branch without passing tests :) | 22:18 |
| fijal | yes | 22:18 |
| Alex_Gaynor | heheh | 22:18 |
| fijal | I can do it | 22:18 |
| Alex_Gaynor | finish this first | 22:18 |
| fijal | maybe makes sense even | 22:18 |
| fijal | I have to do a release one day | 22:18 |
| Alex_Gaynor | str(array) being fast isn't super important | 22:18 |
| fijal | no | 22:18 |
| Alex_Gaynor | fijal: merge 2.7.2 first! | 22:18 |
| fijal | ah right | 22:19 |
| fijal | amaury_: feel like doing that by chance? | 22:19 |
| amaury_ | merging 2.7.2? | 22:20 |
| fijal | yes | 22: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 fix | 22:21 |
| Alex_Gaynor | how much stuff will be broken do you think? | 22:22 |
| amaury_ | I really don't know | 22:24 |
| Alex_Gaynor | I'm happy to help fix tests, but I don't want to do the mrge itself | 22:24 |
| amaury_ | Well, I can still create a branch and merge the new stdlib | 22: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 seconds | 22:26 | |
| kenaan | 12amauryfa default 11c5fa49a9207e 15/lib_pypy/datetime.py: Cosmetic changes in datetime.py, to reduce differences with the version in CPython 3.2 | 22:27 |
| kenaan | 12amauryfa default 115aa09e8483d3 15/lib_pypy/datetime.py: Slowly merge datetime.py from upstream: don't use "private" attributes. | 22:27 |
| kenaan | 12amauryfa merge-2.7.2 1137357d7dabda 15/: A branch to merge CPython 2.7.2 | 22:27 |
| mattip | fijal: calc_new_strides is buggy for this case of reshape. | 22:28 |
| fijal_ | mattip: ok | 22:28 |
| mattip | It 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_strides | 22:29 | |
| fijal (~fijal@196-210-199-8.dynamic.isadsl.co.za) left irc: Ping timeout: 240 seconds | 22:29 | |
| mattip | btw, 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_ -> fijal | 22:31 | |
| mattip | a=arange(10); a.strides | 22:31 |
| Alex_Gaynor | mattip: if it's not available in numpy itself you can always create numpypy.pypy.get_strides or so | 22:31 |
| Alex_Gaynor | oh, if it exists please, elt's expose it | 22:31 |
| Indecipherable | Is there an RPython tutorial? | 22:32 |
| Alex_Gaynor | Indecipherable: not really, we have some limited docs on it | 22:32 |
| fijal | Indecipherable: we have docs, a request to write more docs and some tutorials | 22:33 |
| fijal | amaury_: anyway, can you do it? | 22:33 |
| fijal | Indecipherable: tutorials are on the blog | 22:33 |
| Indecipherable | Could you please point me to them? | 22:33 |
| amaury_ | fijal: I already started | 22:33 |
| fijal | amaury_: cool! | 22:33 |
| Indecipherable | thanks | 22:34 |
| fijal | Indecipherable: http://morepypy.blogspot.com/2011/04/tutorial-writing-interpreter-with-pypy.html | 22:34 |
| fijal | http://doc.pypy.org/en/latest/coding-guide.html | 22:34 |
| mattip | haha, strides is not readonly in numpy. very strange. | 22:34 |
| fijal | http://doc.pypy.org/en/latest/coding-guide.html#id1 | 22:34 |
| fijal | mattip: shot yourself in the foot in a billion ways | 22:35 |
| mattip | shoot? | 22:35 |
| fijal | yeah | 22:35 |
| Alex_Gaynor | WTF, why is strides writable? | 22:36 |
| Alex_Gaynor | this seems like a terrible idea | 22:36 |
| fijal | ValueError: strides is not compatible with available memory | 22:36 |
| fijal | it also checks :) | 22:36 |
| ronny | strides? | 22:36 |
| fijal | oh nice | 22:36 |
| mattip | try making it smaller instead, that it allows. | 22:36 |
| fijal | but you can have overlapping int values | 22:37 |
| fijal | how cool is that | 22:37 |
| Alex_Gaynor | not very | 22:38 |
| fijal | backstrides are however not accessible | 22:38 |
| mattip | a=arange(10); a.strides=0; a => array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) | 22:38 |
| Alex_Gaynor | o_O | 22:38 |
| Alex_Gaynor | numpy is scary | 22:38 |
| fijal | it occurs to me they care more about their C API | 22:39 |
| fijal | so cython can work | 22:39 |
| fijal | Indecipherable: why do you want to learn RPython btw? | 22:41 |
| Alex_Gaynor | doesn't Cython directly access fields of structs? | 22:41 |
| Alex_Gaynor | otherwise how else can it be fast? | 22:41 |
| fijal | Alex_Gaynor: looking at numpy code I ponder constantly "how it can be considered fast"? | 22:42 |
| Alex_Gaynor | fijal: well, people are used to python being slow :) | 22:42 |
| Action: Alex_Gaynor hopes we can break this perception | 22:42 | |
| Action: fijal sleep | 22:43 | |
| Alex_Gaynor | night | 22:44 |
| Indecipherable | I'm just interested in the project, and would also love to be able to extend PyPy | 22:45 |
| nanonyme | fijal, it's not considered fast? ;) | 22:46 |
| nettok_ (~quassel@190.148.249.220) joined #pypy. | 22:47 | |
| nanonyme | a 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 seconds | 22:47 | |
| mattip | ronny: s = strides[i] means elements in dimension i are s "things' apart. | 22:51 |
| mattip | where in numpy 'things' is bytes, in numpypy it's elements. | 22:51 |
| mattip | that's how we build multidimensional arrays from a block of data. | 22:51 |
| mattip | in numpy try a=arange(12).reshape(3,4); print a.strides | 22:52 |
| mattip | then try a=arange(12).reshape(6,2); print a.strides | 22:53 |
| mattip | nanonyme: depends on what you do. For heavy linalg stuff, both matlab and numpy rely on blas. | 22:54 |
| mattip | (atlas, lapack) | 22:54 |
| ronny | mattip: for me a.strides stays the same no matter wat | 22:55 |
| ronny | (8,) that is | 22:55 |
| ronny | oh | 22:56 |
| ronny | im stupid | 22:56 |
| bbot2_ (~bbot2@dslb-084-058-150-061.pools.arcor-ip.net) left irc: Quit: buildmaster reconfigured: bot disconnecting | 22:56 | |
| ronny | reshape makes copies after all | 22:57 |
| nanonyme | mattip, oh, hmm. do you reckon numpypy will be using blas as well for something? | 22:57 |
| mikefc | nanonyme: yes | 22:58 |
| nanonyme | fair enough | 22:58 |
| mattip | I second that emotion | 22:58 |
| mikefc | although i'd like to write some linalg in python/rpython and see how it compares | 22:59 |
| ronny | mattip: so strides describe access to the flattened repressentation works? | 22:59 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/212 | 23:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/783 | 23:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/1022 | 23:00 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/39 | 23:00 |
| timotimo | i'm not convinced you can outperform blas with just pypy. pypy doesn't even utilise SSE yet. | 23:00 |
| timotimo | only after that is done can you think of attacking blas/..., or at least that's my guess | 23:00 |
| mattip | ronny: yes. a[2,3] => a.start + a.strides[0]*2 + a.strides[1]*3 | 23:01 |
| mikefc | timotimo: 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 peer | 23:20 | |
| Tobu (~Tobu@unaffiliated/tobu) left irc: Ping timeout: 272 seconds | 23: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 | |
| mattip | fwiw, it is impossible to reshape most transformed arrays without copy. Only if splitting/combining dimensions is it possible. | 23:36 |
| Alex_Gaynor | mattip: this is true for upstream numpy as well, right? | 23:37 |
| mattip | yes. this fails in numpy: a=arange(6).reshape(2,3).T; a.shape = 6 | 23:42 |
| Alex_Gaynor | ok | 23:42 |
| mattip | a fix is forthcoming for numpypy, still making sure I didn't break anything. | 23:43 |
| Alex_Gaynor | sorry, what's broken? | 23:43 |
| mattip | arange(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 seconds | 23:44 | |
| Alex_Gaynor | ah | 23:44 |
| ronny | mattip: so reshaping is impossible for non-contrious? | 23:44 |
| ronny | hmm | 23:45 |
| mattip | no, but it needs to copy. | 23:45 |
| ronny | +inplace | 23:45 |
| mattip | non-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 seconds | 23:46 | |
| rguillebert (~rguillebe@89-40.5-85.cust.bluewin.ch) left irc: Quit: Quitte | 23:50 | |
| Eventh (evenwiik@lynx.stud.ntnu.no) left irc: Quit: Lost terminal | 23:50 | |
| kenaan | 12mattip matrixmath-dot 11a8252a946ad8 15/pypy/module/micronumpy/dot.py: remvoe debug cruft | 23:51 |
| kenaan | 12mattip numppy-flatitter 11aa7917ad8e16 15/pypy/module/micronumpy/interp_numarray.py: need to rethink getitem, setitem | 23:51 |
| kenaan | 12mattip matrixmath-dot 110125f74ace80 15/pypy/module/micronumpy/: fix bad test | 23:51 |
| kenaan | 12mattip numpypy-shape-bug 11e11082ff75b9 15/pypy/module/micronumpy/: add failing setshape test, fix for test | 23:51 |
| `fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy. | 23:52 | |
| mattip | Alex_Gaynor: I would like to merge numpypy-shape-bug, but should wait for fijal review, right? | 23:53 |
| Alex_Gaynor | mattip: yes probably, strides and such scare me | 23:53 |
| mattip | fijal: please review/merge numpypy-shape-bug. | 23:54 |
| mattip | fwiw, matrixmath-dot seems to lack diabolical testing, but I can't find any good examples. | 23:55 |
| mattip | I even wrote a jit_merge_point and stared at the viewloops for a while. | 23:56 |
| --- Sun Jan 22 2012 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!