| mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 00:04 | |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 00:04 | |
| mfoord (~anonymous@python/psf/voidspace) joined #pypy. | 00:04 | |
| mitchellh (~mitchellh@12.130.118.8) left irc: Quit: Computer has gone to sleep | 00:04 | |
| aurojit (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection | 00:05 | |
| fzzzy (~donovan@nat/mozilla/x-thcrmcbkvwelbvfn) left irc: Quit: fzzzy | 00:06 | |
| kenaan | 12ctismer win64-stage1 1109f1440c631c 15/pypy/translator/c/src/main.h: Mission Accomplished ===================== as suggested by Armin as a good step: 1. pypy/annotation/test py... | 00:16 |
|---|---|---|
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 00:17 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 00:21 | |
| kenaan | 12alex_gaynor default 11f78e1babd94f 15/pypy/module/micronumpy/: implement setslice in numpy's minilang and add convert a test_zjit, it's failing | 00:24 |
| maxyz (~maxy@186.23.74.228) left irc: Ping timeout: 252 seconds | 00:33 | |
| tlynn (~tlynn@cpc6-cmbg14-2-0-cust121.5-4.cable.virginmedia.com) left irc: Ping timeout: 248 seconds | 00:39 | |
| amaury__ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 260 seconds | 00:47 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 00:52 | |
| CIA-13 | 03chronitis 07roundup * 10#944/Magic method exceptions: (log message trimmed) | 00:57 |
| CIA-13 | [new] Magic methods called directly handle exceptions differently to their operator | 00:57 |
| CIA-13 | equivalents, eg | 00:57 |
| CIA-13 | <pypy> | 00:57 |
| CIA-13 | l = [] * 14https://bugs.pypy.org/issue944 | 00:57 |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/153 | 00:59 |
| jey (~jey@c-24-7-65-31.hsd1.ca.comcast.net) joined #pypy. | 01:02 | |
| chronitis (~chronitis@88-104-118-201.dynamic.dsl.as9105.com) left irc: Ping timeout: 258 seconds | 01:03 | |
| jey | hi, I'd like to take a look at the latest numpypy work, how do I go about this? is there a particular branch I should look at, or does this happen on bitbucket.org/pypy/pypy's trunk? | 01:03 |
| jey | also, does all of pypy really need to be retranslated when one module (e.g. numpypy / micronumpy) is updated? | 01:04 |
| Alex_Gaynor | jey: yes, trunk is probably the best branch ATM (I have another that's got more features, but isn't stable enough to be merge ready). Yes, all of pypy needs to be retranslated, but it's ok, because we can test it without retranslating ) | 01:18 |
| jey | alright, cool, thanks | 01:18 |
| jey | I'll read up on pypy's use of py.test | 01:19 |
| kenaan | 12alex_gaynor extradoc 117562a8e8976a 15/planning/micronumpy.txt: update numpy plannign doc | 01:20 |
| Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Ping timeout: 248 seconds | 01:21 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/727 | 01:23 |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 260 seconds | 01:25 | |
| Nick change: Gulaway -> Gulopine | 01:27 | |
| lmatos | Got pypy running with django on my Linode \o/ Using sqlite for this test but soon hopefully postgres. | 01:30 |
| etrepum_ (~bob@accessnat4.mochimedia.net) joined #pypy. | 01:33 | |
| etrepum (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 260 seconds | 01:35 | |
| etrepum_ (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 260 seconds | 01:38 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1866 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/286 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/600 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/626 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1127 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/811 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/728 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1453 | 01:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/277 | 01:39 |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 01:40 | |
| ixokai (~ixokai@rrcs-24-199-8-246.west.biz.rr.com) joined #pypy. | 01:41 | |
| ixokai (~ixokai@rrcs-24-199-8-246.west.biz.rr.com) left irc: Changing host | 01:41 | |
| ixokai (~ixokai@pdpc/supporter/student/ixokai) joined #pypy. | 01:41 | |
| mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord | 01:43 | |
| rekamso (~textual@63-228-127-70.dia.static.qwest.net) left irc: Ping timeout: 248 seconds | 01:43 | |
| DanKluev (~root@93-88-2-072-xdsl.vntc.ru) left irc: Ping timeout: 245 seconds | 01:53 | |
| ixokai (~ixokai@pdpc/supporter/student/ixokai) left irc: Quit: Bye! | 01:54 | |
| DanKluev (~root@93-88-2-072-xdsl.vntc.ru) joined #pypy. | 01:54 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy. | 02:18 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Remote host closed the connection | 02:26 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1866 | 02:39 |
| Moku (~John@osbk-4db06545.pool.mediaWays.net) joined #pypy. | 02:43 | |
| Nick change: Moku -> Guest19008 | 02:43 | |
| Shanita (~John@osbk-4db15cc6.pool.mediaWays.net) left irc: Ping timeout: 248 seconds | 02:44 | |
| maxyz (~maxy@186.23.74.228) joined #pypy. | 02:45 | |
| craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) joined #pypy. | 03:06 | |
| craigkerstiens | anyone around that would know much about virtualenv and pypy? | 03:08 |
| pjenvey | craigkerstiens - what I know is it should just work as it does with cpython | 03:12 |
| craigkerstiens | pjenvey: I seem to be having a couple of issues with relocatable with it | 03:12 |
| pjenvey | IIRC the relocatable functionality is somewhat experimental, and probably doesn't have any tests. if it needs some work for pypy I wouldn't be too surprised | 03:13 |
| Alex_Gaynor | pjenvey: does venv work with jython? | 03:14 |
| pjenvey | Alex_Gaynor - yea | 03:14 |
| kenaan | 12alex_gaynor numpy-dtype-refactor 11d54332f52707 15/pypy/: Merged default in. | 03:30 |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection | 03:34 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/811 | 03:35 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/626 | 03:40 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1127 | 03:49 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/600 | 03:51 |
| rekamso (~textual@c-71-197-238-154.hsd1.wa.comcast.net) joined #pypy. | 04:07 | |
| rekamso (~textual@c-71-197-238-154.hsd1.wa.comcast.net) left irc: Client Quit | 04:07 | |
| dolo (~quassel@ppp59-167-188-51.static.internode.on.net) joined #pypy. | 04:13 | |
| jell (jellonek@212.182.18.33) left irc: Ping timeout: 244 seconds | 04:13 | |
| jell (jellonek@212.182.18.33) joined #pypy. | 04:14 | |
| Nick change: jell -> Guest21238 | 04:14 | |
| dolo | Hmm, just used an older pypy-c (built with -Ojit, 28th Oct, don't know the exact revision #) to build latest pypy-c. Well, I tried to anyway. After the (old) pypy-c chewed up 12gb of physical memory I had to kill it. | 04:16 |
| Alex_Gaynor | There's a bug in some older pypys that prevents building of newer pypys | 04:16 |
| Alex_Gaynor | fijal (logs): Can you review http://paste.pocoo.org/show/514284/ the tests fail because of a bug with slice lengths, can you try to fix it, everything I try breaks something else | 04:16 |
| dolo | OK, thanks. I guess I'll try building with the latest pypy-1.7 from the website | 04:18 |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds | 04:18 | |
| dolo | Also, I can't praise pypy and those who develop it enough.. I love being able to write stuff in python and get run-time performance approaching that of an equivalent C/C++ program!! :) | 04:19 |
| Alex_Gaynor | dolo: THanks! You'll like a blog post we're working on then :) | 04:20 |
| dolo | Awesome.. I've been trying to work my way through previous blog posts, papers etc.. I wish I understood pypy enough to contribute in some meaningful fashion | 04:22 |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) joined #pypy. | 04:41 | |
| tilgovi (~randall@c-98-210-155-124.hsd1.ca.comcast.net) left irc: Changing host | 04:41 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 04:41 | |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) left irc: Remote host closed the connection | 04:49 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/728 | 04:50 |
| Alex_Gaynor | Rhyolite: ping | 05:17 |
| jey (~jey@c-24-7-65-31.hsd1.ca.comcast.net) left irc: Remote host closed the connection | 05:28 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1453 | 05:29 |
| kushal (~kdas@114.143.163.137) joined #pypy. | 05:30 | |
| kushal (~kdas@114.143.163.137) left irc: Changing host | 05:30 | |
| kushal (~kdas@fedora/kushal) joined #pypy. | 05:30 | |
| craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) left irc: Read error: Connection reset by peer | 05:37 | |
| craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) joined #pypy. | 05:37 | |
| ixokai (~ixokai@rrcs-24-199-8-246.west.biz.rr.com) joined #pypy. | 05:41 | |
| ixokai (~ixokai@rrcs-24-199-8-246.west.biz.rr.com) left irc: Changing host | 05:41 | |
| ixokai (~ixokai@pdpc/supporter/student/ixokai) joined #pypy. | 05:41 | |
| kushal (~kdas@fedora/kushal) left irc: Quit: Leaving | 05:45 | |
| fijal (~fijal@197.174.156.226) joined #pypy. | 05:49 | |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy. | 05:53 | |
| fijal (~fijal@197.174.156.226) left irc: Read error: Connection reset by peer | 05:54 | |
| Nick change: Guest21238 -> jell | 05:55 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) joined #pypy. | 05:55 | |
| fijal (~fijal@197.173.7.237) joined #pypy. | 05:56 | |
| fijal | hi | 05:57 |
| fijal | and wow | 05:57 |
| Alex_Gaynor | fijal: hey, did you see my message in teh logs? | 05:58 |
| Alex_Gaynor | (what's wow?) | 05:58 |
| fijal | no, I did not | 05:58 |
| Alex_Gaynor | [11:36 PM] <Alex_Gaynor> fijal (logs): Can you review http://paste.pocoo.org/show/514284/ the tests fail because of a bug with slice lengths, can you try to fix it, everything I try breaks something else | 05:58 |
| fijal | did you see the NCAR internship with pypy? | 05:58 |
| Alex_Gaynor | yes, but I didn't really understand it | 05:58 |
| fijal | why does it fail? | 05:58 |
| fijal | http://cisl.catsone.com/careers/index.php?m=portal&a=details&jobOrderID=714761 | 05:59 |
| fijal | this explains a bit | 05:59 |
| Alex_Gaynor | fijal: because decode_index4 puts a nonsense value for the last value | 05:59 |
| fijal | you mean the one in compile.py? | 05:59 |
| Alex_Gaynor | yes | 05:59 |
| Alex_Gaynor | the size of the slice is not the size of the input array | 05:59 |
| fijal | can you commit? | 05:59 |
| fijal | I can fix it | 05:59 |
| Alex_Gaynor | I'm on the wrong OS ATM, you can feel free to check it in | 06:00 |
| fijal | okey | 06:00 |
| fijal | is twitter down? | 06:00 |
| Alex_Gaynor | no | 06:01 |
| fijal | oh | 06:01 |
| fijal | it's just that my chromium has a stale tab :/ | 06:01 |
| Alex_Gaynor | chromium's DNS resolution is messed up | 06:02 |
| Alex_Gaynor | if one fails then it gets cached or something and it can't load stuff | 06:02 |
| fijal | anyway, the tab is not to be killed apparently | 06:02 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/286 | 06:03 |
| Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Quit: ZNC - http://znc.sourceforge.net | 06:04 | |
| fijal | Alex_Gaynor: k, will do that | 06:05 |
| Alex_Gaynor | thanks | 06:05 |
| fijal | Alex_Gaynor: also I'm in the middle of setslice compile thingie | 06:05 |
| Alex_Gaynor | k | 06:06 |
| fijal | to be anal, your test should come in test_compile really | 06:06 |
| fijal | as well | 06:06 |
| Vorpal (~AnMaster@unaffiliated/anmaster) joined #pypy. | 06:06 | |
| Alex_Gaynor | I put one in test_compile | 06:06 |
| fijal | oh ok | 06:06 |
| fijal | good alex :) | 06:06 |
| Alex_Gaynor | cookie? | 06:06 |
| Action: fijal hands out cookie | 06:06 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Client Quit | 06:07 | |
| setmeaway (~setmeaway@119.201.52.190) joined #pypy. | 06:10 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) joined #pypy. | 06:14 | |
| dolo (~quassel@ppp59-167-188-51.static.internode.on.net) left irc: Remote host closed the connection | 06:14 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Quit: ZNC - http://znc.sourceforge.net | 06:15 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) joined #pypy. | 06:15 | |
| Nick change: Gulopine -> Gulaway | 06:18 | |
| apanda (~apanda@c-24-7-101-62.hsd1.ca.comcast.net) joined #pypy. | 06:32 | |
| apanda (~apanda@c-24-7-101-62.hsd1.ca.comcast.net) left irc: Read error: Connection reset by peer | 06:41 | |
| apanda (~apanda@c-24-7-101-62.hsd1.ca.comcast.net) joined #pypy. | 06:43 | |
| fijal | Alex_Gaynor: how do you wrap an app-level object into a scalar? | 06:45 |
| k_bx (~k_bx@94.244.19.62) joined #pypy. | 06:47 | |
| amaury__ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy. | 06:48 | |
| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer_ | 06:49 | |
| fijal | Alex_Gaynor: ping? | 06:50 |
| fijal | Alex_Gaynor: what's wrong with decode_index4? | 06:50 |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 06:55 | |
| fijal | good | 07:01 |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) joined #pypy. | 07:09 | |
| mattip | hi | 07:09 |
| fijal | hi | 07:09 |
| mattip | fijal: I did some more work on (re)shape, it seems to be ready for review. | 07:10 |
| fijal | cool | 07:10 |
| mattip | The tricky thing was handling slices, I needed to match the step in each dimension to be sure it matched the new shape | 07:10 |
| mattip | Otherwise, throw exception. | 07:11 |
| mattip | I might have made a mistake :) | 07:11 |
| fijal | tests are there precisely for that reason :) | 07:12 |
| mattip | Yes, that's why I'm a bit hesitant about putting this up for review. | 07:12 |
| Dulak | I probably should just use random.choice directly | 07:12 |
| Dulak | I mean I am not adding any functionality at all to it | 07:13 |
| mattip | fijal: I didn't add tests for "c" and "f'" arrays since I could not find a way to create them from app level. | 07:13 |
| fijal | Dulak: hi, I have no idea what you're talking about | 07:13 |
| fijal | mattip: you can't | 07:13 |
| mattip | ahh, that would explain it then. | 07:13 |
| amaury__ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 248 seconds | 07:13 | |
| fijal | the option is there but is unfinished | 07:14 |
| mattip | But I did try and think about transposed arrays - I think since I reversed the strides they should be iterated from the wrong side. | 07:14 |
| kenaan | 12fijal default 1183cd4d2690b1 15/pypy/module/micronumpy/: Write a failing test for test_zjit | 07:15 |
| Dulak | oh doh that was the wrong channel | 07:15 |
| kenaan | 12fijal default 11f2d0500eb97f 15/pypy/: merge | 07:15 |
| Dulak | s/that/this | 07:15 |
| bobbyz (~bobbyz@c-24-9-15-58.hsd1.co.comcast.net) joined #pypy. | 07:15 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Quit: ZNC - http://znc.sourceforge.net | 07:21 | |
| fijal | mattip: I don't think transposed arrays are any special btw | 07:23 |
| Vorpal (~AnMaster@unaffiliated/anmaster) joined #pypy. | 07:26 | |
| kenaan | 12fijal default 117bd54cc2db83 15/pypy/module/micronumpy/: a test and a fix. test_zjit still fails, has to be investigated deeper | 07:34 |
| mattip | fijal: sorry, got called away. | 07:35 |
| fijal | np | 07:36 |
| mattip | fijal: but if I have an array with strides (1, 11, 121) for shape (11, 11, 11) is it the same thing as its transpose | 07:36 |
| mattip | which will have strides (121, 11, 1)? | 07:36 |
| fijal | yeah, you just swapped dimensions | 07:36 |
| fijal | I don't see this being specifically different for reshape | 07:36 |
| fijal | because if you reshape you expect to reshape the transposed version | 07:36 |
| mattip | Now say I reshape to (11 * 11 * 11, 1) | 07:37 |
| Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Quit: ZNC - http://znc.sourceforge.net | 07:38 | |
| mattip | I would expect the reshaped transpose to be different from the reshaped original array, right? | 07:38 |
| fijal | yes | 07:38 |
| mattip | So in the reshape code I check from which side the strides are faster - right to left or left-to-right | 07:38 |
| fijal | why? | 07:39 |
| Vorpal (~AnMaster@unaffiliated/anmaster) joined #pypy. | 07:39 | |
| fijal | I think I'm missing something crucial :) | 07:39 |
| mattip | I'm pretty sure I did it correctly, and added some tests, and I hope I did not miss any corner cases. | 07:39 |
| fijal | ok, cool | 07:39 |
| fijal | did you check how numpy behaves? | 07:40 |
| fijal | yeah, I think I'm following what you're saying | 07:40 |
| mattip | Yes, that's how I "discovered" I had a problem with my naive implementation. | 07:41 |
| fijal | ok | 07:41 |
| mattip | Anyhow, gotta get back to more mundane things, take a look and leave a review note. | 07:41 |
| mattip | figal: btw, things are looking good, you made alot of progress yeseterday. | 07:42 |
| Action: mattip nose->grindstone | 07:43 | |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) left irc: Quit: Page closed | 07:43 | |
| fijal | mattip: thanks :) | 07:44 |
| fijal | "good" | 07:44 |
| bivab (~david@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 07:45 | |
| k_bx (~k_bx@94.244.19.62) left irc: Ping timeout: 252 seconds | 07:48 | |
| kenaan | 12fijal default 118e56ec1b31a3 15/pypy/module/micronumpy/: Use OneDimIterator if we have one already. Fix it since tests started failing, make test_zjit look better again. | 07:50 |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 07:51 | |
| k_bx (~k_bx@94.244.19.62) joined #pypy. | 07:51 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy. | 07:53 | |
| fijal | antocuni: morning | 07:54 |
| antocuni | hi | 07:54 |
| kenaan | 12fijal default 1112123f742146 15/pypy/module/micronumpy/test/test_zjit.py: kill a duplicate test | 07:54 |
| fijal | hows ffistruct? | 07:59 |
| k_bx (~k_bx@94.244.19.62) left irc: Ping timeout: 252 seconds | 07:59 | |
| antocuni | "sleeping" | 08:00 |
| antocuni | I simply did find time to work on it lately | 08:00 |
| fijal | so how are you? | 08:00 |
| antocuni | I'm fine :-) | 08:00 |
| antocuni | I'm finishing a job for a customer, after that I'll hope to be able to work a bit on pypy | 08:01 |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy. | 08:09 | |
| Arfrever (~Arfrever@apache/committer/Arfrever) left irc: Quit: Ex+re | 08:10 | |
| kenaan | 12fijal default 11831d8e975963 15/pypy/module/micronumpy/: fixes | 08:14 |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 240 seconds | 08:14 | |
| kenaan | 12fijal default 116fabd9a00be8 15/pypy/module/micronumpy/: Test and check that we don't do stupid copies - it's not only inefficient, it's also wrong | 08:20 |
| kenaan | 12fijal default 110f011382b9bc 15/pypy/module/micronumpy/: fix the test | 08:23 |
| k_bx (~k_bx@195.20.130.1) joined #pypy. | 08:46 | |
| lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) joined #pypy. | 08:55 | |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Ping timeout: 244 seconds | 08:57 | |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Ping timeout: 260 seconds | 09:10 | |
| Sho_ (~EHS1@kde/hein) left irc: Quit: Stop leaking memory like it's going out of fashion. | 09:12 | |
| G2P (~G2P@fw-asn1.ornis.com) joined #pypy. | 09:15 | |
| aleksi (~aleksi@85.235.191.82) joined #pypy. | 09:16 | |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy. | 09:16 | |
| kenaan | 12hager ppc-jit-backend 1130281c041368 15/pypy/jit/backend/ppc/ppcgen/regalloc.py: Added a few methods which will be needed later on | 09:25 |
| kenaan | 12hager ppc-jit-backend 111676cac93ae4 15/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py: merge | 09:25 |
| kenaan | 12hager ppc-jit-backend 115e00ef86a581 15/pypy/jit/backend/ppc/ppcgen/: merge | 09:25 |
| ojii (~ojii@40-34.60-188.cust.bluewin.ch) joined #pypy. | 09:28 | |
| fijal | antocuni: ping | 09:38 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1867 [12David Schneider, disable_merge_different_int_types] | 09:38 |
| kenaan | 12bivab disable_merge_different_int_types 11f012fa9edd70 15/pypy/jit/metainterp/optimizeopt/fficall.py: add missing import | 09:39 |
| bbot2 | 13Exception: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1867 [12David Schneider, disable_merge_different_int_types] | 09:40 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1868 [12David Schneider, disable_merge_different_int_types] | 09:40 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/729 [12David Schneider, disable_merge_different_int_types] | 09:41 |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Remote host closed the connection | 09:42 | |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy. | 09:43 | |
| Ademan (~dan@adsl-71-141-224-79.dsl.snfc21.pacbell.net) left irc: Quit: leaving | 09:45 | |
| antocuni | fijal: pong | 09:50 |
| fijal | nice, I've just beaten a silly C++ :) | 09:51 |
| fijal | -O3 | 09:51 |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy. | 09:51 | |
| antocuni | cool :-) | 09:52 |
| fijal | now I need someone who'll tell me it's numerically ok :) | 09:53 |
| Action: antocuni whistles | 09:54 | |
| Fluxid | what is missing for lxml/cython to work under pypy? | 09:55 |
| dimazest (~dimazest@balticom-202-59.balticom.lv) left irc: Ping timeout: 255 seconds | 09:56 | |
| Fluxid | my company thinks of porting its code to pypy but lxml and cext libraries are needd for it... | 09:56 |
| fijal | Fluxid: some work | 09:56 |
| fijal | vaguely speaking | 09:56 |
| fijal | to be precise, there is a branch on cython that would emit pure python + ctypes | 09:57 |
| fijal | it has to be finished | 09:57 |
| Fluxid | is rguillebert still working on ctypes backend for cython? | 09:57 |
| antocuni | moreover, rguillebert told me that lxml is particularly hard to port on pypy, because it also pokes inside cpython's internals | 09:57 |
| dimazest (~dimazest@balticom-202-59.balticom.lv) joined #pypy. | 09:57 | |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Ping timeout: 260 seconds | 09:58 | |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy. | 09:58 | |
| fijal | Fluxid: no, he's not | 09:59 |
| fijal | Fluxid: there are people who would finish it for money I believe though | 09:59 |
| Fluxid | or maybe there is some replacement for lxml? | 10:00 |
| Fluxid | and what is the status of cext? is is stable enough to be used in production? | 10:01 |
| fijal | cpyext you mean? | 10:01 |
| fijal | some extensions are ok, some are not | 10:02 |
| fijal | in general yes, but not all extensions are working | 10:02 |
| Fluxid | cpyext, yeah | 10:02 |
| Fluxid | so i'd need to test them | 10:03 |
| fijal | yes, definitely | 10:04 |
| arigato (~arigo@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 10:08 | |
| fijal | arigato: hi armin | 10:08 |
| fijal | feel like helping with numerics? | 10:08 |
| lizardo (~lizardo@189.2.128.130) joined #pypy. | 10:10 | |
| arigato | hi | 10:11 |
| arigato | not really, but ask anyway :-) | 10:11 |
| fijal | haha | 10:11 |
| fijal | http://www.scipy.org/PerformancePython?action=AttachFile&do=get&target=perfpy_2.tgz | 10:11 |
| fijal | download this | 10:11 |
| Fluxid | openssl doesn't work either under pypy? | 10:12 |
| fijal | and look into laplace.py | 10:12 |
| fijal | Fluxid: it should | 10:12 |
| fijal | arigato: there is slowTimeStep which modifies u based on previous values | 10:12 |
| fijal | now I'm wondering how much different it is if we make a copy of u first and then create u[t + 1] based on u[t] | 10:12 |
| Fluxid | https://bitbucket.org/pypy/compatibility/wiki/Home it says it doesn't https://bitbucket.org/pypy/compatibility/wiki/pyopenssl and this page is empty | 10:12 |
| fijal | because right now it is in place | 10:12 |
| fijal | Fluxid: thx for reporting I'll see into getting this fixed | 10:13 |
| arigato | why are you doing this? I thought the idea was to improve the performance of numpypy, not to hack at existing programs | 10:15 |
| arigato | I do agree that the code here is strange, because e.g. in the loop, "u[i-1, j]" was already modified, but "u[i+1, j]" not yet | 10:16 |
| fijal | I'm doing experiments | 10:17 |
| fijal | that include modifying existing programs ;) | 10:17 |
| arigato | from that point of view, slowTimeStep() is buggy, if it's supposed to do the same as e.g. numericTimeStep | 10:17 |
| fijal | no, numericTimeStep does the same thing | 10:17 |
| fijal | for some definition of the same | 10:18 |
| arigato | no, it doesn't | 10:18 |
| fijal | in numpy if you assign to the slice of the same array it's your issue | 10:18 |
| arigato | no | 10:18 |
| arigato | I don't agree | 10:18 |
| fijal | >>> a[::-1] = a | 10:18 |
| fijal | >>> a | 10:18 |
| fijal | array([0, 1, 2, 3, 4, 4, 3, 2, 1, 0]) | 10:18 |
| fijal | >>> | 10:18 |
| fijal | a = arange(10) | 10:18 |
| fijal | was the first line | 10:18 |
| arigato | yes, but that's not what numericTimeStep does | 10:18 |
| fijal | ah ok | 10:18 |
| fijal | doesn't it? | 10:19 |
| arigato | try a[::-1] = a+a | 10:19 |
| arigato | this build a new temporary array | 10:19 |
| fijal | ah right | 10:19 |
| fijal | I forgot | 10:20 |
| fijal | well, we have to think about the way to make it nicely work in numpypy, because we don't have intermediates | 10:20 |
| arigato | (btw, it may be worth a test that it works correctly even in numpypy :-) | 10:20 |
| arigato | yes | 10:20 |
| fijal | well, the current version is buggy | 10:20 |
| fijal | I removed the check, but the check was buggy anyway | 10:20 |
| arigato | the original point is that slowTimeStep() is computing something different and buggy-looking | 10:20 |
| arigato | indeed, it needs to be fixed, e.g. by a u.copy() | 10:21 |
| fijal | for what is worth, the inline version looks buggy as well, the same way | 10:21 |
| fijal | or the C++ version | 10:22 |
| fijal | now that puts me in a very uncomfortable position :-) | 10:22 |
| fijal | because I can't compare different algos | 10:23 |
| arigato | does it? you're looking at a buggy benchmark, throw it away and pick a better one? | 10:23 |
| fijal | how about I fix the benchmark then? | 10:23 |
| fijal | it's what shows up when you type in google performance python btw | 10:24 |
| arigato | not me to ask :-) | 10:24 |
| fijal | ok | 10:24 |
| fijal | for what is worth we're outperforming c++ example on this one | 10:24 |
| arigato | I suppose the lesson learned is that (again) google finds broken performance benchmarks for python :-) | 10:25 |
| fijal | by a bit | 10:25 |
| arigato | cool | 10:25 |
| fijal | but it's not really ready for a blog post | 10:25 |
| fijal | for reasons we just outlined :) | 10:25 |
| arigato | where is the C++ version? | 10:25 |
| fijal | in src/laplace.cxx | 10:25 |
| fijal | it's the same as slowTimeStep roughly | 10:25 |
| arigato | indeed | 10:26 |
| fijal | mess | 10:26 |
| arigato | I'm not 100% sure that it's buggy; someone would need to look it up | 10:27 |
| Action: arigato does | 10:27 | |
| fijal | http://www.nongnu.org/freepooma/tutorial/tut-01.html | 10:27 |
| fijal | this claims you have to have a tmp | 10:28 |
| arigato | indeed | 10:28 |
| fijal | meh :/ | 10:29 |
| arigato | reading the "Using Intervals" version | 10:30 |
| arigato | there is a single "V(I,J) = 0.25*(V(I+1,J) + V(I-1,J) + V(I,J+1) + V(I,J-1) - b(I,J));" | 10:30 |
| arigato | which expand to some C++ function or macro calls | 10:30 |
| arigato | but it's still doing the computation "in parallel" | 10:30 |
| arigato | so like numericTimeStep, and unlike slowTimeStep and the C++ version | 10:31 |
| fijal | I would think they have some clever analysis for that | 10:31 |
| arigato | well they clearly don't have tests :-) | 10:31 |
| fijal | "Note that the assignment on line 31 automatically creates a temporary copy of the array V, so that values are not read while they are being overwritten." | 10:32 |
| fijal | they have documentation :) | 10:32 |
| fijal | this leaves me in a serious puzzle for numpy | 10:32 |
| thp (~thp@Maemo/community/contributor/thp) joined #pypy. | 10:34 | |
| arigato | I would personally go for "completely ignore this benchmark" | 10:35 |
| cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 10:35 | |
| cfbolz | 'ello | 10:35 |
| fijal | I would write my own laplace solver | 10:35 |
| fijal | which is more correct, or find it somewhere | 10:35 |
| thp | in PyPy 1.6 with the default garbage collector, is it even possible to get uncollectable objects (gc.garbage list)? | 10:35 |
| fijal | but I Want to have a reason why I ignore this one | 10:35 |
| fijal | thp: no | 10:35 |
| thp | fijal: so gc.garbage is something cpython-specific? or does pypy have the same "problem" with different GCs? | 10:36 |
| cfbolz | thp: http://doc.pypy.org/en/latest/cpython_differences.html#differences-related-to-garbage-collection-strategies | 10:36 |
| fijal | thp: pypy's gc.garbage is always empty and the problem is cpython-specific | 10:36 |
| thp | cfbolz: thanks for the link, will read that | 10:36 |
| cfbolz | fijal: in a sense pypy has the same problem, it just solves it differently | 10:36 |
| fijal | cfbolz: well yes, it solves it instead of leaving the solution for user | 10:37 |
| fijal | arigato: I just don't want to be a target of accusations "but I ignored XXX" | 10:37 |
| arigato | fijal: I would say it's fine if you write together with the other benchmark a sentence like: | 10:38 |
| arigato | "people often use laplace.py as a benchmark, but we don't, because it is completely buggy [reference]" | 10:39 |
| arigato | or some more diluted version of "completely buggy" | 10:39 |
| fijal | I can be constructive and take POOMA version | 10:40 |
| arigato | feel free, but I think the most constructive approach in this case is to find a good and *existing* benchmark | 10:40 |
| fijal | feel like finding one? | 10:41 |
| arigato | I have no clue | 10:41 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1868 [12David Schneider, disable_merge_different_int_types] | 10:41 |
| arigato | if you don't either, you need to ask someone with experience in numpy | 10:42 |
| fijal | precisely :) | 10:42 |
| fijal | the problem is noone writes iterative approaches in python | 10:42 |
| fijal | because traditionally they're uber-slow | 10:42 |
| arigato | ah, I see | 10:43 |
| fijal | so someone went through the effort | 10:43 |
| arigato | so maybe it makes sense to hack at laplace.py's pure-Python version, at least | 10:43 |
| arigato | but I have no clue, you should really take feedback from numpy people | 10:44 |
| fijal | I'm trying | 10:44 |
| fijal | but ok | 10:44 |
| arigato | anyway it's not like it's hard to take a two-line numpy program and write a pure Python version in order to compare performance | 10:44 |
| fijal | right | 10:45 |
| fijal | but it's hard to find some useful thing :) | 10:45 |
| fijal | anyway, I'll try to stick with laplace for now | 10:45 |
| arigato | so if that is what you want to do, you can collect some number of tiny benchmarks and write equivalent Python versions | 10:45 |
| fijal | and maybe fix numpypy to behave nicely in that case | 10:45 |
| arigato | yes, that looks like a bug that needs fixing | 10:46 |
| fijal | it's obscure because in the simplest possible case it does not make a copy | 10:46 |
| stakkars_ (~tismer@p5DDB7E68.dip.t-dialin.net) joined #pypy. | 10:55 | |
| stakkars (~tismer@p5DDB7E68.dip.t-dialin.net) left irc: Read error: Connection reset by peer | 10:55 | |
| Nick change: stakkars_ -> stakkars | 10:55 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 10:58 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Remote host closed the connection | 11:00 | |
| dimazest (~dimazest@balticom-202-59.balticom.lv) left irc: Remote host closed the connection | 11:02 | |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) joined #pypy. | 11:02 | |
| mattip | hi | 11:03 |
| mattip | Lunch break. | 11:03 |
| fijal | mattip: hi | 11:03 |
| mattip | fijal: did you see the comment on the original benchmark page: | 11:03 |
| mattip | However, since the NumPy expression uses temporaries internally, only the old value of u[1,1] will be used. This is not a serious issue in this case because it is known that even when this happens the algorithm will converge (but in twice as much time, which reduces the benefit by a factor of 2, which still leaves us with a 25 fold increase) | 11:03 |
| witulski (~stupsi@134.99.16.23) joined #pypy. | 11:04 | |
| witulski (stupsi@134.99.16.23) left #pypy. | 11:04 | |
| mattip | But I guess in our case we screw up more than just the previous vlaue.. | 11:04 |
| mattip | we trash a whole half-row/column | 11:04 |
| fijal | "The beauty of the expression is that its completely done in C." | 11:05 |
| fijal | I kind of fail to understand how the algorithm is even correct without temporaries | 11:06 |
| mattip | But I think the point of the page is not "correct" but "fast". | 11:08 |
| mattip | If you put the same kind of hand-waving comment about "it is known to converge" blah blah and post speed details, isn't that OK? | 11:09 |
| fijal | I would like to have [citation needed] to convergence | 11:10 |
| mattip | The table at the end points stops after 100 iterations. They never let the thing run to convergence. But perhaps someone could suggest a citation. | 11:11 |
| mattip | So for practical purposes, one of the other implementations could be slower for 100 loops but converge faster in absolute time. | 11:12 |
| fijal | I wonder about assymetry though | 11:13 |
| fijal | because you have propagating errors | 11:13 |
| JaRoel (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 11:13 | |
| kenaan | 12bivab disable_merge_different_int_types 11f3f7ebd8ca8a 15/pypy/jit/codewriter/: (arigo, bivab): add some u's and shuffle operations around | 11:15 |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Ping timeout: 252 seconds | 11:16 | |
| mattip | Yes, we are messing with the "it is known" area of my original quote. Perhaps our circles of friends could help with some laplace convergence theory. I will ask around | 11:17 |
| fijal | for what is worth, the tmp based solution is converging faster | 11:20 |
| mattip | fijal: Assuming all is rosy with my (re)shape code, what's next? I would like to continue in the direction of linalg: determinant, inverse, right-divide for a small set of 2d arrays. | 11:20 |
| mattip | And fixing dot for multidim arrays | 11:20 |
| fijal | I think whatever you feel like | 11:21 |
| fijal | so it's actually faster to do a copy | 11:21 |
| fijal | what the fuck | 11:21 |
| mattip | Doesn't a copy of a slice create a clean (non-slice) array which then can use faster iterators? | 11:22 |
| fijal | I'm only speaking about convergance for now | 11:22 |
| fijal | faster = requires less iteration | 11:22 |
| fijal | s | 11:22 |
| Nick change: ojii -> ojii|lunch | 11:22 | |
| mattip | Ahh. | 11:23 |
| mattip | If you use a copy-based step in the numpy (not pypy) implementaion, does it converge in a similar way? | 11:25 |
| fijal | I'm doing various experiments | 11:25 |
| fijal | but numpy's version is copy | 11:25 |
| fijal | because it creates temporaries | 11:25 |
| mattip | Yes, sorry, does the pypy copy version converge similarily to the numpy one? | 11:26 |
| fijal | I modified the pypy version because current one is a bit broken | 11:26 |
| mattip | Anyhow, gotta go. Will try to find a reference. good luck. | 11:27 |
| fijal | it does not correctly do the copy | 11:27 |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) left irc: Quit: Page closed | 11:27 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 11:28 | |
| fijal | nedbat: hi | 11:29 |
| fijal | nedbat: the C invocations are nonsense | 11:29 |
| fijal | it's just an artifact of the way stuff is imported | 11:29 |
| nedbat | fijal: i love hearing that. What should I do? | 11:29 |
| fijal | get rid of importing rmarshal probably | 11:29 |
| nedbat | fijal: don't I need marshal for communicating between the two procs? | 11:30 |
| fijal | you can just use normal marshal no? | 11:31 |
| nedbat | fijal: you tell me! :) | 11:32 |
| fijal | I think so although arigato would know better | 11:32 |
| nedbat | there's a comment somewhere about how regular marshal holds the GIL? | 11:34 |
| kenaan | 12fijal default 11f54bf973f305 15/pypy/module/micronumpy/interp_numarray.py: kill unused nonsensical function | 11:35 |
| kenaan | 12bivab default 11e68a7b79ae93 15/pypy/translator/platform/darwin.py: (arigo, bivab): do not require gcc 4.0 as a default on the mac anymore | 11:38 |
| fijal | nedbat: as far as I can tell this requires detaching sandlib from pypy's annotator object model | 11:38 |
| kenaan | 12bivab disable_merge_different_int_types 118eaa554846b5 15/pypy/objspace/std/setobject.py: (arigo, bivab): fix an overfix in setobject | 11:39 |
| kenaan | 12bivab disable_merge_different_int_types 1189efc1956c94 15/pypy/: merge default | 11:39 |
| fijal | the only thing it is used for is SomeStatResult | 11:39 |
| kenaan | 12bivab disable_merge_different_int_types 115cb23d0a9a6f 15/pypy/: merge default | 11:39 |
| fijal | and r_longlong | 11:39 |
| fijal | if you can kill those two and replace it with something else, you're good to go | 11:39 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/729 [12David Schneider, disable_merge_different_int_types] | 11:40 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1869 [12David Schneider, disable_merge_different_int_types] | 11:40 |
| nedbat | fijal: ok, I'll study it. | 11:40 |
| fijal | nedbat: there is no reason other then we already know how to marshal/unmarshal such stuff | 11:41 |
| fijal | but you can fake this part | 11:41 |
| fijal | and then kill all the pypy imports except really boring stuff | 11:41 |
| nedbat | fijal: a quick search indicates that rmarshal is only used in the sandbox? And you think it isn't needed there? | 11:41 |
| fijal | no | 11:42 |
| fijal | rmarshal is necessary inside the sandbox | 11:42 |
| fijal | but it should not be necessary inside the sandlib | 11:42 |
| fijal | but the version inside gets compiled and you don't invoke a C compiler | 11:42 |
| fijal | you only compile it when compiling | 11:42 |
| fijal | the part in sandlib.py can be killed though | 11:43 |
| nedbat | ok, i haven't internalized what all the parts do, thanks for the pointers. | 11:43 |
| fijal | sandlib is the part you invoke via cpython to communicate with sandbox | 11:45 |
| fijal | this part does not have to import anything from pypy | 11:45 |
| fijal | it just does so because it was convinient at the time | 11:45 |
| nedbat | fijal: yes, I suspect there are many helpers that get used. | 11:46 |
| fijal | not that many :) | 11:46 |
| fijal | it seems to be it's just to handle long longs and stat results | 11:46 |
| fijal | you can safely fake it somehow | 11:46 |
| nedbat | what about the comment at line 28 of sandlib.py? | 11:47 |
| nedbat | fijal: ^^ | 11:49 |
| fijal | note that this is a different marshal than rmarshal | 11:50 |
| fijal | this is a pure python implementation of marshal that runs on top of python | 11:50 |
| fijal | rmarshal is a restricted marshal used by RPython programs | 11:50 |
| fijal | there are only 7 modules named the same, how you could possibly got lost? ;-) | 11:50 |
| nedbat | fijal: it all feels like Alice in Wonderland to me still... | 11:51 |
| fijal | hahah :) | 11:51 |
| fijal | I can relate ;-) | 11:51 |
| fijal | anyway, this is simply extra-security | 11:51 |
| fijal | it reuses pypy's standard library marshal | 11:51 |
| fijal | which is just a single python file, it's all fine | 11:51 |
| nedbat | ok | 11:52 |
| fijal | for the reasons outlined | 11:52 |
| fijal | however, you are trying to get rid of the dependency on rmarshal, which is unnecessary | 11:52 |
| nedbat | right, i see | 11:52 |
| fijal | you need a compatible way to rmarshal to deal with longlong and stat results | 11:52 |
| fijal | and that's pretty much it | 11:52 |
| chronitis (~chronitis@88-104-115-147.dynamic.dsl.as9105.com) joined #pypy. | 11:52 | |
| fijal | everything else is scaffolding done because rmarshal is to be used by RPython programs | 11:52 |
| fijal | but we're abusing it here for other purpose | 11:53 |
| nedbat | all the marshalling in sandlib goes through rmarshal, and your point it that plain-old marshal would do just as well except for those two types. | 11:53 |
| nedbat | fijal: rmarshal and marshal have different interfaces, so I'd have to write my own wrapper for marshal, it looks like. | 11:55 |
| fijal | no | 11:56 |
| nedbat | :( | 11:56 |
| fijal | if you look at implementation of write_message | 11:56 |
| fijal | it uses marshal.dump for anything but the situation when resulttype is set | 11:56 |
| fijal | resulttype is only set using r_longlong and s_StatResult | 11:56 |
| fijal | and indeed, marshal does not support those types, so you bail back to rmarshal | 11:57 |
| fijal | as far as I can see | 11:57 |
| nedbat | i may have a different version of the file. | 11:57 |
| fijal | I'm looking at sandlib.py and implementation of write_message right? | 11:57 |
| nedbat | my write_message uses rmarshal.get_marshaller | 11:57 |
| fijal | yes, but only when resulttype is not None right? | 11:57 |
| nedbat | right | 11:58 |
| nedbat | oh, I didn't understand what resulttype meant. | 11:58 |
| nedbat | it overrides the type of msg. | 11:58 |
| fijal | so IMO (I just used pdb, I don't know it from top of my head) resulttype is not None only when it is r_longlong or s_StatResult | 11:58 |
| nedbat | right, ok. | 11:58 |
| fijal | because those are not types supported by marshal | 11:58 |
| nedbat | (more docstrings would be awesome...) | 11:58 |
| fijal | so what you want to do is to invent new types r_longlong and s_StatResult and use them instead of relying on pypy's internal machinery | 11:58 |
| fijal | and learn how to marshal them | 11:59 |
| nedbat | ok | 11:59 |
| fijal | so they're compatible with rmarshal | 11:59 |
| fijal | armin is not well known for writing docstrings, but we would be more than happy to accept patches with some :) | 11:59 |
| fijal | nedbat: do I make any sense? | 12:00 |
| nedbat | fijal: I expect to produce some! :) | 12:00 |
| nedbat | fijal: yes, I'm getting it. | 12:01 |
| fijal | good :) | 12:01 |
| fijal | it feels like my main coding tools these days is email client/the browser/IRC client | 12:01 |
| nedbat | welcome to middle management! :) | 12:01 |
| fijal | except I don't get paid for that ;-) | 12:01 |
| verte | the browser for code review? | 12:02 |
| fijal | verte: or paste.pocoo.org | 12:03 |
| verte | ah | 12:03 |
| verte | rather than emacs in a screen | 12:03 |
| fijal | yes | 12:04 |
| fijal | or gmail | 12:04 |
| fijal | nedbat: if you know anyone who would hire me to do the same thing, let me know ;-) | 12:07 |
| nedbat | fijal: I'll keep my ear to the ground | 12:08 |
| Nick change: ojii|lunch -> ojii | 12:11 | |
| kushal (~kdas@fedora/kushal) joined #pypy. | 12:13 | |
| lizardo (~lizardo@189.2.128.130) left irc: Ping timeout: 252 seconds | 12:14 | |
| fijal | arigato: so there is no bug | 12:14 |
| fijal | but I wrote a test at least :) | 12:14 |
| hruske (~Gasper@2001:15c0:66e9:14:e8f2:a7ff:fe78:4104) joined #pypy. | 12:18 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 260 seconds | 12:20 | |
| Arach (~arach@2.95.163.200) left irc: Ping timeout: 258 seconds | 12:20 | |
| kenaan | 12fijal default 112158b5ddab51 15/pypy/module/micronumpy/test/test_numarray.py: Make tests reflect the reality. It actually works, but a bit by chance | 12:21 |
| kenaan | 12fijal default 11ec72fff50853 15/pypy/translator/platform/darwin.py: merge | 12:21 |
| verte (~verte@python/site-packages/verte) left irc: Quit: ~~~ Crash in JIT! | 12:27 | |
| kushal (kdas@fedora/kushal) left #pypy ("Leaving"). | 12:28 | |
| fijal | eh | 12:30 |
| fijal | ok | 12:30 |
| fijal | I got a suspect :/ | 12:30 |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Remote host closed the connection | 12:30 | |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy. | 12:31 | |
| Arach (~arach@FTTBs-195.222.177.214.ranetka.ru) joined #pypy. | 12:32 | |
| lizardo (~lizardo@189.2.128.130) joined #pypy. | 12:32 | |
| arigato | fijal: test_numarray fails now | 12:33 |
| fijal | even after my last checkin? | 12:34 |
| fijal | arigato: did you hg pull -u | 12:34 |
| arigato | yes | 12:34 |
| fijal | ? | 12:34 |
| arigato | yes | 12:34 |
| arigato | test_add | 12:35 |
| fijal | it does not | 12:35 |
| fijal | test_numarray.py? | 12:35 |
| arigato | ok, let me rephrase: on Linux32 at least on my machine it fails | 12:35 |
| fijal | http://paste.pocoo.org/show/514403/ | 12:35 |
| fijal | ok | 12:35 |
| fijal | I'm using 64bit | 12:35 |
| Action: fijal retries | 12:35 | |
| arigato | indeed, works on 64bit | 12:36 |
| arigato | (completely obscure why) | 12:36 |
| fijal | nope, passes on 32bit as well | 12:36 |
| fijal | hahaha | 12:36 |
| arigato | ah, it's because I run with python2.5 | 12:37 |
| arigato | with 2.6 it passes | 12:37 |
| fijal | pffff | 12:38 |
| fijal | arigato: so I'm finding interesting stuff | 12:38 |
| fijal | for example by rewriting c++ version to copy the array first | 12:38 |
| fijal | it suddenly goes 2x faster because it can vectorize stuff | 12:38 |
| __pv | are you sure that is that because of vectorization, instead of cpu cache effects? | 12:39 |
| arigato | http://paste.pocoo.org/show/514404/ | 12:39 |
| fijal | __pv: I'm relatively sure | 12:39 |
| fijal | __pv: because I have more arrays now, but they're not relying on each other | 12:39 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1869 [12David Schneider, disable_merge_different_int_types] | 12:40 |
| __pv | should of course be possible to find out by turning vectorization off in the compiler | 12:40 |
| fijal | arigato: nice | 12:40 |
| fijal | __pv: right, but I'm convinced :) | 12:40 |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 244 seconds | 12:43 | |
| voidspace (~voidspace@python/psf/voidspace) left irc: Ping timeout: 244 seconds | 12:43 | |
| fijal | anyway | 12:44 |
| fijal | I guess I'm learning | 12:44 |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 12:58 | |
| fijal | ok, so I found a problem with our approach, I suppose | 13:06 |
| fijal | Alex_Gaynor: ping | 13:08 |
| stakkars_ (~stakkars@89.204.137.126) joined #pypy. | 13:09 | |
| stakkars_ | Hi | 13:10 |
| berdario (~quassel@host118-77-dynamic.10-79-r.retail.telecomitalia.it) joined #pypy. | 13:11 | |
| stakkars_ | arigato: hi Armin. Got your three first milestones done | 13:11 |
| jnoller (~jnoller@vpn.nasuni.com) joined #pypy. | 13:12 | |
| stakkars_ | the remaining things are still infinite, but countable | 13:13 |
| fijal | jnoller: hi jesse! | 13:13 |
| jnoller | hello | 13:14 |
| kenaan | 12arigo op_malloc_gc 112d92b6d542ce 15/pypy/jit/backend/llsupport/: Refactoring, in-progress. | 13:14 |
| kenaan | 12arigo op_malloc_gc 11911d0419ed7f 15/pypy/jit/backend/llsupport/: Refactor more. Test_rewrite passes. | 13:14 |
| kenaan | 12arigo disable_merge_different_int_types 1182c99d032cfc 15/pypy/jit/codewriter/support.py: (bivab, arigo) Bah, undo this, which was too much. | 13:14 |
| kenaan | 12arigo disable_merge_different_int_types 112d877298ba62 15/pypy/jit/codewriter/jtransform.py: (bivab, arigo) Fix. | 13:14 |
| arigato | stakkars_: good :-) | 13:14 |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 13:14 | |
| Rhy0lite (dje@nat/ibm/x-jtmfgecmhivrtdps) joined #pypy. | 13:15 | |
| stakkars_ | I would love to merge soon, but would need a better 32 bit builder to check | 13:15 |
| fijal | Rhy0lite: I don't stop to be amazed by x86 & gcc | 13:16 |
| Rhy0lite | fijal: in which ways? | 13:16 |
| fijal | how it performs | 13:16 |
| fijal | I have *no idea* | 13:16 |
| Rhy0lite | BTW, not everyone is enamored with scheme and guile | 13:16 |
| fijal | hahaha ;-) | 13:17 |
| fijal | I'm not | 13:17 |
| Rhy0lite | fijal: you mean how well GCC performs on x86? | 13:17 |
| stakkars_ | arigato: yeah, you really gave me a milestone which I almost had ready. This helps | 13:18 |
| arigato | :-) | 13:18 |
| fijal | Rhy0lite: no, what changes in code cause what | 13:18 |
| stakkars_ | Please advise me again | 13:18 |
| fijal | Rhy0lite: regarding guile, it's not about scheme itself | 13:18 |
| fijal | it's about "if GNU would use language X for scripting, that would require a GNU implementation of X" | 13:19 |
| arigato | stakkars_: translator/c/test/test_standalone.py ? | 13:19 |
| Rhy0lite | both requiring language X for scripting and requiring GNU implementation of X? | 13:19 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/277 | 13:19 |
| Rhy0lite | GDB implemented scripting using Python and didn't tell the FSF | 13:20 |
| stakkars_ | Ok. For now i only did the stonedalone | 13:20 |
| chronitis (~chronitis@88-104-115-147.dynamic.dsl.as9105.com) left irc: Quit: Lost terminal | 13:20 | |
| djc (~djc@gentoo/developer/djc) joined #pypy. | 13:21 | |
| djc | what happened to --withmod in 1.7 (or maybe 1.6)? | 13:21 |
| djc | and is there a replacement for it? | 13:21 |
| fijal | Rhy0lite: making X gnu scripting language requie GNU implementation of X | 13:21 |
| fijal | noone would consider picking any other open source implementation | 13:21 |
| fijal | this writes down say python | 13:22 |
| fijal | there is no way GNU will come with a decent implementation of python within interesting timespan | 13:22 |
| fijal | that leaves you with poor choice | 13:22 |
| fijal | because only languages that you're able to quickly implement are left | 13:22 |
| fijal | djc: ? | 13:22 |
| Rhy0lite | fijal: but you explained it yourself -- not picking any other "open source" implementation | 13:22 |
| Rhy0lite | they want free software implementation | 13:23 |
| djc | fijal: in Gentoo, for 1.5 we used to do something like python2.7 ./pypy-pypy-release-1.7/pypy/translator/goal/translate.py -Ojit --withmod-bz2 --withmod-_minimal_curses --withoutmod-pyexpat --withmod-_ssl | 13:23 |
| fijal | and say pypy is not free enough? | 13:23 |
| Rhy0lite | it's dangerous, in the FSF's mind, to rely on open source | 13:23 |
| djc | but 1.7 complains: translate: error: no such option: --withmod-bz2 | 13:23 |
| fijal | djc: this is on by default | 13:23 |
| fijal | besides, you missed targetpypystandalone.py | 13:23 |
| fijal | from your command line | 13:23 |
| fijal | why no expat? | 13:24 |
| fijal | Rhy0lite: right, that's silly though | 13:24 |
| fijal | but I guess end of story | 13:24 |
| arigato | djc: why do you want to end up with a version of pypy that includes or excludes some things in a standard distribution like Gentoo? | 13:24 |
| arigato | djc: just use the default please | 13:24 |
| Rhy0lite | fijal: yes and no. There are good arguments why BSD and MIT licenses do not provide enough protection | 13:24 |
| djc | arigato: gentoo has flags for all its packages | 13:25 |
| Rhy0lite | although GPLv3 goes overboard in the other direction | 13:25 |
| lucian | fijal: the only reason i find guile interesting is possibly for emacs. if i could write scheme instead, i'd be less annoyed | 13:25 |
| fijal | djc: that's not a very good reason to pass nonsense flags :) | 13:25 |
| Rhy0lite | good arguments that GPLv3 does too far | 13:25 |
| djc | so users can globally turn off things like bzip2, expat, ncurses | 13:25 |
| djc | fijal: so --withoutmod-bz2 should work? | 13:25 |
| arigato | djc: ok, then the gentoo script is broken, because the correct command-line is to pass "--withmod-xxx" after "targetpypystandalone.py" (it was always so) | 13:25 |
| arigato | or "--withoutmod-bz2" | 13:26 |
| ltratt (~ltratt@87.114.197.234) joined #pypy. | 13:26 | |
| djc | arigato: okay, I'll check again | 13:26 |
| djc | okay, it works, sorry for the noise | 13:27 |
| fijal | djc: you have to pass targetpypystandalone somewhere | 13:27 |
| djc | I thought the targetpypystandalone.py argument would be optional | 13:28 |
| djc | since it seems to be the default anyway | 13:28 |
| fijal | yes, if you don't want target-specific options | 13:28 |
| arigato | fijal: well no, indeed it is optional, *if* you don't want to pass target-specific options | 13:28 |
| fijal | djc: by the way | 13:28 |
| fijal | djc: before you do that, if you think it's a good idea to pass something else to gcc than our flags, don't | 13:28 |
| fijal | the resulting executable will very likely segfault (if compile at all) | 13:28 |
| djc | fijal: heh | 13:28 |
| fijal | I'm serious | 13:29 |
| fijal | fedora tried | 13:29 |
| djc | I'll keep it in mind | 13:29 |
| djc | what are your normal gcc opts? | 13:29 |
| arigato | they are passed in the Makefile generated by translate.py | 13:30 |
| arigato | but you can add flags with the CFLAGS env var | 13:30 |
| arigato | so, don't add too many | 13:30 |
| djc | it seems to currently run with -O3 -pthread -fomit-frame-pointer | 13:31 |
| arigato | yes | 13:31 |
| stakkars (~tismer@p5DDB7E68.dip.t-dialin.net) left irc: Read error: Connection reset by peer | 13:31 | |
| Nick change: stakkars_ -> stakkars | 13:31 | |
| fijal | djc: also reading translate.py --help should keep you busy until new year | 13:31 |
| stakkars_ (~tismer@p5DDB7E68.dip.t-dialin.net) joined #pypy. | 13:32 | |
| stakkars | how is the state of OS X? | 13:32 |
| fijal | I think it works | 13:33 |
| Rhy0lite | fijal: GDB may have gotten around as a "plugin" | 13:33 |
| stakkars | A friend of mine tried a pypy build, but it got stuck after computing hours, way longer as expected | 13:33 |
| Rhy0lite | I specifically had the GPL Runtime Exception allow Open Source plugins, not GPL plugins | 13:33 |
| berdario_ (~Tiibiidii@host118-77-dynamic.10-79-r.retail.telecomitalia.it) joined #pypy. | 13:34 | |
| fijal | Rhy0lite: don't you have a feeling of wasted time btw>? | 13:34 |
| Rhy0lite | Call me Don Quixote | 13:35 |
| fijal | :] | 13:36 |
| ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) joined #pypy. | 13:36 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/730 [12Ctismer, win64-stage1] | 13:41 |
| rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Remote host closed the connection | 13:44 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 13:44 | |
| Rhy0lite | fijal: on the other hand, GCC now is a commercial-grade, standards-conformant compiler that underlies a lot of new tech businesses | 13:45 |
| stakkars | where is the mac osx 64bit buildbot? Is that not needed? | 13:45 |
| exarkun | Rhy0lite: As of today? | 13:46 |
| Rhy0lite | exarkun: meaning what? | 13:46 |
| exarkun | Rhy0lite: "... GCC _now_ is a..." | 13:46 |
| Rhy0lite | "has become", "has evolved", "has grown into" | 13:46 |
| Alex_Gaynor | fijal: pong | 13:47 |
| kenaan | 12bivab disable_merge_different_int_types 1178c6f8cf48ab 15/pypy/module/micronumpy/test/test_numarray.py: merge default | 13:49 |
| kenaan | 12bivab disable_merge_different_int_types 118cf681375aab 15/: (arigo, bivab) close branch | 13:49 |
| kenaan | 12bivab default 11e7aab5877bf5 15/pypy/: (arigo, bivab) merge disable_merge_different_int_types | 13:49 |
| arigato | stakkars: http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64 | 13:54 |
| witulski (~stupsi@134.99.16.23) joined #pypy. | 13:55 | |
| witulski (stupsi@134.99.16.23) left #pypy. | 13:55 | |
| berdario (~quassel@host118-77-dynamic.10-79-r.retail.telecomitalia.it) left irc: Remote host closed the connection | 13:56 | |
| Nick change: berdario_ -> berdario | 13:56 | |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) joined #pypy. | 13:57 | |
| Action: fijal ponders | 14:01 | |
| fijal | so what do I do | 14:01 |
| fijal | write a blog post and admit we're not as fast as we want to be? | 14:01 |
| Alex_Gaynor | fijal: on what? also, don't we produce wrong results now sometimes | 14:02 |
| fijal | or work some more? | 14:02 |
| Alex_Gaynor | since thigns don't have temporary | 14:02 |
| voidspace (~anonymous@ec2-79-125-28-98.eu-west-1.compute.amazonaws.com) joined #pypy. | 14:02 | |
| voidspace (~anonymous@ec2-79-125-28-98.eu-west-1.compute.amazonaws.com) left irc: Changing host | 14:02 | |
| voidspace (~anonymous@python/psf/voidspace) joined #pypy. | 14:02 | |
| berdario (~Tiibiidii@host118-77-dynamic.10-79-r.retail.telecomitalia.it) left irc: Quit: Ex-Chat | 14:02 | |
| berdario (~Tiibiidii@host118-77-dynamic.10-79-r.retail.telecomitalia.it) joined #pypy. | 14:02 | |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) joined #pypy. | 14:04 | |
| Nick change: Gulaway -> Gulopine | 14:04 | |
| Alex_Gaynor | fijal: why does test_zjit print loop-mem-token stuff, and can we silence it somehow? | 14:06 |
| CIA-13 | 03arigo 07roundup * 10#944/Magic method exceptions: (log message trimmed) | 14:08 |
| CIA-13 | [wontfix] No, Python is completely inconsistent. For example: | 14:08 |
| CIA-13 | <cpython> | 14:08 |
| CIA-13 | >>> (2).__add__(None) | 14:08 |
| CIA-13 | NotImplemented * 14https://bugs.pypy.org/issue944 | 14:08 |
| kenaan | 12alex_gaynor numpy-dtype-refactor 11fef6d4e76590 15/pypy/: Merged default in. | 14:08 |
| fijal (~fijal@197.173.7.237) got netsplit. | 14:10 | |
| maxyz (~maxy@186.23.74.228) got netsplit. | 14:10 | |
| setmeaway (~setmeaway@119.201.52.190) got netsplit. | 14:10 | |
| mitsuhiko (~mitsuhiko@ubuntu/member/mitsuhiko) got netsplit. | 14:10 | |
| alexsuraci (u1962@gateway/web/irccloud.com/x-cfagqeoabfaonenc) got netsplit. | 14:10 | |
| thoughtpolice (~thoughtpo@li111-206.members.linode.com) got netsplit. | 14:10 | |
| henning_ (~henning@unicorn.gnubo.de) got netsplit. | 14:10 | |
| berdario (~Tiibiidii@host118-77-dynamic.10-79-r.retail.telecomitalia.it) left irc: Quit: Ex-Chat | 14:10 | |
| stakkars | arigato: Ah, Jit only. Thanks | 14:10 |
| CIA-13 | 03arigo 07roundup * 10#944/Magic method exceptions: | 14:12 |
| CIA-13 | Ah, to answer your last comment more directly: "both should produce identical | 14:12 |
| CIA-13 | exceptions": no, that's not true, because the (simplified) definiti ... * 14https://bugs.pypy.org/issue944 | 14:12 |
| stakkars | The mac builder is offline :| | 14:13 |
| hruske (~Gasper@2001:15c0:66e9:14:e8f2:a7ff:fe78:4104) left irc: Ping timeout: 244 seconds | 14:14 | |
| arigato | stakkars: no, it is not | 14:15 |
| setmeaway (~setmeaway@119.201.52.190) returned to #pypy. | 14:15 | |
| fijal (~fijal@197.173.7.237) returned to #pypy. | 14:15 | |
| maxyz (~maxy@186.23.74.228) returned to #pypy. | 14:15 | |
| mitsuhiko (~mitsuhiko@ubuntu/member/mitsuhiko) returned to #pypy. | 14:15 | |
| alexsuraci (u1962@gateway/web/irccloud.com/x-cfagqeoabfaonenc) returned to #pypy. | 14:15 | |
| thoughtpolice (~thoughtpo@li111-206.members.linode.com) returned to #pypy. | 14:15 | |
| henning_ (~henning@unicorn.gnubo.de) returned to #pypy. | 14:15 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/730 [12Ctismer, win64-stage1] | 14:16 |
| kenaan | 12arigo default 119f57fcbd3b17 15/pypy/doc/cpython_differences.rst: issue944 wontfix Document this as an implementation detail. | 14:16 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1128 [12alex, numpy-dtype-refactor] | 14:16 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/601 [12alex, numpy-dtype-refactor] | 14:16 |
| arigato | fijal: should be publish the win32 build? we didn't get much feedback, but no-one said "it doesn't work" | 14:17 |
| fijal | yop | 14:17 |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 14:17 | |
| fijal | I think so | 14:17 |
| Action: arigato does | 14:17 | |
| stakkars | Sorry, yes I see, there are two | 14:17 |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) left irc: Client Quit | 14:17 | |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 14:17 | |
| witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy. | 14:17 | |
| Alex_Gaynor | fijal: feel like reviewing numpy-dtype-refactor? | 14:18 |
| fijal | Alex_Gaynor: I found an issue with our approach a bit | 14:19 |
| Alex_Gaynor | fijal: meaning? | 14:19 |
| fijal | I guess I can, I spent a day looking at laplace | 14:19 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/287 [12Christian Tismer, win64-stage1] | 14:19 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1128 [12alex, numpy-dtype-refactor] | 14:20 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/601 [12alex, numpy-dtype-refactor] | 14:20 |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Ping timeout: 255 seconds | 14:20 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/287 [12Christian Tismer, win64-stage1] | 14:20 |
| fijal | Alex_Gaynor: if you create an expression | 14:21 |
| fijal | like a + b | 14:21 |
| fijal | and then a * (a + b) | 14:21 |
| fijal | and then you modify a, you're going to create all expressions with a) in them | 14:21 |
| fijal | right? | 14:21 |
| fijal | this is where extra loops come from | 14:21 |
| Alex_Gaynor | I can think of a fix I think | 14:22 |
| fijal | like what? | 14:22 |
| Alex_Gaynor | fijal: in _invalidated try `for arr in self.invalidates[::-1]` | 14:22 |
| Alex_Gaynor | the issue is a * thing appears in the list after a + b | 14:22 |
| fijal | right, but you still compute a bit too much | 14:23 |
| fijal | anyway, you can write a program that does not have that problem | 14:23 |
| fijal | it's a bit harder though | 14:23 |
| Alex_Gaynor | fijal: yes, I'm not sure what the fix is | 14:23 |
| fijal | other then "I can write program better" | 14:24 |
| fijal | I don't think so | 14:24 |
| fijal | so anyway, I tried to make the C++ solution to measure roughly the same thing | 14:24 |
| fijal | and now it's much faster | 14:24 |
| fijal | like 2x | 14:24 |
| Alex_Gaynor | because of vectorization? | 14:24 |
| fijal | I think some data dependency | 14:24 |
| Alex_Gaynor | makes sense | 14:25 |
| fijal | and our sucky register allocator | 14:25 |
| Alex_Gaynor | did you look if GCC is vectorizing the loop? | 14:25 |
| fijal | yes, it's not | 14:25 |
| fijal | although it's cheating in other ways | 14:25 |
| fijal | like program is actually more complex | 14:26 |
| fijal | I know how to improve the situation a bit though by sharing iterators | 14:26 |
| fijal | so you'll have less guards | 14:26 |
| Nick change: gsnedder1 -> gsnedders | 14:26 | |
| fijal | and now the question is - do I want to write a blog post first or do I want to optimize first | 14:26 |
| Alex_Gaynor | how do we do comapred to numpy for the numerics version? | 14:27 |
| Alex_Gaynor | can you make a table for me? | 14:27 |
| fijal | on what? | 14:27 |
| Alex_Gaynor | the times for each version | 14:28 |
| fijal | because not sure if you noticed, the original benchmark computes different things for slow and for numeric | 14:28 |
| fijal | that *does* make a difference | 14:28 |
| Alex_Gaynor | yes, but aren't we broken for numeric version now? | 14:28 |
| fijal | no | 14:28 |
| Alex_Gaynor | how so? don't we give wrong result since we don't copy and there are no temporaries | 14:28 |
| fijal | I can make a table but there would be quite a few too many dimensions :) | 14:28 |
| fijal | there are no temporaries, true | 14:28 |
| fijal | but we invalidate | 14:29 |
| fijal | so it works by chance | 14:29 |
| fijal | I commited a test | 14:29 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/728 [12Christian Tismer, win64-stage1] | 14:29 |
| Alex_Gaynor | oh. PFFF, I think I understand now | 14:29 |
| fijal | u[:] = <expr> | 14:29 |
| Alex_Gaynor | we start to copy slice directly | 14:29 |
| fijal | would start with invalidating <expr> | 14:29 |
| Alex_Gaynor | then on first element we invalidate | 14:29 |
| Alex_Gaynor | then we compute the RHS | 14:29 |
| fijal | yes | 14:29 |
| fijal | it's not on first element to be precise | 14:29 |
| fijal | it's before you start the sliceloop | 14:30 |
| Alex_Gaynor | pff, no wonder we compute like 7 arrays there | 14:30 |
| Alex_Gaynor | no wonder we're slower | 14:30 |
| fijal | I got it 2x faster by reordering stuff a bit | 14:30 |
| Alex_Gaynor | can we fix it in our impl? | 14:30 |
| fijal | slightly less so | 14:30 |
| fijal | no, not really | 14:30 |
| Alex_Gaynor | I tihnk we can, if we're clever, maybe | 14:31 |
| fijal | not the way it's written | 14:31 |
| fijal | but I think there is value in comparing various ways it is written | 14:31 |
| fijal | btw | 14:31 |
| fijal | can you make a[:] = b and a[:,:] = b | 14:31 |
| fijal | fast? | 14:31 |
| fijal | fast as in just use memcopy? | 14:31 |
| fijal | Alex_Gaynor: I learned a lot today and didn't even review mattip's branch :) | 14:32 |
| Alex_Gaynor | fijal: probably | 14:32 |
| fijal | local lug is trying to lure me with free pizza and beer though | 14:33 |
| Alex_Gaynor | I can see how that'd work | 14:33 |
| fijal | arigato: can you post info on the blog and fix download.rst? | 14:33 |
| fijal | or should I do it? | 14:33 |
| fijal | Alex_Gaynor: sharing iterators would be cool as well | 14:33 |
| fijal | so what you do is: | 14:33 |
| fijal | b = a + a | 14:33 |
| arigato | fijal: yes | 14:33 |
| arigato | I can do it | 14:33 |
| Alex_Gaynor | yes | 14:33 |
| fijal | arigato: cool | 14:34 |
| fijal | Alex_Gaynor: you create just one for a and a | 14:34 |
| Alex_Gaynor | right | 14:34 |
| Alex_Gaynor | you need to make sure the loop is specialized correct thoughy | 14:34 |
| fijal | anyway, the question is now do we want a blog post before iterators or after? | 14:34 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1129 [12alex, numpy-dtype-refactor] | 14:34 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/602 [12alex, numpy-dtype-refactor] | 14:34 |
| fijal | no | 14:34 |
| fijal | because iterators only depend on shape | 14:34 |
| fijal | and whether it's a view or array | 14:35 |
| fijal | so specialization is correct | 14:35 |
| Alex_Gaynor | right, but you need to keep track of you have one counter vs. 2 | 14:35 |
| fijal | and broadcasting | 14:35 |
| fijal | it's really just views vs arrays vs broadcast | 14:35 |
| fijal | we already specialize on that | 14:35 |
| Alex_Gaynor | true | 14:35 |
| fijal | I probably want better signatures though | 14:36 |
| Alex_Gaynor | yes | 14:36 |
| fijal | Alex_Gaynor: can you have a look and tell me if signature is correct on sliceloop or should I add a fact it's a sliceloop? | 14:36 |
| fijal | I think I have to | 14:36 |
| Alex_Gaynor | fijal: it's finem because it has it's own jitdriver | 14:37 |
| fijal | ok | 14:37 |
| fijal | Alex_Gaynor: from today it's completely clear to me we lack debugging tools | 14:37 |
| Alex_Gaynor | let's build some | 14:37 |
| fijal | yes | 14:37 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1129 [12alex, numpy-dtype-refactor] | 14:37 |
| fijal | but already laplace makes it impossible to track | 14:37 |
| fijal | I still don't know where one loop comes from | 14:37 |
| fijal | at least not entirely | 14:37 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/602 [12alex, numpy-dtype-refactor] | 14:38 |
| fijal | Alex_Gaynor: I fail the review ;-) | 14:38 |
| fijal | Alex_Gaynor: feel like reviewing mattip's branch about reshape btw? | 14:38 |
| kenaan | 12arigo generator-in-rpython 11026ff0f93709 15/pypy/translator/test/test_generator.py: A first version of the test. | 14:38 |
| stakkars | fijal: Is that doable with an extra logging option? | 14:39 |
| Alex_Gaynor | fijal: not especially, strides stuff confuses me :/ | 14:39 |
| fijal | stakkars: what is possible? | 14:39 |
| fijal | Alex_Gaynor: maybe you should learn ;-) | 14:39 |
| fijal | Alex_Gaynor: ah, armin complained test_numarray fails on top of python2.5 | 14:40 |
| fijal | obscurely so | 14:40 |
| Nick change: Gulopine -> Gulaway | 14:40 | |
| Alex_Gaynor | :/ | 14:40 |
| fijal | also, can we close the bug report about ** not working? | 14:40 |
| mat^2 (~mathias@212.130.113.35) joined #pypy. | 14:40 | |
| Alex_Gaynor | fijal: yes, please | 14:40 |
| stakkars | about the lack of debugging toos. I'm wordering how to do what alex is missing | 14:41 |
| tav (~tav@host-2-96-35-150.as13285.net) left irc: Quit: Hakuna Matata | 14:41 | |
| amaury__ (~amaury_@74.125.57.34) joined #pypy. | 14:41 | |
| fijal | stakkars: yes, but it has to be done somehow | 14:41 |
| CIA-13 | 03fijal 07roundup * 10#943/pypy 1.7 the pow operation of numpypy's array is not correct: [resolved] Closing * 14https://bugs.pypy.org/issue943 | 14:41 |
| tav (~tav@host-2-96-35-150.as13285.net) joined #pypy. | 14:42 | |
| cfbolz | fijal: what's the reason why jit.isconstant is using specialize.ll instead of specialize.arg? | 14:43 |
| voidspace (~anonymous@python/psf/voidspace) left irc: Quit: voidspace | 14:44 | |
| fijal | cfbolz: I'm sure there is a long-lost reason :) | 14:45 |
| fijal | different pointer types probably | 14:45 |
| Alex_Gaynor | Yes, it is different pointer types, IIRC. | 14:46 |
| cfbolz | what does that mean? | 14:47 |
| cfbolz | because now it does not work with different classes | 14:47 |
| Alex_Gaynor | actually, when would pointers be passed to isconstant | 14:47 |
| Alex_Gaynor | that's isvirtual, nvm. | 14:47 |
| Alex_Gaynor | I have no idea :) | 14:47 |
| fijal | cfbolz: no clue | 14:48 |
| Alex_Gaynor | cfbolz: different classe sdon't have different lltypes? | 14:48 |
| Action: fijal ponders for a bit | 14:48 | |
| fijal | where is it used? | 14:48 |
| cfbolz | Alex_Gaynor: not at the point where ll specialization is done | 14:48 |
| Alex_Gaynor | :/ | 14:50 |
| Alex_Gaynor | I suppose if changing it to argtype() and the tests still pass, it's fine | 14:50 |
| arigato | how do I update a git repo to a given revision? | 14:51 |
| cfbolz | arigato: you ask david :-( | 14:51 |
| arigato | reverting all local changes? | 14:51 |
| JaRoel (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 14:52 | |
| cfbolz | arigato: git checkout | 14:52 |
| kenaan | 12alex_gaynor numpy-dtype-refactor 11192b326cb379 15/pypy/module/micronumpy/interp_boxes.py: fix translation | 14:52 |
| jey (~jey@c-24-7-65-31.hsd1.ca.comcast.net) joined #pypy. | 14:52 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 14:53 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy. | 14:54 | |
| kenaan | 12alex_gaynor numpy-dtype-refactor 11fc7d508c2176 15/pypy/module/micronumpy/interp_dtype.py: translation fix | 14:55 |
| Alex_Gaynor | arigato: git checkout <revision> | 14:55 |
| fijal | pom pom pom | 14:55 |
| CIA-13 | 03arigo 07roundup * 10#907/Stacklets running out of memory on higher optimisation levels: | 14:56 |
| CIA-13 | c56aac83ffe37ace4ef18aa99a3ee98a5d59ef5b is not RPython ("cannot use id() in | 14:56 |
| CIA-13 | RPython"). * 14https://bugs.pypy.org/issue907 | 14:56 |
| arigato | Alex_Gaynor: thanks, I got the answer "git reset --hard" | 14:56 |
| Alex_Gaynor | that removes all local changes | 14:56 |
| arigato | which is what I asked for a few lines above | 14:56 |
| arigato | the "git checkout" part I already got | 14:57 |
| Alex_Gaynor | ah | 14:57 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1130 [12alex, numpy-dtype-refactor] | 14:58 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/603 [12alex, numpy-dtype-refactor] | 14:58 |
| fijal | Alex_Gaynor: anyway, iterator sharing would get rid of extra int_adds in test_zjit | 14:58 |
| Alex_Gaynor | fijal: yes, jit needs to know they're the same instance | 14:58 |
| fijal | arigato: how do I check these days when I have a loop and a bridge | 14:59 |
| fijal | but I don't care about preamble? | 14:59 |
| CIA-13 | 03ltratt 07roundup * 10#907/Stacklets running out of memory on higher optimisation levels: | 15:00 |
| CIA-13 | Yes, I noticed this was being enforced in RPython a few days back and fixed it here: | 15:00 |
| CIA-13 | https://github.com/ltratt/converge/commit/6c53d0173932b9 ... * 14https://bugs.pypy.org/issue907 | 15:00 |
| kenaan | 12arigo pypy.org[extradoc] 1162f26ca8eb05 15/: Link win32. | 15:00 |
| arigato | fijal: done, can you update http://pypy.org/ ? | 15:00 |
| fijal | yop | 15:00 |
| fijal | arigato: will you post it on the blog? | 15:00 |
| arigato | fijal: yes. should I make a new tiny post? | 15:01 |
| fijal | yes, please | 15:01 |
| arigato | fijal: loop and bridge but don't care about preamble: it's difficult anyway. does the bridge go back to the loop or to the preamble? | 15:01 |
| fijal | to the loop | 15:01 |
| arigato | I see | 15:01 |
| arigato | well, a bit no clue right now, but we can come up with something | 15:02 |
| fijal | ok, good | 15:02 |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 15:02 | |
| fijal | arigato: btw, there was a link for MS libraries next to win32 build | 15:02 |
| fijal | feel like fishing it from the history? | 15:02 |
| fijal | and putting it back? | 15:02 |
| fijal | I can do it as well | 15:02 |
| arigato | ah, no, the MS library is included in the zip nowadays | 15:02 |
| fijal | is it? | 15:03 |
| fijal | ok | 15:03 |
| arigato | (we checked, and it seems to be legally fine) | 15:03 |
| fijal | cool | 15:05 |
| fijal | well, congratulations on finishing the release I would say :) | 15:05 |
| arigato | :-) | 15:09 |
| fijal | good | 15:09 |
| arigato | thanks stakkars for the just-in-time fixing on _continuation | 15:09 |
| voidspace (~voidspace@python/psf/voidspace) joined #pypy. | 15:09 | |
| jey | is there any tool that will analyze a python program and only try to compile the parts that are used? e.g. if I have foo.py that uses a few things from megapackage that should in theory work under pypy, it'll parse the whole package but only try to resolve/compiler the parts that are actually needed by foo.py? | 15:13 |
| fijal | jey: what are you trying to achieve? | 15:13 |
| jey | run foo.py under pypy | 15:13 |
| fijal | pypy foo.py | 15:14 |
| fijal | what's wrong with that? | 15:14 |
| jey | I said it above. megapackage doesn't work under pypy. | 15:15 |
| fijal | why? | 15:15 |
| jey | pymc depends on scipy and numpy, but I only want to use a few things from pymc | 15:16 |
| jey | (things that should be straightforward to port to pypy even if they don't work immediately) | 15:16 |
| fijal | then either edit it | 15:16 |
| fijal | or put some dummy stuff in sys.modules | 15:16 |
| fijal | so you don't have to worry | 15:16 |
| whitelynx (~whitelynx@63.241.75.144) joined #pypy. | 15:17 | |
| jey | I'll take that as "no" | 15:17 |
| fijal | you mean if pypy comes with stuff that parses other packages? | 15:18 |
| fijal | no | 15:18 |
| fijal | why?/how would it work? | 15:18 |
| jey | no, I was asking whether it exists anywhere | 15:18 |
| fijal | it's impossible to know until you run it | 15:18 |
| stakkars | arigato: it happened to be what I was missing, acually for building too | 15:18 |
| jey | er, the point is that "from numpy import ndarray" doesn't need to compile if no ndarray is ever referenced by the actual codepaths that end up running | 15:19 |
| jey | as for how? looks like it'd be straightforward using ast and related modules | 15:19 |
| fijal | pypy is not a compiler it is an interpreter | 15:19 |
| Alex_Gaynor | python doesn' thav ea compilation step in this sense | 15:19 |
| fijal | besides, how do you know where numpy is? | 15:19 |
| fijal | and what does it contain? | 15:20 |
| kkris (~kris@80-123-34-55.adsl.highway.telekom.at) joined #pypy. | 15:20 | |
| jey | constructs like getattr(numpy, sys.argv[1]) would certainly have problems with this, yes | 15:20 |
| Alex_Gaynor | you can't even statically analyze `import numpy`, someone could create numpy.py, add a new import hook, or who knows what else before your module is executed. | 15:21 |
| jey | yeah, I'm only thinking about statically analyzing __main__, but yes, the more dynamic features would be screwed by this | 15:22 |
| fijal | jey: it's in general impossible | 15:23 |
| fijal | and we don't try | 15:23 |
| fijal | however, it's relatively easy to edit/adjust your env | 15:23 |
| craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) left irc: Quit: craigkerstiens | 15:24 | |
| exarkun | There are lazy import packages that maybe would accomplish the goal in sort of the way jey imagined? | 15:25 |
| jey | ok, I'll just work on hacking up pymc to see whether the parts I use can be made to run under pypy | 15:26 |
| exarkun | I don't know if any of them would succeed in making 'from numpy import ndarray' lazy though. | 15:26 |
| exarkun | pypy transparent proxies could be used to do that though | 15:26 |
| kenaan | 12bivab arm-backend-2 11d61888e925b8 15/pypy/jit/backend/arm/: refactor check_imm_arg | 15:27 |
| kenaan | 12bivab arm-backend-2 118c7b2724a29f 15/: merge default | 15:27 |
| kenaan | 12bivab arm-backend-2 11cbf05f6c40ef 15/pypy/: merge disable_merge_different_int_types | 15:27 |
| kenaan | 12bivab arm-backend-2 11cf2af9ba668b 15/pypy/jit/backend/arm/assembler.py: translation fix | 15:27 |
| espes (espes@2001:470:1f05:ca1::) left irc: Ping timeout: 244 seconds | 15:31 | |
| ronan_ (~ronan@host86-142-249-87.range86-142.btcentralplus.com) joined #pypy. | 15:38 | |
| mjacob (~foobar@p57A8A38E.dip.t-dialin.net) joined #pypy. | 15:38 | |
| bivab (~david@fwstups.cs.uni-duesseldorf.de) left irc: Quit: bivab | 15:39 | |
| stakkars__ (~tismer@p5DDB7E68.dip.t-dialin.net) joined #pypy. | 15:41 | |
| arigato | pff | 15:44 |
| arigato | cfbolz: the refcounting version of Converse also leaks | 15:44 |
| arigato | Converge | 15:44 |
| jey | is the module pypy.module.micronumpy.compile only for supporting micronumpy's tests? | 15:44 |
| fijal | jey: yes | 15:44 |
| jey | ok :) | 15:44 |
| mvt (~mvantelli@87.213.45.85) joined #pypy. | 15:45 | |
| mjacob (~foobar@p57A8A38E.dip.t-dialin.net) left irc: Quit: leaving | 15:50 | |
| jacob22_ (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) left irc: Remote host closed the connection | 15:50 | |
| CIA-13 | 03arigo 07roundup * 10#907/Stacklets running out of memory on higher optimisation levels: | 15:51 |
| CIA-13 | Hum... it seems that "./main-c t" leaks, independently on whether I use -O1 or | 15:51 |
| CIA-13 | -O2. I even tried using explicitly "-O1 --gc=ref"... If it doesn ... * 14https://bugs.pypy.org/issue907 | 15:51 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/728 [12Christian Tismer, win64-stage1] | 15:51 |
| jacob22_ (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) joined #pypy. | 15:51 | |
| stakkars_ (~tismer@p5DDB7E68.dip.t-dialin.net) left irc: Quit: schnarch | 15:52 | |
| CIA-13 | 03ltratt 07roundup * 10#907/Stacklets running out of memory on higher optimisation levels: | 15:55 |
| CIA-13 | I'm just going to see what happens on a Mac (could take a little while). It used | 15:55 |
| CIA-13 | to have the same behaviour as OpenBSD - I don't know if somethin ... * 14https://bugs.pypy.org/issue907 | 15:55 |
| mvt (~mvantelli@87.213.45.85) left irc: Quit: Leaving | 15:59 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1130 [12alex, numpy-dtype-refactor] | 16:00 |
| CIA-13 | 03ltratt 07roundup * 10#907/Stacklets running out of memory on higher optimisation levels: | 16:01 |
| CIA-13 | Yes, you're right - it's leaking under both OS X and OpenBSD now on --opt=1. I'm | 16:01 |
| CIA-13 | fairly sure this didn't happen when I filed the original report, ... * 14https://bugs.pypy.org/issue907 | 16:01 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/603 [12alex, numpy-dtype-refactor] | 16:01 |
| ltratt | arigato: hi | 16:04 |
| kenaan | 12alex_gaynor numpy-dtype-refactor 11b443d8b4f544 15/pypy/module/micronumpy/: fix tests for 32-bit | 16:04 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1131 [12alex, numpy-dtype-refactor] | 16:05 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/604 [12alex, numpy-dtype-refactor] | 16:05 |
| fijal (~fijal@197.173.7.237) left irc: Read error: Connection reset by peer | 16:05 | |
| santagada (~leonardo@201.86.242.84.dynamic.adsl.gvt.net.br) joined #pypy. | 16:06 | |
| arigato | ltratt: hi | 16:12 |
| arigato | so with an older revision of pypy, the same converge code would not leak on O1?... | 16:13 |
| djc | is it useful to add to the compat wiki page that paramiko is incompatible because it depends on pycrypto? | 16:14 |
| ltratt | that's certainly my recollection from when i filed the bug. if i could remember how to get mercurial to revert back to that time, and then to revert back to now, we could test it out. | 16:14 |
| djc | ltratt: hg update -d 2009-10-01 | 16:15 |
| arigato | hg up REVISION | 16:15 |
| ltratt | and how do i get back to tip (that's the bit I screwed up last time I tried this) | 16:15 |
| stakkars_ (~tismer@89.204.137.126) joined #pypy. | 16:15 | |
| kushal (~kdas@114.143.163.137) joined #pypy. | 16:16 | |
| kushal (~kdas@114.143.163.137) left irc: Changing host | 16:16 | |
| kushal (~kdas@fedora/kushal) joined #pypy. | 16:16 | |
| djc | ltratt: hg up tip | 16:16 |
| djc | :) | 16:16 |
| ltratt | djc: thanks :) | 16:16 |
| arigato | or just "hg up" | 16:17 |
| arigato | "hg up tip" is dangerous in case of branches, like in pypy | 16:18 |
| Guest19008 (~John@osbk-4db06545.pool.mediaWays.net) left irc: Read error: Connection reset by peer | 16:18 | |
| Guest19008 (~John@osbk-4db06545.pool.mediaWays.net) joined #pypy. | 16:19 | |
| arigato | ltratt: I tried a revision from 2011-10-13, and a revision from 2011-09-01, same results | 16:19 |
| ltratt | arigato: ah, I think "hg up tip" is what got me into trouble a few days back with pypy | 16:19 |
| djc | arigato: ah, good point | 16:19 |
| arigato | yes, I fear that it will happily jump to wherever the latest checkin was made, i.e. randomly | 16:19 |
| bfirsh (u1308@gateway/web/irccloud.com/x-aolnwmqvnslzbylh) left irc: Ping timeout: 244 seconds | 16:20 | |
| alexsuraci (u1962@gateway/web/irccloud.com/x-cfagqeoabfaonenc) left irc: Ping timeout: 252 seconds | 16:21 | |
| oal (u4126@gateway/web/irccloud.com/x-fsncshbnkbhqkqwv) left irc: Ping timeout: 260 seconds | 16:21 | |
| ltratt | arigato: ok, i randomly picked adab424acda7 to go back to, and the behaviour is as i recollect. | 16:21 |
| hongminhee (u295@gateway/web/irccloud.com/x-yjbksohoiaaxupub) left irc: Ping timeout: 248 seconds | 16:22 | |
| ltratt | memory use stays static (about 2.5MB on my OpenBSD machine) | 16:22 |
| ltratt | on --opt=1 | 16:22 |
| bfirsh (u1308@gateway/web/irccloud.com/x-qtkohnasvlvztsbc) joined #pypy. | 16:22 | |
| djc | arigato: correct | 16:23 |
| ltratt | on --opt=2, i get the "ShadowStackPool_save_current_state_away" error almost immediately (well under a second) | 16:23 |
| djc | arigato: you generally want hg up default in that case | 16:23 |
| djc | (if 'default' is the main branch pypy uses) | 16:23 |
| arigato | ltratt: ok, it seems that the problem is that it's indeed using Boehm | 16:24 |
| arigato | which is disabled with --continuation because of some problems | 16:24 |
| arigato | but the disabling didn't work in this case | 16:25 |
| ltratt | aha, ok. | 16:25 |
| ltratt | so, if i understand correctly, with --opt=1, it used to sort-of work by accident with boehm; now boehm is turned off, even --opt=1 dies. | 16:26 |
| arigato | yes | 16:26 |
| ltratt | so does that point the finger at the other gcs or...? | 16:27 |
| arigato | it's hard to know for sure, but one possible cause is that there is really a leak in the Converge source | 16:28 |
| arigato | but with Boehm, it's forgetting to trace the pointer | 16:28 |
| arigato | because of the Boehm issue | 16:28 |
| ltratt | that would be an entertaining coincidence :) | 16:28 |
| arigato | yes :-/ | 16:28 |
| arigato | well, you should run it untranslated with the same program "t" | 16:29 |
| arigato | and wait to see if a leak develops | 16:29 |
| arigato | (slowly) | 16:29 |
| ltratt | if I use pypy-c, it core dumps | 16:30 |
| arigato | :-( | 16:30 |
| alexsuraci (u1962@gateway/web/irccloud.com/x-zhvrmcyeuhqupuow) joined #pypy. | 16:30 | |
| arigato | well, even on python it gets a "Bus error" after printing a traceback :-/ | 16:31 |
| ltratt | that's the maximum recursion depth being hit, right? | 16:31 |
| arigato | yes | 16:31 |
| ltratt | yes, i have no idea why that triggers a bus error | 16:32 |
| arigato | I take it you never try to run your code untranslated? | 16:32 |
| ltratt | i do on occasion (to check for asserts etc.), but since it's been broken under pypy-c for so long, and running using CPython is cripplingly slow, I do so rarely. | 16:32 |
| arigato | and there are no tests... | 16:33 |
| arigato | all in all, that's really bad, and prevents us from finding this kind of bug | 16:33 |
| ltratt | i am not as big a fan of TDD as pypy, sorry | 16:33 |
| cfbolz | ltratt: armin's point is more that somehow pypy's approach only works welll when you have tests | 16:34 |
| ltratt | well, the bug appears to relate to stacklets and switching; if there are no stacklet calls involved, no memory explosion; if stacklets are used, memory blows up | 16:34 |
| arigato | ltratt: yes, but that's not enough to understand where the bug is, and because no test fails, we don't know | 16:35 |
| ltratt | when you say no test fails, do you mean no pypy test fails? | 16:35 |
| ltratt | or Converge VM test? | 16:35 |
| arigato | no, no converge test -- because there are none | 16:35 |
| arigato | but also all tests of pypy work | 16:35 |
| exarkun | Minimal examples are extremely powerful, even if you don't want to write a unittest or py.test style test method. http://sscce.org/ | 16:36 |
| arigato | I'm not saying that TDD is the ultimate solution, and I've also spent a lot of time in gdb | 16:36 |
| arigato | but it helps locate the problem, and in a lot of cases it makes it unnecessary to resort to gdb | 16:37 |
| arigato | (obviously not all) | 16:37 |
| ltratt | if i knew how to make a smaller test of this bug, clearly i would ;) | 16:37 |
| exarkun | ltratt: Start deleting things from your code base | 16:37 |
| exarkun | If you delete something and the problem goes away, put it back and delete something else | 16:37 |
| cfbolz | exarkun: a bit hard to do that with a vm | 16:38 |
| exarkun | cfbolz: Why? | 16:38 |
| cfbolz | exarkun: anytime you delete a bytecode, nothing works | 16:39 |
| ltratt | cfbolz has hit the nail on the head ;) | 16:39 |
| exarkun | cfbolz: Not "nothing" | 16:39 |
| arigato | cfbolz: well, you can try to delete the whole interpreter main loop by replacing it with an RPython version of the code, calling in the equivalent of the objspace, for example | 16:39 |
| craigkerstiens (~craigkers@204.14.152.118) joined #pypy. | 16:39 | |
| kushal (~kdas@fedora/kushal) left irc: Quit: This computer has gone to sleep | 16:40 | |
| k_bx (~k_bx@195.20.130.1) left irc: Ping timeout: 244 seconds | 16:40 | |
| ltratt | arigato: that suggestion has gone straight over my head. what would it involve? | 16:40 |
| exarkun | Or you can delete the part of the language that requires that byte code, and then delete the part of the compiler that emits it, and then delete the part of the vm that supports the bytecode. | 16:40 |
| exarkun | Or just come up with a test program to run that doesn't need that bytecode | 16:41 |
| k_bx (~k_bx@195.20.130.1) joined #pypy. | 16:41 | |
| exarkun | If you're looking for a bug in a vm, then maybe you have two things to minimize: your program, and the program your program runs ;) | 16:41 |
| ltratt | Gents, we might be overthinking this. There is a test case (albeit a big one, as is sometimes the case in life). And we have a plausible suspect: stacklet switching and GCs. | 16:41 |
| cfbolz | ltratt: you could try to write an rpython program that mirrors the switching pattern of your program | 16:42 |
| espes (espes@2001:470:1f05:ca1::) joined #pypy. | 16:42 | |
| arigato | ltratt: the issue I have is that this suspect is not plausible because pypy itself works | 16:42 |
| exarkun | ltratt: I'm not actually thinking. I'm just reciting what I know about debugging complex systems. :) | 16:42 |
| arigato | ltratt: that's why I'm not ready to invest two days of gdb'ing debugging this | 16:42 |
| arigato | because it might well end up being in the source of Converge, or some RPythonism of the source | 16:42 |
| ltratt | cfbolz: the tests in pypy already seem to exercise the switching behaviour, so it may be some larger combination that's causing this. | 16:43 |
| bogner (~bogner@2600:3c03::f03c:91ff:fedf:7ef4) left irc: Ping timeout: 240 seconds | 16:43 | |
| arigato | ltratt: then you can try to mirror exactly the combination caused by "t" | 16:43 |
| arigato | e.g. write a test that emits the same pattern of calls to switch() and creation of stacklets | 16:44 |
| ltratt | arigato: sorry, i meant the combination of memory allocations etc. around the switching | 16:44 |
| arigato | I would still start by writing such a test | 16:45 |
| arigato | and then if it doesn't leak, you add some random memory allocations (exactly which ones should not have a real effect) | 16:45 |
| arigato | (apart from: allocate classes with a __del__ if the converge vm does too) | 16:45 |
| bogner (~bogner@2600:3c03::f03c:91ff:fedf:7ef4) joined #pypy. | 16:47 | |
| arigato | (no __del__, good) | 16:47 |
| asmeurer__ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy. | 16:47 | |
| k_bx (~k_bx@195.20.130.1) left irc: Remote host closed the connection | 16:47 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 16:48 | |
| ltratt | I might be missing something, but if boehm works correctly, isn't a likely suspect that the other gcs are missing freeing a particular pointer? | 16:48 |
| ltratt | i agree that it is possible that boehm is interacting with a bug in my VM in a pleasing way, but it seems a reasonably slim possibility | 16:48 |
| arigato | ltratt: yes, from your point of view, but from the point of view of "pypy works", then no | 16:48 |
| arigato | "no" as in "not likely", of course I don't mean "absolutely no" | 16:49 |
| oal (u4126@gateway/web/irccloud.com/x-ghfhfuacftycsyew) joined #pypy. | 16:49 | |
| arigato | the "_continuation" module is not extremely well tested | 16:50 |
| Action: cfbolz has to leave | 16:50 | |
| cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) left irc: Quit: Leaving | 16:50 | |
| arigato | so another way to attack the problem for you would be to find some Python code using _continuation (or the greenlet module of pypy) that leaks | 16:50 |
| arigato | that's what I tried naively, but it doesn't leak | 16:51 |
| arigato | of course I didn't try copying exactly the pattern of switches done in "t" | 16:51 |
| arigato | so maybe it would work too | 16:51 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 16:52 | |
| G2P (~G2P@fw-asn1.ornis.com) left irc: Quit: Leaving. | 16:52 | |
| ltratt | if we work (briefly) on the assumption that some memory to do with stacklets is not being freed when using non-boehm, is there a reasonable point in the stacklet module / GC / somewhere that a print statement can be put in to see if all that memory is being freed? | 16:53 |
| arigato | yes, you can try in the C source: pypy/translator/c/src/stacklet/stacklet.c | 16:54 |
| arigato | there are 2 or 3 mallocs() and the same number of free() | 16:54 |
| arigato | that's not the only mallocs and frees that occur, of course, but it would be a start | 16:54 |
| ltratt | i can see 2 mallocs and 3 frees | 16:55 |
| arigato | indeed, there are two possible free() depending on how you destroy the stacklet | 16:56 |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Remote host closed the connection | 16:57 | |
| ltratt | ok, let me see what i can find out from that | 16:57 |
| arigato | ah, stacklet_destroy() causes leaks with --gc=ref, of course | 17:00 |
| arigato | but well, "ref" is a 2nd-class citizen right now | 17:00 |
| ltratt | if i use --opt>=2, ref isn't used, IIRC? | 17:02 |
| arigato | indeed | 17:02 |
| kushal (~kdas@114.143.163.110) joined #pypy. | 17:02 | |
| kushal (~kdas@114.143.163.110) left irc: Changing host | 17:02 | |
| kushal (~kdas@fedora/kushal) joined #pypy. | 17:02 | |
| arigato | hum, I wonder | 17:02 |
| arigato | about destroy() | 17:02 |
| arigato | ah no, you already told me that you are sure that all created stacklets end up in a switch() or a destroy() | 17:03 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1131 [12alex, numpy-dtype-refactor] | 17:03 |
| arigato | right? | 17:03 |
| lucian | arigato: btw, i just read the docs on continulets. the composability is awesome | 17:04 |
| arigato | lucian: :-) | 17:05 |
| aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection | 17:05 | |
| amaury__ (~amaury_@74.125.57.34) left irc: Ping timeout: 248 seconds | 17:05 | |
| ltratt | arigato: well, i think they do :) | 17:05 |
| apanda (~apanda@c-24-7-101-62.hsd1.ca.comcast.net) left irc: Remote host closed the connection | 17:05 | |
| ltratt | lucian: yes, stacklets / continulets are very cool. | 17:05 |
| ltratt | arigato: some simple print statements in VM.py can confirm / contradict that. | 17:05 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/604 [12alex, numpy-dtype-refactor] | 17:07 |
| setmeaway | i'm building pypy on mingw32, http://pastebin.com/z7HPE9j8 why it complains "Merging %s and a possibly negative int is not allowed"? | 17:10 |
| ltratt | arigato: let me check something with you. | 17:10 |
| ltratt | we'd expect to see stacklet sequences like: new, switch, switch, switch, ..., switch, destroy | 17:10 |
| arigato | setmeaway: uh. | 17:10 |
| arigato | we just merged a branch that works on Linux, but indeed didn't check windows | 17:11 |
| santagada | stakkars: are you planning on working on stackless in pypy now? That would be awesome | 17:11 |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Quit: Leaving | 17:11 | |
| arigato | setmeaway: to work right now, you need "hg up ec72fff50853" | 17:12 |
| arigato | we would have seen the problem tomorrow, but thanks you for reporting it today :-) | 17:13 |
| setmeaway | arigato is it okay to use source on github? | 17:13 |
| arigato | setmeaway: I don't know how old that is | 17:13 |
| arigato | ltratt: yes, stacklet_switch consumes one stacklet and (usually) creates a new one | 17:14 |
| stakkars | santagada: of course, after I get win64 ready. Which is still a bit away... | 17:15 |
| ltratt | ok, so if that's the correct sequence, then that's what the Converge VM does. i just put print statements before stacklet.new, switch, and destroy to verify | 17:15 |
| stakkars | waaay too many wrong cases, still | 17:15 |
| ltratt | [at least, I think so: I'd love it if you'd verify that this is correct too, as then we can remove that as a possible source of cock-up!] | 17:16 |
| lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) left irc: Ping timeout: 248 seconds | 17:16 | |
| kushal (~kdas@fedora/kushal) left irc: Quit: This computer has gone to sleep | 17:17 | |
| Action: arigato retranslates converge... | 17:25 | |
| durin42 (~durin@adium/durin42) left irc: Ping timeout: 240 seconds | 17:25 | |
| durin42 (~durin@adium/durin42) joined #pypy. | 17:26 | |
| arigato | indeed, all stacklets are correctly free'd | 17:27 |
| ltratt | thanks for doing that - it's one more thing we can rule out | 17:28 |
| ltratt | does it give us any more plausible suspects though? :) | 17:29 |
| arigato | hard... | 17:29 |
| ltratt | yep, it's had me confused for some time now | 17:31 |
| stakkars_ | weird issue: translator/c/test/test_typed.py | 17:33 |
| stakkars_ | I always get compile errors on the buildbot, regardless which OS I use. | 17:34 |
| kilon (~kilon@athedsl-189646.home.otenet.gr) joined #pypy. | 17:34 | |
| stakkars_ | when I try to track that down, it just works when testing locally. | 17:34 |
| Action: arigato inspects more | 17:34 | |
| stakkars_ | the definition of "Signed" and "Unsigned" is missing in C. | 17:34 |
| stakkars_ | so I guess something is different enough on BuildBot to cause this differene. But what&. :-( | 17:36 |
| arigato | ah, ShadowStackPool.save_current_state_away() causes mallocs that are never freed | 17:37 |
| arigato | progress | 17:37 |
| ltratt | :) | 17:37 |
| stakkars_ | whow :-) | 17:37 |
| arigato | _prepare_unused_stack() more precisely | 17:38 |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy. | 17:41 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-win-x86-64/builds/72 [12ctismer, win64-stage1] | 17:44 |
| kilon (kilon@athedsl-189646.home.otenet.gr) left #pypy ("everything is moving"). | 17:46 | |
| jnoller (~jnoller@vpn.nasuni.com) left irc: Quit: Leaving... | 17:48 | |
| arigato | bah, forget_current_state() is never called?? | 17:48 |
| ltratt | i'm trying to work that out too... | 17:49 |
| arigato | baaaaaaaah sorry | 17:50 |
| arigato | ok, sorry. what occurs is that the bug is in pypy/rlib/_stacklet_shadowstack.py | 17:50 |
| arigato | the shadowstack is used by default when translating with -O2 | 17:50 |
| arigato | but on linux, when translating with -Ojit we get asmgcc instead, which uses _stacklet_asmgcc.py | 17:51 |
| arigato | so that's why my tests on a compiled pypy found no problem | 17:51 |
| ltratt | aha! | 17:51 |
| ltratt | does a fix then suggest itself? | 17:52 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-win-x86-64/builds/72 [12ctismer, win64-stage1] | 17:52 |
| arigato | yes | 17:53 |
| hruske (~Gasper@89.143.223.18) joined #pypy. | 17:53 | |
| kenaan | 12arigo default 11ca55b862ead9 15/pypy/rpython/memory/gctransform/shadowstack.py: Fix (probably; tests coming). | 17:55 |
| ltratt (~ltratt@87.114.197.234) left irc: Read error: No route to host | 17:56 | |
| ltratt (~ltratt@87.114.197.234) joined #pypy. | 17:57 | |
| arigato | ltratt: can you try? | 17:57 |
| ltratt | sorry, my network just dropped (great timing) | 17:57 |
| ltratt | i'm happy to try anything :) | 17:58 |
| craigkerstiens (~craigkers@204.14.152.118) left irc: Ping timeout: 260 seconds | 17:58 | |
| arigato | hg pull; hg up | 17:58 |
| ltratt | ok, am doing... | 17:58 |
| craigkerstiens (~craigkers@204.14.152.118) joined #pypy. | 17:58 | |
| ltratt | ok, first reaction: it is leaking, but at a much lower level than before | 18:01 |
| ltratt | (100Kb/sec, perhaps, instead of many MBs) | 18:01 |
| ltratt | and that could easily be a bug in my VM for all i know | 18:01 |
| ltratt | so we're moving in the right direction :) | 18:02 |
| arigato | :-/ | 18:02 |
| arigato | ah, wait for long enough | 18:02 |
| arigato | if it's just 100K/s, then it normal | 18:03 |
| arigato | it will collect after some number of MBs | 18:03 |
| ltratt | ok, am giving it a long run now... | 18:04 |
| ltratt | yes, i think i just saw it do a collection | 18:04 |
| hruske (~Gasper@89.143.223.18) left irc: Quit: Leaving | 18:04 | |
| arigato | the maximum depends on how much cache your machine has | 18:05 |
| ltratt | arigato, you are a star! | 18:05 |
| arigato | :-) | 18:05 |
| arigato | thanks to keep pushing me :-) | 18:05 |
| ltratt | the thanks are all mine - this is really good looking news :) | 18:06 |
| craigkerstiens (~craigkers@204.14.152.118) left irc: Ping timeout: 255 seconds | 18:06 | |
| ltratt | i'm going to try it on --opt=3 and --opt=jit just to make sure, but i'm feeling confident | 18:06 |
| arigato | I'm also confident that the result is *much* faster than with --gc=ref :-) | 18:06 |
| ltratt | oh, yes, of that i'm certain :) | 18:07 |
| djc | too bad, pypy-c1.7 is slower than cpython on our simulations at work :( | 18:07 |
| arigato | djc: a long-running process not using cpyext? | 18:07 |
| jey | what kind of workload? | 18:07 |
| lmoura (~lmoura@186.215.206.130) left irc: Ping timeout: 248 seconds | 18:08 | |
| djc | arigato: yes | 18:08 |
| ltratt | --opt=3 works good. now for --opt=jit (this will take a while...) | 18:09 |
| djc | well, this one was 3m16 on cpython-2.7.2 and 5m48 on pypy | 18:09 |
| kenaan | 12arigo default 11ccac319dfdd7 15/pypy/rlib/test/test_rstacklet.py: The test for ca55b862ead9. Without the fix, it crashes with MemoryError as originally reported by ltratt with the ... | 18:10 |
| arigato | djc: we're interested to know more :-) | 18:10 |
| djc | arigato: me too, but I'm not sure how to reduce the use case | 18:11 |
| djc | and I probably can't give you access to our code | 18:11 |
| arigato | yes, I'm sure | 18:11 |
| djc | are there any profiling tools that could help | 18:11 |
| djc | or that jitviewer stuff? | 18:11 |
| arigato | not really | 18:11 |
| arigato | the best is probably to try to reduce the code by killing parts | 18:11 |
| djc | we have a lot of stuff in pickle-based on-disk caches, would that be bad for pypy? | 18:12 |
| setmeaway | error again, [translation:ERROR] AttributeError: UnicodeBuilderRepr instance has no attribute ll_getlength how can i workaround this | 18:12 |
| arigato | ah, yes | 18:12 |
| arigato | djc: our cPickle module is implemented as: "from pickle import *" | 18:12 |
| djc | arigato: isn't python faster than c extensions on pypy anyway? ;) | 18:12 |
| arigato | well, occasionally only :-) | 18:13 |
| arigato | I suppose the theoretical result is impressive enough: pypy runs pickle.py at a speed close to python running cPickle in C | 18:13 |
| djc | heh, yes | 18:13 |
| arigato | but of course it doesn't really help in your use case | 18:13 |
| djc | still, not entirely what I'd hoped for :) | 18:13 |
| djc | we have simulations that take on the order of 24h, in pure python, so I hoped pypy could make a significant win there | 18:14 |
| djc | but of course there are no silver bullets | 18:14 |
| arigato | setmeaway: good question, unexpected error. can you paste the tail of the traceback? | 18:14 |
| arigato | djc: maybe at some point we'll really decide that rewriting cPickle in RPython makes sense for speed | 18:15 |
| arigato | the JIT is probably having a hard time with pickle.py, too | 18:17 |
| arigato | it's some kind of "interpreter" | 18:18 |
| setmeaway | arigato http://pastebin.com/aEPV2epz posted | 18:18 |
| arigato | setmeaway: a bit no clue how it is possible: statically, UnicodeBuilderRepr does have a ll_getlength() method | 18:20 |
| arigato | djc: doing so would make sense for Unladen Swallow's original goals too --- I think it's one of the first module they optimized | 18:20 |
| djc | arigato: we probably have a bunch of generators, IIRC pypy isn't that good at those, either? | 18:22 |
| arigato | well, nowadays it's only "a bit worse than normal" | 18:22 |
| djc | hmm, getting a weird bug with pypy now, testing a smaller bit of code | 18:22 |
| djc | AttributeError: 'module' object has no attribute 'Symbol' | 18:23 |
| djc | in a place that Just Works (TM) on Cpython | 18:23 |
| djc | I'll try to reduce that down | 18:23 |
| arigato | which module? | 18:23 |
| djc | it's called symbol | 18:23 |
| arigato | (that's arguably one of the worst error messages in CPython, and PyPy just copied it... it should show the module's name) | 18:23 |
| djc | ah, I guess that is in pypy's stdlib | 18:24 |
| djc | okay, in cpython's too | 18:24 |
| djc | but I guess the import order is different | 18:24 |
| arigato | symbol.Symbol doesn't exist on cpython2.7, either | 18:25 |
| lmoura (~lmoura@186.212.229.136) joined #pypy. | 18:25 | |
| djc | no, but on cpython I get my own symbol module :) | 18:26 |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 18:26 | |
| arigato | and on pypy it imports the one from the stdlib? | 18:26 |
| hongminhee (u295@gateway/web/irccloud.com/x-smedwkjnoplzvkao) joined #pypy. | 18:27 | |
| ltratt | arigato: --opt=jit seg faults, but that's sort-of expected, because you've said before that stacklets and the JIT don't play well together. | 18:32 |
| arigato | no, it should work, because you're not using virtualizables or virtualrefs | 18:33 |
| Guest19008 (~John@osbk-4db06545.pool.mediaWays.net) left irc: Ping timeout: 248 seconds | 18:33 | |
| arigato | I guess I'll also have a look :-) | 18:34 |
| jey | ltratt, out of curiosity, what are you writing? | 18:34 |
| arigato | the JIT should never get you a segfaulting result out of a non-segfaulting program | 18:34 |
| ltratt | OK, that's a nice property. | 18:34 |
| ltratt | Here's what I get from gdb http://pastebin.com/8XCKCAV7 | 18:34 |
| ltratt | [I'm also going to check this on OS X too, but it might take a while to compile...] | 18:35 |
| arigato | ok | 18:35 |
| arigato | I'm compiling on linux... | 18:35 |
| Guest19008 (~John@osbk-4db06545.pool.mediaWays.net) joined #pypy. | 18:35 | |
| arigato | if you want, you can go to the sources (/tmp/usession-xxx/testing_1) | 18:36 |
| jey | ah, looks like an RPython interpreter for convergepl.org. neat | 18:36 |
| arigato | make clean; make lldebug | 18:36 |
| arigato | then use this ./main-c | 18:36 |
| arigato | it should have more assertions, and if it still crashes, you have the symbols in gdb | 18:36 |
| ltratt | good point, i'll try that now | 18:37 |
| ltratt | jey: yes, I've been working on an RPython VM for Converge for a couple of months. It's good fun. | 18:38 |
| craigkerstiens (~craigkers@204.14.152.118) joined #pypy. | 18:39 | |
| gsnedders | ltratt: The JIT should only be black-box observable as a result of differing performance. | 18:40 |
| ltratt | Interestingly, with "gmake clean; gmake lldebug" I get this error http://pastebin.com/6HkPGpb8 | 18:40 |
| ltratt | which doesn't get triggered with just "gmake clean ; gmake" | 18:41 |
| ltratt | [arigato: as a side note, I'm hoping someone will explain virtuals and virtualizables to me in dummy terms, as I have failed to get a grip on their meaning from the code :)] | 18:42 |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy. | 18:42 | |
| stakkars_ | ltratt: a virtual is an object which does not exists at all. Only those attribute which are needed are crewted. As long as the object does not leave its function, its creation can be totally avoided. | 18:45 |
| stakkars_ | created | 18:45 |
| arigato | but I talked about virtualrefs and virtualizables, not virtuals :-) | 18:46 |
| ltratt | stakkars: thanks... i must admit, i don't really get the precise semantics... i am a true dummy! | 18:46 |
| stakkars_ | ah, sorry. Well, my reading is still very bad. | 18:46 |
| Alex_Gaynor | ltratt: virtuals are just escape analysis, virtualrefs and virtualizables are more complex things | 18:47 |
| arigato | stakkars_: you read correctly, but ltratt miswrite it :-) | 18:47 |
| arigato | it's definitely easy to get confused | 18:47 |
| ltratt | mea culpa | 18:47 |
| stakkars_ | heh, fine that I didn't say complete nonsense ;-) | 18:48 |
| ltratt | It's just one more mistake to add to the list that I've made today :) | 18:49 |
| arigato | ltratt: I have the same bug reproduced | 18:49 |
| ltratt | OK, here's the gdb output from OS X http://pastebin.com/AyThurZT | 18:49 |
| ltratt | arigato: ok, cool | 18:50 |
| arigato | no clue so far :-( | 18:50 |
| Action: arigato away, will look | 18:50 | |
| arigato (~arigo@fwstups.cs.uni-duesseldorf.de) left irc: Quit: See you | 18:51 | |
| Alex_Gaynor | looks like a NULL pointer deref in the blackhole | 18:51 |
| voidspace (~voidspace@python/psf/voidspace) left irc: Quit: Uhm... gotta go | 18:52 | |
| ltratt | Alex_Gaynor: are virtuals automatically worked out by the translator? do i need to give hints? | 18:52 |
| Alex_Gaynor | virtuals are handled entirely within the JIT, no hints necessary | 18:52 |
| ltratt | right, ok, that makes sense. | 18:52 |
| Rhy0lite | Alex_Gaynor: that sounds really funny to a physicist | 18:52 |
| ltratt | so, specialize, virtualref and virtuals are things that i would love to understand better. | 18:52 |
| ltratt | many things in RPython I have worked out by reading the code and trial & error, but those have all defeated me | 18:53 |
| Alex_Gaynor | Rhy0lite: mind if I PM? | 18:53 |
| Rhy0lite | sure, go ahead | 18:53 |
| chronitis (~chronitis@88-104-115-147.dynamic.dsl.as9105.com) joined #pypy. | 18:54 | |
| fijal (~fijal@197.173.92.179) joined #pypy. | 19:01 | |
| craigkerstiens (~craigkers@204.14.152.118) left irc: Ping timeout: 248 seconds | 19:03 | |
| craigkerstiens (~craigkers@204.14.152.118) joined #pypy. | 19:04 | |
| ojii (~ojii@40-34.60-188.cust.bluewin.ch) left irc: Remote host closed the connection | 19:06 | |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Quit: Leaving | 19:08 | |
| craigkerstiens (~craigkers@204.14.152.118) left irc: Ping timeout: 260 seconds | 19:10 | |
| craigkerstiens (~craigkers@204.14.152.118) joined #pypy. | 19:11 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection | 19:11 | |
| ericflo (~ericflo@75.103.8.110) joined #pypy. | 19:13 | |
| kenaan | 12ctismer win64-stage1 110145566e0b02 15/pypy/module/operator/app_operator.py: reverted a bad import of pypy into app_operator | 19:14 |
| craigkerstiens_ (~craigkers@204.14.152.118) joined #pypy. | 19:15 | |
| craigkerstiens (~craigkers@204.14.152.118) left irc: Ping timeout: 258 seconds | 19:18 | |
| Nick change: craigkerstiens_ -> craigkerstiens | 19:18 | |
| santagada (~leonardo@201.86.242.84.dynamic.adsl.gvt.net.br) left irc: Quit: Ex-Chat | 19:22 | |
| CIA-13 | 03djc 07roundup * 10#945/import shadowing module from __init__.py as __main__ fails: (log message trimmed) | 19:22 |
| CIA-13 | [new] I have a package x, like this: | 19:22 |
| CIA-13 | x/__init__.py | 19:22 |
| CIA-13 | x/symbol.py | 19:22 |
| CIA-13 | For stupid reasons, I also use __init__.py as a script (i.e. run it with * 14https://bugs.pypy.org/issue945 | 19:22 |
| hongminhee (u295@gateway/web/irccloud.com/x-smedwkjnoplzvkao) left irc: Ping timeout: 244 seconds | 19:28 | |
| oal (u4126@gateway/web/irccloud.com/x-ghfhfuacftycsyew) left irc: Ping timeout: 248 seconds | 19:28 | |
| bfirsh (u1308@gateway/web/irccloud.com/x-qtkohnasvlvztsbc) left irc: Ping timeout: 248 seconds | 19:30 | |
| Alex_Gaynor (u1246@gateway/web/irccloud.com/x-qkmrynznkvjthqfg) left irc: Ping timeout: 248 seconds | 19:30 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-win-x86-64/builds/73 [12ctismer, win64-stage1] | 19:33 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-win-x86-64/builds/73 [12ctismer, win64-stage1] | 19:33 |
| amaury__ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy. | 19:33 | |
| fijal | amaury__: hi | 19:34 |
| amaury__ | Hi | 19:34 |
| fijal | do you feel like looking into py3k pull request? | 19:35 |
| ltratt (~ltratt@87.114.197.234) left irc: Quit: using sirc version 2.211+KSIRC/1.3.12 | 19:36 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-win-x86-64/builds/74 [12ctismer, win64-stage1] | 19:37 |
| hongminhee (~u295@gateway/web/irccloud.com/x-ikhvircgflqkwbit) joined #pypy. | 19:39 | |
| amaury__ | fijal: I will look into it | 19:40 |
| fijal | cool | 19:41 |
| amaury__ | but I'll probably not take the changes as is | 19:41 |
| eukreign (~lberezhny@64.222.214.97) joined #pypy. | 19:41 | |
| fijal | amaury__: that's fine | 19:41 |
| alexsuraci (u1962@gateway/web/irccloud.com/x-zhvrmcyeuhqupuow) left irc: Max SendQ exceeded | 19:42 | |
| chronitis | <- here if you want to give me some comments on what does and doesn't fit | 19:42 |
| amaury__ | For example, this change lacks tests https://bitbucket.org/chronitis/pypy/changeset/de954d9fe3cd | 19:42 |
| eukreign | is anyone working on getting pypy to compile to android compatible either java byte code or dex? | 19:42 |
| amaury__ | at interp-level | 19:42 |
| amaury__ | err, applevel | 19:42 |
| fijal | eukreign: nope | 19:43 |
| alexsuraci (u1962@gateway/web/irccloud.com/x-iaxsexvibohofcsv) joined #pypy. | 19:44 | |
| chronitis | there are tests for the issue that addresses in 3.2/test, but I can add some module/binascii/tests too | 19:44 |
| oal (u4126@gateway/web/irccloud.com/x-hbjopkikwfdbiuvs) joined #pypy. | 19:46 | |
| DasIch_ (~dasich@p3E990854.dip.t-dialin.net) joined #pypy. | 19:52 | |
| Alex_Gaynor (u1246@gateway/web/irccloud.com/x-ylgpyhgqkbtiidwg) joined #pypy. | 19:53 | |
| #pypy: mode change '+o Alex_Gaynor' by ChanServ!ChanServ@services. | 19:53 | |
| DasIch (~dasich@p3E991185.dip.t-dialin.net) left irc: Ping timeout: 258 seconds | 19:55 | |
| htoothrot (~mux@unaffiliated/htoothrot) left irc: Ping timeout: 260 seconds | 19:55 | |
| Alex_Gaynor | fijal: numpy-dtype-refactor now passes all tests on both 32 and 64bit, care to review? | 19:57 |
| fijal | yeah, tomorrow | 19:57 |
| Alex_Gaynor | k | 19:57 |
| fijal | I'm about to sleep | 19:57 |
| Alex_Gaynor | 'night | 19:57 |
| Rhy0lite | Alex_Gaynor: ping | 20:02 |
| Alex_Gaynor | pong | 20:02 |
| fijal (~fijal@197.173.92.179) left irc: Read error: Connection reset by peer | 20:09 | |
| mwhudson (~mwh@linaro/mwhudson) left irc: Quit: Leaving | 20:10 | |
| kkris (~kris@80-123-34-55.adsl.highway.telekom.at) left irc: Quit: Leaving. | 20:13 | |
| mwhudson (~mwh@120.136.5.22) joined #pypy. | 20:13 | |
| mwhudson (~mwh@120.136.5.22) left irc: Changing host | 20:13 | |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 20:13 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 20:16 | |
| craigkerstiens_ (~craigkers@204.14.152.118) joined #pypy. | 20:38 | |
| craigkerstiens (~craigkers@204.14.152.118) left irc: Ping timeout: 258 seconds | 20:41 | |
| Nick change: craigkerstiens_ -> craigkerstiens | 20:41 | |
| stakkars_ (~tismer@89.204.137.126) left irc: Quit: schnarch | 20:44 | |
| eukreign (lberezhny@64.222.214.97) left #pypy. | 20:46 | |
| stakkars_ (~tismer@89.204.137.126) joined #pypy. | 20:48 | |
| lizardo (~lizardo@189.2.128.130) left irc: Ping timeout: 244 seconds | 20:49 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Ping timeout: 244 seconds | 20:50 | |
| amaury__ | chronitis: in https://bitbucket.org/chronitis/pypy/changeset/7cf1f39c9f60#chg-pypy/objspace/std/stringobject.py | 20:51 |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 20:51 | |
| amaury__ | I think it's enough to call bufferstr_w in all cases | 20:51 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 20:51 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 20:52 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-win-x86-64/builds/74 [12ctismer, win64-stage1] | 20:53 |
| chronitis | amaury__: ok. Apart from that and some more tests for binascii, any other changes required? | 20:59 |
| amaury__ | I'm slowly integrating and fixing your changes | 21:01 |
| bfirsh (u1308@gateway/web/irccloud.com/x-yfvvynnmibmchdut) joined #pypy. | 21:01 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Remote host closed the connection | 21:01 | |
| `fox` (~fox@host49-21-dynamic.8-87-r.retail.telecomitalia.it) joined #pypy. | 21:03 | |
| chronitis | amaury__: thanks | 21:04 |
| tilgovi (~randall@75.101.111.78) joined #pypy. | 21:04 | |
| tilgovi (~randall@75.101.111.78) left irc: Changing host | 21:04 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 21:04 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy. | 21:06 | |
| CIA-13 | 03afa 07roundup * 10#945/import shadowing module from __init__.py as __main__ fails: [chatting] "symbol" is a builtin module in pypy, and a regular symbol.py file in CPython... * 14https://bugs.pypy.org/issue945 | 21:06 |
| mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Remote host closed the connection | 21:18 | |
| stakkars_ (~tismer@89.204.137.126) left irc: Read error: Connection reset by peer | 21:26 | |
| tlynn (~tlynn@cpc6-cmbg14-2-0-cust121.5-4.cable.virginmedia.com) joined #pypy. | 21:30 | |
| etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum | 21:33 | |
| kushal (~kdas@114.143.163.110) joined #pypy. | 21:35 | |
| kushal (~kdas@114.143.163.110) left irc: Changing host | 21:35 | |
| kushal (~kdas@fedora/kushal) joined #pypy. | 21:35 | |
| stakkars (~stakkars@89.204.137.126) left irc: Quit: Colloquy for iPhone - http://colloquy.mobi | 21:36 | |
| Nick change: stakkars__ -> stakkars | 21:36 | |
| stakkars_ (~tismer@p5DDB7E68.dip.t-dialin.net) joined #pypy. | 21:38 | |
| fschwidom (~fschwidom@46.115.21.103) joined #pypy. | 21:42 | |
| fschwidom (~fschwidom@46.115.21.103) left irc: Remote host closed the connection | 21:43 | |
| fprimex (~fprimex@brent-macbook.sc.fsu.edu) left irc: Quit: http://www.fprimex.com | 21:45 | |
| tsclausing (~scotclaus@174.46.125.162) joined #pypy. | 21:46 | |
| tsclausing (scotclaus@174.46.125.162) left #pypy. | 21:46 | |
| tsclausing (~scotclaus@174.46.125.162) joined #pypy. | 21:46 | |
| pedronis (~pedronis@73-53.195-178.cust.bluewin.ch) left irc: Quit: Leaving | 21:48 | |
| pedronis (~pedronis@73-53.195-178.cust.bluewin.ch) joined #pypy. | 21:51 | |
| ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) left irc: Quit: Leaving... | 21:52 | |
| PiotrSikora (~none@nginx/adept/piotrsikora) left irc: Excess Flood | 21:52 | |
| PiotrSikora (~none@nginx/adept/piotrsikora) joined #pypy. | 21:54 | |
| craigkerstiens (~craigkers@204.14.152.118) left irc: Ping timeout: 255 seconds | 21:59 | |
| craigkerstiens (~craigkers@204.14.152.118) joined #pypy. | 21:59 | |
| kushal (~kdas@fedora/kushal) left irc: Quit: This computer has gone to sleep | 22:06 | |
| kenaan | 12amauryfa py3k 11d5cb1a5800c3 15/pypy/: (chronitis) String tests should test (bytes) strings. Also make sure that the fillchar character in bytes.rjust() c... | 22:08 |
| kenaan | 12amauryfa py3k 115a8c73ef4e8f 15/pypy/objspace/std/: (chronitis) Add bytes.maketrans, and allow buffer-compatible objects to be used as arguments of most bytes methods | 22:08 |
| Rhy0lite (dje@nat/ibm/x-jtmfgecmhivrtdps) left irc: Quit: Leaving | 22:08 | |
| kenaan | 12ctismer default 1170f319a40fd6 15/pypy/tool/: corrected nullpath for windows | 22:08 |
| kenaan | 12ctismer win64-stage1 11f16c55f8b3e5 15/pypy/tool/: Merge with default | 22:08 |
| kenaan | 12ctismer win64-stage1 117e257e1e6c6d 15/pypy/: Merge Default | 22:09 |
| kenaan | 12ctismer win64-stage1 11f3c6d05cd02c 15/: Merge | 22:09 |
| kenaan | 12ctismer default 114698190ee108 15/pypy/tool/: Merge | 22:09 |
| craigkerstiens (~craigkers@204.14.152.118) left irc: Ping timeout: 240 seconds | 22:22 | |
| Guest__ (~textual@67.51.82.66) joined #pypy. | 22:24 | |
| craigkerstiens (~craigkers@204.14.152.118) joined #pypy. | 22:29 | |
| kennethreitz | https://groups.google.com/forum/#!topic/python-tornado/VkOPfrbhaXE/discussion | 22:35 |
| kenaan | 12amauryfa py3k 11fee4e22f1a4f 15/pypy/objspace/std/: (chronitis) Add a couple more string test cases, and fix contains and expandtabs appropriately. | 22:35 |
| exarkun | EC2 is not a suitable benchmarking platform. | 22:36 |
| timotimotimo | right, you get differing performance every time if you're unlucky - "elastic" and all | 22:37 |
| amaury__ | "if os.name <> 'nt':" | 22:38 |
| amaury__ | I had almost forgotten this syntax | 22:38 |
| Alex_Gaynor | amaury__: yes, I had a chuckle at this | 22:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/729 | 22:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/154 | 22:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/959 | 22:39 |
| Arach (~arach@FTTBs-195.222.177.214.ranetka.ru) left irc: Ping timeout: 260 seconds | 22:39 | |
| amaury__ | hum, os.devnull | 22:39 |
| amaury__ | stakkars_: did you know about os.devnull? | 22:40 |
| stakkars_ | aeh, what? | 22:41 |
| stakkars_ | was that wrong? | 22:42 |
| exarkun | C:\Program Files\Documents And Settings\Users\Jean-Paul Calderone\LPR1.TXT | 22:42 |
| stakkars_ | this is some windows stuff which I happen to know since -- 15? years? | 22:44 |
| amaury__ | stakkars_: os.devnull could replace NULLPATHNAME | 22:44 |
| amaury__ | exarkun: LPT1 IIRC | 22:45 |
| stakkars_ | did not know os.devnull, no. Feel free to change that. | 22:45 |
| exarkun | amaury__: Ah right, thanks! | 22:45 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/959 | 22:46 |
| stakkars_ | but I'm wondering why I find nonsense like /dev/null when we already know how to do it... | 22:46 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/154 | 22:46 |
| `fox` (~fox@host49-21-dynamic.8-87-r.retail.telecomitalia.it) left irc: Ping timeout: 255 seconds | 22:49 | |
| Arach (~arach@FTTB-dynamic-79.104.203.237.ranetka.ru) joined #pypy. | 22:51 | |
| maxyz (~maxy@186.23.74.228) left irc: Ping timeout: 252 seconds | 22:53 | |
| stakkars_ | amaury__: sorry, I wanted to say thank you, good to know | 22:53 |
| amaury__ | np | 22:53 |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) left irc: Remote host closed the connection | 22:55 | |
| maxyz (~maxy@186.23.74.228) joined #pypy. | 22:55 | |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Remote host closed the connection | 23:01 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Read error: Connection reset by peer | 23:02 | |
| aurojit (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 23:02 | |
| craigkerstiens_ (~craigkers@204.14.152.118) joined #pypy. | 23:06 | |
| mat^2 (~mathias@212.130.113.35) left irc: | 23:08 | |
| craigkerstiens (~craigkers@204.14.152.118) left irc: Ping timeout: 248 seconds | 23:10 | |
| Nick change: craigkerstiens_ -> craigkerstiens | 23:10 | |
| bobbyz (~bobbyz@c-24-9-15-58.hsd1.co.comcast.net) left irc: Read error: Operation timed out | 23:14 | |
| tsclausing (~scotclaus@174.46.125.162) left irc: Quit: leaving | 23:28 | |
| aurojit (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Read error: Connection reset by peer | 23:32 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 23:32 | |
| htoothrot (~mux@unaffiliated/htoothrot) joined #pypy. | 23:32 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 248 seconds | 23:32 | |
| bobbyz (~bobbyz@184.232.185.85) joined #pypy. | 23:33 | |
| amaury__ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Read error: Operation timed out | 23:34 | |
| craigkerstiens (~craigkers@204.14.152.118) left irc: Quit: craigkerstiens | 23:35 | |
| voidspace (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 23:48 | |
| voidspace (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 23:48 | |
| voidspace (~anonymous@python/psf/voidspace) joined #pypy. | 23:48 | |
| tlynn (~tlynn@cpc6-cmbg14-2-0-cust121.5-4.cable.virginmedia.com) left irc: Ping timeout: 248 seconds | 23:49 | |
| verte (~verte@python/site-packages/verte) joined #pypy. | 23:52 | |
| kenaan | 12ctismer default 115c81dab4eeda 15/pypy/tool/: adjusted nullpath according to amaury's suggestion | 23:55 |
| kenaan | 12ctismer win64-stage1 1183d2aaba0f24 15/pypy/tool/: Merge with default | 23:55 |
| --- Wed Nov 30 2011 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!