| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 00:02 | |
| mitchellh (~mitchellh@c-71-202-125-40.hsd1.ca.comcast.net) joined #pypy. | 00:06 | |
| Nick change: Gulopine -> Gulaway | 00:06 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 00:07 | |
| zain__ (~textual@c-67-160-201-63.hsd1.ca.comcast.net) joined #pypy. | 00:09 | |
| stakkars__ (~tismer@88.130.189.188) left irc: Ping timeout: 252 seconds | 00:12 | |
| stakkars_ (~stakkars@89.204.155.36) left irc: Ping timeout: 240 seconds | 00:34 | |
| kronos (~bhargav@unaffiliated/bhargav) left irc: Ping timeout: 260 seconds | 00:47 | |
| kkris (~kris@93-82-42-186.adsl.highway.telekom.at) left irc: Quit: Leaving. | 01:00 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/144 | 01:04 |
|---|---|---|
| nedbat (nedbat@python/psf/nedbat) left #pypy ("Leaving"). | 01:05 | |
| rokujyouhitoma (~rokujyouh@p3023-ipad305sizuokaden.shizuoka.ocn.ne.jp) left irc: Remote host closed the connection | 01:18 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-freebsd-7-x86-64/builds/2 [12Gabriel Lavoie] | 01:22 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/717 | 01:26 |
| Nick change: Gulaway -> Gulopine | 01:34 | |
| Zigara (~brandon@rocket.vel.lv) joined #pypy. | 01:35 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1852 | 01:42 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/581 | 01:42 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/275 | 01:42 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/617 | 01:42 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1115 | 01:42 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/802 | 01:42 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1444 | 01:42 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/713 | 01:42 |
| stakkars_ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) joined #pypy. | 01:44 | |
| derdon (~derdon@p5DE8B581.dip.t-dialin.net) left irc: Remote host closed the connection | 01:46 | |
| mitchellh (~mitchellh@c-71-202-125-40.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep | 01:50 | |
| voidspace (~anonymous@python/psf/voidspace) left irc: Quit: voidspace | 02:05 | |
| Nick change: ojii_ -> ojii|desertbus | 02:12 | |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy. | 02:23 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/947 | 02:43 |
| whitelynx (~whitelynx@li117-47.members.linode.com) left irc: Quit: Ex-Chat | 02:44 | |
| Shanita (~John@osbk-4db17a24.pool.mediaWays.net) left irc: Ping timeout: 240 seconds | 02:46 | |
| Shanita (~John@osbk-4db16952.pool.mediaWays.net) joined #pypy. | 02:46 | |
| chronitis (~chronitis@88-104-127-204.dynamic.dsl.as9105.com) left irc: Quit: Lost terminal | 02:49 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Read error: Connection reset by peer | 02:53 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 02:53 | |
| stakkars__ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) joined #pypy. | 02:57 | |
| stakkars_ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 02:57 | |
| stakkars_ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) joined #pypy. | 03:19 | |
| stakkars__ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 03:19 | |
| kvda (~kvda@124-168-163-66.dyn.iinet.net.au) joined #pypy. | 03:21 | |
| verte (~verte@python/site-packages/verte) joined #pypy. | 03:27 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Ping timeout: 248 seconds | 03:39 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1852 | 03:43 |
| mitchellh (~mitchellh@c-71-202-125-40.hsd1.ca.comcast.net) joined #pypy. | 04:08 | |
| Nick change: Gulopine -> Gulaway | 04:20 | |
| stakkars_ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) left irc: Read error: Connection timed out | 04:25 | |
| stakkars_ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) joined #pypy. | 04:27 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/802 | 04:36 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1444 | 04:36 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/617 | 04:44 |
| verte (~verte@python/site-packages/verte) left irc: Ping timeout: 240 seconds | 04:47 | |
| mat^2 (~mathias@212.130.113.35) left irc: Ping timeout: 252 seconds | 04:49 | |
| verte (~verte@python/site-packages/verte) joined #pypy. | 04:49 | |
| kenaan | 12mattip numpy-multidim-shards 11cf0782e42b72 15/pypy/module/micronumpy/: add shape_agreement broadcast test, fix for it | 04:49 |
| maxyz (~maxy@186.23.74.228) left irc: Ping timeout: 252 seconds | 04:52 | |
| Nick change: Gulaway -> Gulopine | 04:57 | |
| gutworth (~benjamin@dhcp-128-36-89-186.central.yale.edu) left irc: Quit: leaving | 04:58 | |
| maxyz (~maxy@186.23.74.228) joined #pypy. | 04:58 | |
| stakkars__ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) joined #pypy. | 05:03 | |
| stakkars_ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 05:03 | |
| stakkars_ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) joined #pypy. | 05:04 | |
| stakkars__ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 05:04 | |
| stakkars__ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) joined #pypy. | 05:05 | |
| stakkars_ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 05:05 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1115 | 05:06 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/581 | 05:06 |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 05:17 | |
| Zigara_ (~brandon@rocket.vel.lv) joined #pypy. | 05:27 | |
| rokujyouhitoma (~rokujyouh@203-179-94-169.cust.bit-drive.ne.jp) joined #pypy. | 05:29 | |
| Zigara (~brandon@rocket.vel.lv) left irc: Ping timeout: 240 seconds | 05:29 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/275 | 05:40 |
| kenaan (~kenaan@cube.twistedmatrix.com) left irc: Ping timeout: 248 seconds | 05:49 | |
| ojii|desertbus (~ojii@80-218-1-60.dclient.hispeed.ch) left irc: Remote host closed the connection | 05:51 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/713 | 06:04 |
| mitchellh (~mitchellh@c-71-202-125-40.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep | 06:14 | |
| mitchellh (~mitchellh@c-71-202-125-40.hsd1.ca.comcast.net) joined #pypy. | 06:21 | |
| JaredW (~jared@061093200075.ctinets.com) joined #pypy. | 06:30 | |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Quit: espes | 06:46 | |
| stakkars_ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) joined #pypy. | 06:49 | |
| stakkars__ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 06:49 | |
| Nick change: Gulopine -> Gulaway | 06:50 | |
| stakkars_ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 06:50 | |
| stakkars__ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) joined #pypy. | 06:50 | |
| asmeurer__ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer__ | 06:52 | |
| jared (~jared@061093200075.ctinets.com) joined #pypy. | 07:01 | |
| Nick change: jared -> Guest9705 | 07:01 | |
| Guest9705 (jared@061093200075.ctinets.com) left #pypy. | 07:02 | |
| durin42 (~durin@adium/durin42) left irc: Ping timeout: 260 seconds | 07:07 | |
| durin42 (~durin@adium/durin42) joined #pypy. | 07:09 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 07:35 | |
| tlynn (~tlynn@cpc6-cmbg14-2-0-cust121.5-4.cable.virginmedia.com) joined #pypy. | 07:38 | |
| fijal (~fijal@197.169.160.167) joined #pypy. | 07:40 | |
| fijal | morning | 07:40 |
| Alex_Gaynor | is it? | 07:40 |
| fijal | somewhere | 07:42 |
| Alex_Gaynor | fijal: matti committed something on your branch, go review it :) | 07:42 |
| Action: fijal is skeptical | 07:43 | |
| fijal | self.shards.insert(0, 0) | 07:45 |
| Alex_Gaynor | that'll force self.shards if it's virtual | 07:46 |
| fijal | for one | 07:47 |
| fijal | shards are not virtual anyway | 07:47 |
| fijal | (this is creation of expressions) | 07:47 |
| Alex_Gaynor | well, then it's just O(n) | 07:47 |
| Alex_Gaynor | (and I have no idea if it's correct, there's tests at least) | 07:48 |
| fijal | it's broken | 07:48 |
| fijal | among other things it computes the agreement of shape at the eval() moment | 07:48 |
| fijal | which is too late | 07:48 |
| Alex_Gaynor | yes, shape agreement should be eager | 07:49 |
| Alex_Gaynor | there's no advantage to it being lazy | 07:49 |
| tos9 (~tos9@unaffiliated/tos9) left irc: Ping timeout: 260 seconds | 07:49 | |
| Alex_Gaynor | AFAIK | 07:49 |
| tos9 (~tos9@unaffiliated/tos9) joined #pypy. | 07:50 | |
| fijal | no no no | 07:50 |
| fijal | well, it's broken | 07:51 |
| fijal | I think he didn't understand what I was trying to do | 07:51 |
| fijal | it's eager and then lazy again | 07:51 |
| kvda (~kvda@124-168-163-66.dyn.iinet.net.au) left irc: Quit: x___x | 07:51 | |
| fijal | also it contains copy-pasted code :/ | 07:52 |
| fijal | including a comment | 07:52 |
| fijal | grrrr | 07:52 |
| fijal | mattip does some work, but quality can be improved | 07:52 |
| fijal | and it comes in one code bomb as well, although it's unclear whether this can be split up | 07:54 |
| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy. | 07:55 | |
| Alex_Gaynor | fijal: related note, ATM test coverage of numpypy is pretty good, let's try to keep it that way | 07:56 |
| fijal | yeah | 07:57 |
| fijal | well | 07:57 |
| fijal | tests coverage is one thing | 07:57 |
| fijal | and working is sometimes other thing | 07:57 |
| Alex_Gaynor | let's aim for both | 07:57 |
| fijal | yop | 07:57 |
| fijal | http://www.youtube.com/watch?v=GhxqIITtTtU | 08:06 |
| Zigara_ (~brandon@rocket.vel.lv) left irc: Quit: Leaving | 08:07 | |
| Alex_Gaynor | that's a chimpanzee, who calls them apes? | 08:07 |
| mitchellh (~mitchellh@c-71-202-125-40.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep | 08:24 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 08:28 | |
| arigato (~arigo@89.204.155.162) joined #pypy. | 08:29 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Client Quit | 08:29 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 08:31 | |
| hongminhee (~dahlia@175.125.21.72) left irc: Ping timeout: 260 seconds | 08:31 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-freebsd-7-x86-64/builds/2 [12Gabriel Lavoie] | 08:35 |
| fijal | arigato: morning | 08:37 |
| stakkars_ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) joined #pypy. | 08:38 | |
| stakkars__ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 08:38 | |
| kkris (~kris@93-82-36-37.adsl.highway.telekom.at) joined #pypy. | 08:40 | |
| arigato | hi | 08:41 |
| fijal | it's weird, but what I *actually* want is to use virtualizable list for shape | 08:43 |
| fijal | shards & backshards | 08:43 |
| Alex_Gaynor | fijal: meaning it'd be automatically unpacked by tje JIT? | 08:43 |
| fijal | yeah | 08:44 |
| fijal | it would also be unpacked in bridges | 08:44 |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) joined #pypy. | 08:44 | |
| fijal | mattip: hi | 08:45 |
| mattip | fijal: hi | 08:45 |
| fijal | mattip: I'm not overly happy with your broadcasting checkins | 08:45 |
| Alex_Gaynor | fijal: and to think I just removed virtualiezables from numpy a few months ago | 08:45 |
| fijal | I mean the approach is fine, but the actual implementation is not | 08:46 |
| mattip | So fix or revert them. Youi don't have to be insulting about it. I tried a few times to make contact with you to ask questions, you were not forthconing. | 08:46 |
| fijal | I'm sorry I wasn't around | 08:46 |
| fijal | well, no | 08:46 |
| fijal | I don't want to insult you | 08:46 |
| fijal | I want to point to places where it can be improved | 08:46 |
| mattip | So what was the youtube video about? Just funny? | 08:47 |
| fijal | ? | 08:47 |
| fijal | completely unrelated | 08:47 |
| fijal | if it's funny, it's up to someone watching to decide :) | 08:47 |
| fijal | sorry, seriously was unrelated | 08:47 |
| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer_ | 08:48 | |
| mattip | OK, sorry. I need to get back to work, but if you leave me hints I will try to improve. Either here or in the code. | 08:48 |
| fijal | sure | 08:48 |
| fijal | I can fix it as well | 08:48 |
| fijal | if you don't have time now | 08:48 |
| fijal | for example the part about raising ValueError - it's never caught | 08:48 |
| fijal | and it'll cause the python interpreter to crash | 08:48 |
| fijal | it's also untested | 08:48 |
| mattip | I know, but I did write a comment there that I didn't have a better way to notify about the error. | 08:49 |
| fijal | it's already too late to know about the error | 08:49 |
| fijal | you have to check it eagerly | 08:49 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 08:49 | |
| arigato | http://bugs.python.org/issue13410 --- fwiw pypy has the issue of calling __int__ but not __long__, if that's an issue | 08:50 |
| fijal | pass the space to start_iter would be a solution though | 08:50 |
| tlynn_ (~tlynn@cpc6-cmbg14-2-0-cust121.5-4.cable.virginmedia.com) joined #pypy. | 08:50 | |
| mattip | But in order to pass the space in, it needs to be dragged around alot of other places. | 08:50 |
| mattip | That seemed even messier. | 08:51 |
| fijal | nice | 08:51 |
| fijal | mattip: no, raising ValueError without catching it is never good | 08:52 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Client Quit | 08:52 | |
| fijal | I mean, you can catch ValueError if you feel like it | 08:52 |
| fijal | but it does require a test | 08:52 |
| verte | at interp level | 08:52 |
| fijal | also as I said, you can't do it there, you have to do it earlier | 08:53 |
| mattip | OK, I will take a shot at improving it when I can (in another 8 hours or so). | 08:53 |
| tlynn (~tlynn@cpc6-cmbg14-2-0-cust121.5-4.cable.virginmedia.com) left irc: Ping timeout: 240 seconds | 08:53 | |
| fijal | mattip: I'll fix it | 08:53 |
| fijal | can you tell me why there is shape_agreement in start_iter btw? | 08:53 |
| mattip | OK. Yes, it can be done earlier. It was to make sure start_iter would get valid arguments, but you are right that is the caller's job. | 08:55 |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 08:55 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 08:55 | |
| fijal | not caller | 08:56 |
| fijal | creator of Call2 or someone there | 08:56 |
| fijal | also, on BroadcastIterator | 08:56 |
| mattip | Perhaps then the iterator I added should do some kind of checking, in retrospect it doesn't check at all? | 08:56 |
| mattip | Ahh, cross posting is wonderful. | 08:57 |
| fijal | no, the shapes should be correct at the creation of expressions | 08:57 |
| Alex_Gaynor | you're saying it's ufunc that should do the broadcaast clculations | 08:57 |
| fijal | Alex_Gaynor: yes | 08:57 |
| fijal | Alex_Gaynor: Call2 or setslice | 08:57 |
| fijal | those are two things that do that | 08:57 |
| fijal | mattip: another question | 08:58 |
| fijal | self.size = sum(arr.shape) | 08:58 |
| fijal | on BroadcastIterator.__init__ | 08:58 |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 248 seconds | 08:58 | |
| fijal | def get_offset(self): | 08:58 |
| fijal | return self.offset % self.size | 08:58 |
| fijal | how is it supposed to work? | 08:58 |
| mattip | fijal: that is the trick, it allows modulo arithmetic on the offest. | 08:58 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 08:58 | |
| Action: fijal is confused | 08:58 | |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 08:59 | |
| fijal | shouldn't get_offset just return an offset in memory? | 08:59 |
| fijal | sum of dimensions does not sound like a good thing | 08:59 |
| fijal | but maybe I'm missing something | 08:59 |
| mattip | The offset just keeps getting incremented. Say the original shape is (3,3), and the res_shape is (3,3,3) | 08:59 |
| fijal | yes | 09:00 |
| mattip | then the offset in the iterator goes from 0->27, but since the size is 9 it just cycles 0->9 three times, broadcasting the values. | 09:00 |
| mattip | cylces in get_offset, that is | 09:00 |
| fijal | I think you mean the product of shape and not the sum | 09:00 |
| fijal | s[0] * s[1] * s[2] | 09:00 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Client Quit | 09:01 | |
| fijal | and not s[0] + s[1] + s[2] | 09:01 |
| fijal | right? | 09:01 |
| fijal | but also it's not true - offset sometimes does not get incremented because shards[i] == 0 | 09:01 |
| mattip | Yes, What, didn't I commit the product? How did it pass the tests? (I cannot see code right now) | 09:01 |
| fijal | good question, but maybe there are not enough tests :) | 09:02 |
| mattip | When shards is 0 the offset should not be incremented at all, it is a broadcast of shape (3,1,3) to (3,3,3) for instance | 09:02 |
| fijal | yes | 09:02 |
| mattip | The second dimension should never be incremented. | 09:03 |
| fijal | but if the original shape is (3,3) and res_shape is (3,3,3) | 09:03 |
| fijal | shards will be (0,3,3) | 09:03 |
| mattip | Yes, so the modulo is unecessary? | 09:03 |
| fijal | yes | 09:03 |
| mattip | OK. Sorry. | 09:04 |
| mattip | Gotta go, leave me clues as to what to continue with if you do not fix it all. I will try to add more tests. | 09:05 |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) left irc: Quit: Page closed | 09:05 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 09:05 | |
| ronan (~ronan@host86-142-249-87.range86-142.btcentralplus.com) left irc: Quit: Ex-Chat | 09:09 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 09:09 | |
| bbot2 (~bbot2@wyvern.cs.uni-duesseldorf.de) left irc: Quit: buildmaster reconfigured: bot disconnecting | 09:15 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 09:15 | |
| hakanardo | fijal: morning? | 09:18 |
| fijal | hakanardo: hi | 09:18 |
| fijal | relative morning :) | 09:18 |
| arigato | ah, oups | 09:18 |
| arigato | hi! | 09:18 |
| fijal | arigato: ? | 09:19 |
| arigato | ...sorry, I restarted wyvern but didn't think to check the state of the buildbots | 09:19 |
| arigato | hopefully I didn't interrupt anyone's job in this sunny sunday morning | 09:19 |
| Action: fijal 's sunday morning is surprisingly not sunny | 09:19 | |
| fijal | for a change though :) | 09:19 |
| bbot2 (~bbot2@wyvern.cs.uni-duesseldorf.de) joined #pypy. | 09:20 | |
| hakanardo | fijal: the two arrays in your test from yesterday | 09:20 |
| hakanardo | do they have the same descr? | 09:20 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 09:21 | |
| fijal | I would think so | 09:21 |
| fijal | they' | 09:21 |
| fijal | re not mixed, but they're the same thing really | 09:21 |
| fijal | why? | 09:21 |
| hakanardo | then we'll need more advanced alias analysing | 09:22 |
| hakanardo | i.e the second setarray item would clear the first | 09:22 |
| fijal | ah I see | 09:22 |
| hakanardo | as the the two pointers migh point at the same array | 09:22 |
| fijal | well the annoying thing is that I can clean it up with virtualizables I think | 09:23 |
| hakanardo | well it could be solved in the heap optimizer by emitting a guard checking that the pointers are not equal | 09:23 |
| hakanardo | that would be usefull elsewhere as well... | 09:23 |
| fijal | would that guard be folded into preamble? | 09:24 |
| hakanardo | yes | 09:24 |
| hakanardo | atleast I think so :) | 09:24 |
| fijal | cool | 09:25 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/270 [12arigo] | 09:25 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-win-x86-32/builds/539 [12fijal, release-1.7.x] | 09:25 |
| bbot2 | 13Exception: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/270 [12arigo] | 09:25 |
| bbot2 | 13Exception: 15http://buildbot.pypy.org/builders/pypy-c-app-level-win-x86-32/builds/539 [12fijal, release-1.7.x] | 09:25 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/271 [12fijal, release-1.7.x] | 09:25 |
| bbot2 | 13Exception: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/271 [12fijal, release-1.7.x] | 09:25 |
| fijal | uh | 09:25 |
| arigato | eh? | 09:27 |
| fijal | Exception is not nice :/ | 09:27 |
| arigato | I didn't start any build, I just restarted the buildmaster | 09:27 |
| fijal | besides, it took something like a day or two to get there :/ | 09:27 |
| fijal | Alex_Gaynor: "Almost every single website on the internet is I/O bound, not CPU bound, web applications spend their time waiting on external resources" | 09:29 |
| fijal | this is probably a lie | 09:29 |
| fijal | from your hiphop blog post | 09:29 |
| Alex_Gaynor | I recognize it :) | 09:30 |
| arigato | fijal: ah, sorry, I indeed interrupted the windows buildbots by restarting the master | 09:30 |
| arigato | and then they just restarted, but immediately crashed | 09:30 |
| fijal | arigato: I guess if you asked me "do you have any builds" I would say no | 09:30 |
| fijal | because I kind of expected them to be built by now | 09:30 |
| Action: arigato checks if they are waiting on some "Ok" button | 09:31 | |
| fijal | arigato: thanks for all the windows work btw | 09:31 |
| arigato | np | 09:31 |
| arigato | yes, they are | 09:31 |
| arigato | I think I want Christian's cool hack that really detects dialog boxes and clicks Ok | 09:32 |
| arigato | fijal: you can re-try a windows build now...... | 09:33 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-win-x86-32/builds/540 [12fijal, release-1.7.x] | 09:33 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/272 [12fijal, release-1.7.x] | 09:33 |
| fijal | arigato: I think we skip the new website for the release | 09:33 |
| fijal | it requires work, at the very least | 09:33 |
| arigato | "good" | 09:33 |
| fijal | I just don't want to make it a release blocker | 09:34 |
| fijal | do we have any blockers btw? | 09:34 |
| fijal | or we can just release? | 09:34 |
| fijal | you can have a look at the list of features in the release announcement btw | 09:34 |
| fijal | it's not "written" but it lists things | 09:34 |
| arigato | there's windows support for _continuation, christian is working on it | 09:35 |
| arigato | but the windows release can be a few days late as usual | 09:35 |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 09:39 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy. | 09:40 | |
| fijal | Alex_Gaynor: ok, as of now multidim branch contains serious performance regressions | 09:40 |
| Alex_Gaynor | fijal: that's no good :) | 09:41 |
| fijal | yes | 09:41 |
| fijal | where is keenan? | 09:41 |
| fijal | exarkun: ? | 09:41 |
| fijal | antocuni: you know? | 09:42 |
| arigato | I just restarted wyvern, is that related? | 09:42 |
| Action: fijal has no idea | 09:42 | |
| antocuni | yes, the commit hook runs on wyvern | 09:42 |
| arigato | anything I need to manually restart? | 09:42 |
| Alex_Gaynor | kenan runs thre in a screen under antocuni or ronny'y acct I think | 09:42 |
| antocuni | I think there is a README in ~buildmaster which explain how to restart it | 09:42 |
| arigato | ah, ok | 09:42 |
| Action: arigato does it then | 09:43 | |
| antocuni | Alex_Gaynor: no, it's under buildmaster | 09:43 |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 09:43 | |
| antocuni | so that everyone can start it, if I'm not there :-) | 09:43 |
| antocuni | so, after suspend/resume my mouse stopped working and dmesg shows a lot of errors on the USB devices | 09:43 |
| antocuni | is there any hope I can get it back without rebooting? | 09:44 |
| antocuni | ah, it's back now :-) | 09:44 |
| fijal | antocuni: if you have different usb configuration after suspend/resume it might not fly | 09:44 |
| fijal | I never found out what makes it work/not work | 09:44 |
| antocuni | fijal: no, I didn't touch anything, and I do suspend/resume all the time | 09:45 |
| antocuni | bah, I suppose that a reboot doesn't hurt anyway | 09:45 |
| stakkars_ (~tismer@dslb-088-074-043-147.pools.arcor-ip.net) left irc: Ping timeout: 260 seconds | 09:46 | |
| arigato | why did pypy-c(-nojit) become 2x slower on running spambayes and ai... | 09:46 |
| arigato | (but no difference on pypy-c-jit) | 09:47 |
| fijal | arigato: obviously :) | 09:48 |
| fijal | because I made --jit off disable the regex JIT | 09:48 |
| JaredW (~jared@061093200075.ctinets.com) left irc: Ping timeout: 244 seconds | 09:48 | |
| arigato | ah! | 09:48 |
| arigato | and for "ai", because it disables the jitdriver in the sum(genexp) case | 09:49 |
| arigato | good | 09:49 |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 09:49 | |
| fijal | "good" | 09:50 |
| fijal | as in broadcasting seems to work | 09:50 |
| hongminhee (~dahlia@175.125.21.72) joined #pypy. | 09:55 | |
| kenaan (~kenaan@cube.twistedmatrix.com) joined #pypy. | 09:55 | |
| kenaan | 12fijal numpy-multidim-shards 1129fe0349fa99 15/pypy/module/micronumpy/: make ones support multidim arrays. Also write a passing test | 09:55 |
| fijal | good | 09:56 |
| Action: fijal tries translating | 09:56 | |
| fijal | can I use tannit? | 09:56 |
| fijal | Alex_Gaynor: modulo performance regressions, it's ready to be merged | 09:56 |
| arigato | fijal: yes | 09:57 |
| chronitis (~chronitis@88-104-120-56.dynamic.dsl.as9105.com) joined #pypy. | 10:00 | |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 258 seconds | 10:01 | |
| kenaan | 12hakanardo jit-targets 118df495b92a7d 15/pypy/jit/: rename | 10:01 |
| kenaan | 12hakanardo jit-targets 1137eed202c113 15/pypy/jit/metainterp/: centralize the unrolling call to optimizeopt | 10:01 |
| wozozo (wozozo@leaf.wozozo.org) left #pypy. | 10:01 | |
| arigato | fijal: tannit is done for you | 10:04 |
| fijal | crash | 10:05 |
| arigato | (just thought I'd mention it here, because I'm running a gkrell) | 10:05 |
| kvda (~kvda@124-168-163-66.dyn.iinet.net.au) joined #pypy. | 10:05 | |
| kenaan | 12fijal numpy-multidim-shards 113f7e25afec9d 15/pypy/module/micronumpy/interp_numarray.py: more rpythonization (and potential crash avoidance) | 10:06 |
| fschwidom (~fschwidom@46.115.22.225) joined #pypy. | 10:08 | |
| fijal (~fijal@197.169.160.167) left irc: Read error: Connection reset by peer | 10:08 | |
| Taggnostr (~quassel@dyn57-215.yok.fi) left irc: Read error: No route to host | 10:11 | |
| Taggnostr (~quassel@dyn57-215.yok.fi) joined #pypy. | 10:12 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 10:12 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 10:12 | |
| rokujyouhitoma (~rokujyouh@203-179-94-169.cust.bit-drive.ne.jp) left irc: Remote host closed the connection | 10:14 | |
| Da_Blitz (~Da_Blitz@203.56.250.63) left irc: Ping timeout: 258 seconds | 10:21 | |
| kenaan | 12hakanardo jit-targets 1173f40a140282 15/pypy/jit/metainterp/: adapt test framework to new interface | 10:25 |
| Da_Blitz (~Da_Blitz@203.56.250.63) joined #pypy. | 10:27 | |
| kenaan | 12arigo default 11099a556b1828 15/pypy/rpython/lltypesystem/rbuilder.py: Backout 09269d2f8fee. It forces the builder object itself to be escaped. | 10:35 |
| kenaan | 12arigo default 11b158161216db 15/pypy/module/pypyjit/test_pypy_c/test_string.py: Fix. | 10:38 |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 10:39 | |
| cpets (4f75d76f@gateway/web/freenode/ip.79.117.215.111) joined #pypy. | 10:42 | |
| Guest9705 (~jared@061093200075.ctinets.com) joined #pypy. | 10:42 | |
| JaredW (~jared@061093200075.ctinets.com) joined #pypy. | 10:42 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 10:44 | |
| chronitis | can anyone tell me what the preferred pypy string configuration is - string vs rope, with/without strbuf, strslice, strjoin specialisations? | 10:46 |
| chronitis | (going through the py3k bytes code and trying to work out what needs to be fixed and specialised into bytes and unicode and what is residual) | 10:46 |
| arigato | the default configuration has just stringobject and unicodeobject | 10:47 |
| chronitis | I haven't done any performance testing myself - are there any numbers available on what benefit the other configurations do (or do not) have? | 10:48 |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 11:02 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 11:02 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 11:06 | |
| ronny | moin | 11:09 |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 11:10 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 11:10 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 11:13 | |
| rokujyouhitoma (~rokujyouh@240f:11:f952:1:21dc:a608:3176:ee20) joined #pypy. | 11:14 | |
| arigato | ronny: moin | 11:21 |
| arigato | chronitis: it's not really possible, because the other configurations have different algorithmic complexity | 11:21 |
| arigato | that means that for most existing programs, they are a bit slower because of the additional overhead | 11:22 |
| arigato | but for some programs they have non-linear benefits (i.e. more than X times, for any X, if the program runs long enough) | 11:22 |
| arigato | the limiting factor is that all *existing* python programs are written to avoid the cases that are nonlinear on CPython | 11:23 |
| arigato | so that's why you don't get any benefit in practice | 11:23 |
| chronitis | but it is desirable to maintain them as functioning options so that they can be used as optimisations for specific applications? | 11:24 |
| Vorpal (~AnMaster@unaffiliated/anmaster) joined #pypy. | 11:24 | |
| arigato | yes | 11:24 |
| arigato | but also, for the py3k port, you can ignore them completely as a first step | 11:24 |
| EnCuKou (~encukou@a91-156-243-246.elisa-laajakaista.fi) joined #pypy. | 11:24 | |
| chronitis | they work - at least, they work with the bytes type and are not implemented with the string/unicode type | 11:24 |
| arigato | ok | 11:25 |
| chronitis | erm, except for stringjoin which fails some unittests for obscure reasons, but that's a low priority for now | 11:27 |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Connection timed out | 11:28 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 11:29 | |
| kkris (~kris@93-82-36-37.adsl.highway.telekom.at) left irc: Quit: Leaving. | 11:29 | |
| derdon (~derdon@p5DE8B94E.dip.t-dialin.net) joined #pypy. | 11:34 | |
| fox__ (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 11:36 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 11:36 | |
| kalenz (~kalenz@ping.kalenz.fr) left irc: Ping timeout: 240 seconds | 11:39 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 11:39 | |
| kalenz (~kalenz@ping.kalenz.fr) joined #pypy. | 11:44 | |
| Nick change: kalenz -> Guest54592 | 11:45 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Connection timed out | 11:56 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 11:57 | |
| espes (~espes@123-243-221-248.tpgi.com.au) joined #pypy. | 11:58 | |
| fox__ (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 12:02 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 12:06 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Connection timed out | 12:13 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 12:15 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy. | 12:23 | |
| kvda (~kvda@124-168-163-66.dyn.iinet.net.au) left irc: Quit: x___x | 12:25 | |
| voidspace (~voidspace@python/psf/voidspace) joined #pypy. | 12:28 | |
| ojii (~ojii@80-218-1-60.dclient.hispeed.ch) joined #pypy. | 12:39 | |
| iori (~iori@110-133-45-54.rev.home.ne.jp) joined #pypy. | 12:41 | |
| arigato (~arigo@89.204.155.162) left irc: Ping timeout: 244 seconds | 12:44 | |
| stakkars__ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 12:47 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 240 seconds | 12:48 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 12:49 | |
| Nick change: ojii -> ojii|desertbus | 12:54 | |
| espes (~espes@123-243-221-248.tpgi.com.au) left irc: Quit: espes | 12:58 | |
| espes (espes@2001:470:1f05:ca1::) joined #pypy. | 13:00 | |
| ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) left irc: Quit: Leaving... | 13:02 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 13:05 | |
| -kloeri (~kloeri@freenode/staff/exherbo.kloeri) to $$*- [Global Notice] Hi all, it's time to continue our ircd upgrades so we'll have a few netsplits as wolfe and hubbard is restarted. It will be somewhat noisy with just shy of 4000 people affected but shouldn't take long. Thank you for using freenode. | 13:05 | |
| mfoord (~anonymous@python/psf/voidspace) joined #pypy. | 13:07 | |
| jacob22_ (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) left irc: Ping timeout: 240 seconds | 13:07 | |
| jacob22_ (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) joined #pypy. | 13:08 | |
| verte (~verte@python/site-packages/verte) left irc: Quit: ~~~ Crash in JIT! | 13:12 | |
| apollo13 (~apollo13@unaffiliated/apollo13) got netsplit. | 13:18 | |
| Arnar (~arnarb@li187-148.members.linode.com) got netsplit. | 13:18 | |
| thoughtpolice (~thoughtpo@li111-206.members.linode.com) got netsplit. | 13:18 | |
| pybot joined #pypy. | 13:19 | |
| -ChanServ (ChanServ@services.)- [#pypy] Welcome! | 13:19 | |
| apollo13 (~apollo13@unaffiliated/apollo13) joined #pypy. | 13:19 | |
| -ChanServ (ChanServ@services.)- [#stackless] Welcome to #stackless. This channel is for the discussion of matters relating to Stackless Python. Remember that others in this channel may not be in the same timezone as you, so stick around for an answer (even if only in your channel history) if you ask a question. The mailing list is also recommended as being a faster place to get help (http://www.stackless.com/mailman/listinfo/stackless). | 13:19 | |
| thoughtpolice (~thoughtpo@li111-206.members.linode.com) joined #pypy. | 13:20 | |
| exarkun (~exarkun@wordeology.com) joined #pypy. | 13:20 | |
| #pypy: mode change '+o exarkun' by ChanServ!ChanServ@services. | 13:20 | |
| arigato (~arigo@89.204.153.96) joined #pypy. | 13:28 | |
| gsnedders | Anyone got any recommendations as to how to write a performant/memory-efficant (yes, I know they're contradictory goals) trie, given the majority of accesses will be longest-prefix matches? Going for a non-compressed trie would likely use an insane amount of memory in CPython at least& | 13:41 |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy. | 13:46 | |
| chronitis (~chronitis@88-104-120-56.dynamic.dsl.as9105.com) left irc: Ping timeout: 276 seconds | 13:49 | |
| kkris (~kris@80-123-40-212.adsl.highway.telekom.at) joined #pypy. | 14:06 | |
| arigato | gsnedders: I suppose that a plain Python dictionary doesn't work, because it require too much memory? | 14:15 |
| gsnedders | arigato: Right | 14:16 |
| rguillebert | Could dict-strategies improve that (on PyPy) ? | 14:16 |
| arigato | if there is no associated data with each key, I suppose that the best would be http://en.wikipedia.org/wiki/Acyclic_deterministic_finite_automaton | 14:17 |
| stakkars__ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Connection timed out | 14:17 | |
| gsnedders | rguillebert: The large part of the memory usage is storing each substring multiple times, so not *that* much | 14:17 |
| jer | anyone know how the jit works when it comes across an exec ... in statement? I'm curious if it doesn't jit, doesn't optimize, or how it can optimize such code in the common case? (looking for some documentation; the pdf on the jit doesn't really answer this question) | 14:18 |
| arigato | rguillebert: no, unlikely. this is a problem that really needs a different algorithm than a hash table | 14:18 |
| rguillebert | in school we did a trie with a tree | 14:18 |
| ltratt (~ltratt@ntratt.plus.com) joined #pypy. | 14:18 | |
| rguillebert | each node contains one or more letter (except the root) | 14:18 |
| gsnedders | arigato: Need values, sadly | 14:18 |
| arigato | gsnedders: well, I'm just reading http://en.wikipedia.org/wiki/Trie , but you can do that too :-) | 14:19 |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 14:19 | |
| rguillebert | yes that's what I saw in class | 14:19 |
| gsnedders | rguillebert: See, that might work fine in PyPy, but definitely will use all the memory in CPython. | 14:19 |
| jer | rguillebert, use a radix trie | 14:20 |
| gsnedders | arigato: I did that already, I was really looking for stuff specific to Python. :) | 14:20 |
| arigato | basically the current-day pypy contains no particular space optimization that improve over CPython more than a constant factor | 14:20 |
| rguillebert | jer, yes that's the version I saw | 14:20 |
| gsnedders | Aren't classes typed in PyPy, which removes a lot of the overhead per object? | 14:20 |
| arigato | (the JIT can be considered as improving more than any fixed factor, but still only a constant factor *per user loop*) | 14:21 |
| jer | rguillebert, try it and see if it's good enough for your uses. it's definitely better than some of the other algorithms mentioned here for the general goals you've described. | 14:21 |
| jer | rguillebert, if it doesn't prove to meet your needs, look for osmething else -- but learn something first =] | 14:21 |
| gsnedders | jer: Radix trees aren't great when you're constantly doing prefix lookups, though | 14:21 |
| rguillebert | it's not my goals :p | 14:21 |
| gsnedders | jer: It's me who was asking :P | 14:21 |
| jer | oh | 14:21 |
| jer | my apologies | 14:21 |
| jer | i must have mixed things up | 14:22 |
| arigato | gsnedders: yes, instances in pypy are typically much smaller than on CPython, but only a constant factor (something like 3x or 5x) | 14:22 |
| exarkun | gsnedders: If a lot of memory is used by the redundant string prefixes, how about a data structure that doesn't make so many copies of that data? | 14:23 |
| gsnedders | I mean, I do have the advantage of the trie being immutable, at least, which means I could do something like a tightly packed tree | 14:23 |
| ltratt | Hi all. Is it just me or is slice assignment in lists in RPython broken? "x = [1,2,3,4]; x[1:3] = [5]" and x incorrectly ends up with [1,5,3,4]. | 14:24 |
| gsnedders | exarkun: That's what I want. But most simple impls of a trie will have so much overhead given pointers to other nodes. | 14:24 |
| jer | anyone know where i can get some more detailed information on how the JIT works with highly reflective code (code like exec ... in where you pass around locals) | 14:24 |
| ltratt | in ll_listsetslice in pypy/rpython/rlist, there appears to be an assertion which prevents this, but isn't triggered | 14:24 |
| ltratt | Here's a simple RPython example http://pastebin.com/Zh2V2dXN | 14:28 |
| arigato | ltratt: uh? works for me | 14:28 |
| arigato | ah, in RPython, sorry | 14:28 |
| arigato | yes, it is broken in the sense that it's explicitly not supported | 14:28 |
| rguillebert | gsnedders, you can have a b-tree like data structure | 14:29 |
| arigato | you need to compile the example with "make lldebug" in order to enable the assertion | 14:29 |
| ltratt | To my surprise, the code happily compiles! Unless you read the comment in rlist.py, you've got no way of knowing this won't work. | 14:29 |
| arigato | yes: "make lldebug" is the way | 14:29 |
| rguillebert | or at least you can use the ideas behind a b-tree to have something more efficient | 14:30 |
| arigato | there is no way in general to prove ahead of time that the length of the list is the same as the length of the slice | 14:30 |
| arigato | so we just don't | 14:30 |
| fijal (~fijal@41.49.141.232) joined #pypy. | 14:31 | |
| ltratt | arigato: is there a performance reason to impose the "same size" constraint? | 14:31 |
| ltratt | in ll_listsetslice it says "but it would be easy enough to support if really needed" :) | 14:31 |
| arigato | no, the reason is just as noted in a comment in list_setslice | 14:31 |
| arigato | exactly | 14:31 |
| fijal | hi | 14:32 |
| arigato | it was not needed so we didn't implement it | 14:32 |
| arigato | re-hi | 14:32 |
| JaredW (~jared@061093200075.ctinets.com) left irc: Ping timeout: 240 seconds | 14:32 | |
| stakkars__ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 14:33 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 14:33 | |
| Guest9705 (~jared@061093200075.ctinets.com) left irc: Ping timeout: 260 seconds | 14:33 | |
| ltratt | arigato: ok, i see. | 14:33 |
| arigato | ltratt: you are right, this is not documented. /me adds | 14:36 |
| fijal | arigato: http://paste.pocoo.org/show/510536/ | 14:38 |
| fijal | can you tell me why indices_w is a resizable list here? | 14:38 |
| kenaan | 12arigo default 11c665226786f8 15/pypy/doc/coding-guide.rst: Document slice assignment and deletion for RPython lists. | 14:40 |
| voidspace (voidspace@python/psf/voidspace) left #pypy. | 14:40 | |
| arigato | fijal: no clue :-( | 14:40 |
| ltratt | arigato: ok, i've hacked around it in my VM for the time being. | 14:40 |
| fijal | arigato: I get an exception from translating newtuple | 14:41 |
| fijal | with ListChangeUnallowed | 14:41 |
| fijal | "resizing list" | 14:41 |
| arigato | I guessed so, but no clue | 14:41 |
| fijal | :/ | 14:41 |
| fijal | for now I'll do a copy and leave a comment, don't feel like attacking this particular yak... | 14:42 |
| kenaan | 12fijal numpy-multidim-shards 11b553f019a2df 15/pypy/module/micronumpy/interp_numarray.py: a fix and a comment | 14:44 |
| fijal | arigato: where are tests for list comprehension optimization? | 14:46 |
| fijal | somewhere in translator/backendopt? | 14:47 |
| fijal | got it | 14:50 |
| Guest9705 (~jared@061093200075.ctinets.com) joined #pypy. | 14:57 | |
| JaredW (~jared@061093200075.ctinets.com) joined #pypy. | 14:57 | |
| fijal | call table too complex now | 15:01 |
| fijal | arigato: I have hard time encoding information that I know | 15:01 |
| fijal | into numpy jit driver | 15:01 |
| fijal | there are certain constraints, like paths takes and lengths of immutable arrays | 15:02 |
| fijal | that can be constant folded, but values themselves (from arrays) should not be | 15:02 |
| fijal | I don't know if I can explain it well | 15:04 |
| ltratt (~ltratt@ntratt.plus.com) left irc: Quit: using sirc version 2.211+KSIRC/1.3.12 | 15:04 | |
| kenaan | 12fijal numpy-multidim-shards 1109220a3f29a0 15/pypy/module/micronumpy/interp_numarray.py: fix signatures | 15:06 |
| bobbyz (~bobbyz@107.24.205.253) left irc: Quit: Leaving | 15:19 | |
| rokujyouhitoma (~rokujyouh@240f:11:f952:1:21dc:a608:3176:ee20) left irc: Remote host closed the connection | 15:19 | |
| rokujyouhitoma (~rokujyouh@240f:11:f952:1:21dc:a608:3176:ee20) joined #pypy. | 15:20 | |
| rokujyouhitoma (~rokujyouh@240f:11:f952:1:21dc:a608:3176:ee20) left irc: Ping timeout: 240 seconds | 15:24 | |
| DasIch (~dasich@p3E990375.dip.t-dialin.net) joined #pypy. | 15:26 | |
| Sho_ (~EHS1@kde/hein) joined #pypy. | 15:26 | |
| kenaan | 12fijal numpy-multidim-shards 1193944ee46bb5 15/pypy/module/micronumpy/interp_numarray.py: rpython fixes (?) | 15:32 |
| fijal (~fijal@41.49.141.232) left irc: Read error: Connection reset by peer | 15:32 | |
| fijal (~fijal@41.52.39.193) joined #pypy. | 15:34 | |
| kenaan | 12fijal default 114150312ee458 15/pypy/translator/test/test_simplify.py: A failing test showing problems with list-comprehension-optimization | 15:43 |
| kenaan | 12fijal default 11307b3c6238de 15/pypy/: merge | 15:44 |
| amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy. | 15:48 | |
| fijal | arigato: do you think it makes sense to try to implement list-comprehension-operation on applevel? | 15:51 |
| kenaan | 12fijal default 110bdcf803c0fd 15/pypy/translator/: improve the list-comprehension-operation optimization to work for slightly more advanced cases as well | 15:52 |
| arigato | fijal: how? | 15:53 |
| fijal | by having a similar hint that would preallocate the list | 15:54 |
| fijal | so a special opcode essentially | 15:54 |
| fijal | or improve the newlist opcode to pass a hint "by the way, length of this might be your guide for the initial size" | 15:55 |
| arigato | and also: uh, argh. thanks for 0bdcf803c0fd | 15:55 |
| fijal | pleasure :) | 15:55 |
| arigato | yes, I see. note that we're still "missing" an optimization done by CPython on other cases | 15:56 |
| arigato | the __length_hint__ special mode, I think | 15:56 |
| fijal | yes, I know | 15:56 |
| fijal | but cpython does not do anything for list-comprehensions right? | 15:57 |
| fijal | it only works for stuff like str.join(list-iterator) | 15:57 |
| fijal | or something | 15:57 |
| arigato | yes | 15:57 |
| fijal | yes yes | 15:57 |
| fijal | definitely | 15:57 |
| fijal | is a mess to implement | 15:57 |
| kenaan | 12fijal numpy-multidim-shards 11249dc7d8f9cb 15/pypy/: merge default in | 15:57 |
| kenaan | 12fijal numpy-multidim-shards 110fc1ea420599 15/pypy/module/micronumpy/interp_numarray.py: don't copy a list any more - the cause was fixed in 0bdcf803c0fd | 15:57 |
| fijal | because I can't find a way to implement a multimethod that's not related to a special method at all | 15:57 |
| fschwidom (~fschwidom@46.115.22.225) left irc: Ping timeout: 244 seconds | 15:57 | |
| fijal | and on CPython you can't access __length_hint__ from applevel | 15:58 |
| fijal | I think | 15:58 |
| arigato | I think you can | 15:58 |
| fschwidom (~fschwidom@46.115.32.161) joined #pypy. | 15:58 | |
| fijal | ok | 15:58 |
| fijal | then I can implement it | 15:58 |
| arigato | well the question is more if it makes sense to | 15:58 |
| fijal | good question | 15:58 |
| fijal | I would rather try to implement the list-comprehension optimization on applevel | 15:59 |
| fijal | if you ask me | 15:59 |
| arigato | indeed, maybe it's more important | 15:59 |
| fijal | http://paste.pocoo.org/show/510566/ | 15:59 |
| fijal | indeed, you can access __length_hint__ | 15:59 |
| fijal | to be precise, I did not find a case where it matters in the wild yet | 15:59 |
| fijal | where you pass something that would potentially have a __length_hint__ | 15:59 |
| arigato | :-) | 16:00 |
| fijal | but well, what do I know... | 16:00 |
| arigato | it's when you call list(l) | 16:00 |
| fijal | and l is some sort of iterator? | 16:00 |
| arigato | yes | 16:00 |
| arigato | like in your paste | 16:00 |
| fijal | yes precisely, I have not found that in the wild | 16:00 |
| arigato | ok :-) | 16:00 |
| fijal | where it would be a problem | 16:01 |
| fijal | I found in the wild where preallocating a list would immensly help | 16:01 |
| arigato | but you mean, preallocating the list with l = [None]*n instead of calling l.append() at app-level | 16:02 |
| fijal | yes | 16:02 |
| arigato | ok, indeed | 16:02 |
| fijal | except it's messier to do what you just said | 16:02 |
| fijal | because you have to hit *exactly* | 16:02 |
| fijal | while if you do it in a generic way, in case something wrong happens, too bad you just reallocate | 16:03 |
| arigato | well we have to be marginally careful | 16:03 |
| arigato | for example, if you have a lot of loops like: | 16:03 |
| arigato | l = []; for x in other_list: ... l.append(y) ... if <common case>: break | 16:03 |
| arigato | then you would end up with a lot of lists preallocated to contain a lot of items, but actually containing only a few | 16:03 |
| fijal | sure, but that would not be caught by the optimization right? | 16:04 |
| fijal | it's only when you have one append for each path | 16:04 |
| fijal | I'm talking about more obscure cases, like using sys._getframe or passing list to some obscure call down the line that modifies it etc. | 16:04 |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 16:04 | |
| arigato | no, that's a case that *is* caught by the RPython optimization, | 16:04 |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 16:04 | |
| fijal | hm | 16:04 |
| arigato | except that we also have a special operation after the loop | 16:05 |
| fijal | we can go crazy and have a special GC support like in builders... | 16:05 |
| arigato | ...yes... | 16:06 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 16:06 | |
| Guest9705 (~jared@061093200075.ctinets.com) left irc: Remote host closed the connection | 16:06 | |
| fijal | but let's not maybe :) | 16:06 |
| fijal | we can experiment and measure the impact | 16:06 |
| fijal | for the GC trimming it down is almost as bad no? | 16:07 |
| fijal | except it does not survive | 16:07 |
| fijal | but you still pay a price for the fact that you grossly overallocated | 16:07 |
| arigato | yes | 16:08 |
| fijal | we probably have a lot of [i for i in xxx if ...] | 16:08 |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Client Quit | 16:08 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 16:10 | |
| fox__ (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 16:11 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 16:11 | |
| fijal | we're missing arange | 16:15 |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 16:19 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 16:20 | |
| stakkars__ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 16:20 | |
| cpets (4f75d76f@gateway/web/freenode/ip.79.117.215.111) left irc: Ping timeout: 265 seconds | 16:27 | |
| mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord | 16:28 | |
| fijal | Alex_Gaynor: ping | 16:31 |
| kenaan | 12fijal numpy-multidim-shards 117a534f000326 15/pypy/module/micronumpy/test/test_numarray.py: add a passing test, just because | 16:31 |
| fox__ (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 16:31 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 16:31 | |
| fijal | so numpy people have funky opinions about python | 16:32 |
| fijal | for example you can do i[3] = 5 | 16:32 |
| fijal | where i is numpy iterator | 16:32 |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy. | 16:33 | |
| lucian | huh? | 16:34 |
| lucian | what on earth does that do? | 16:34 |
| fijal | lucian: google for numpy.flatiter | 16:39 |
| lucian | docs look sane http://docs.scipy.org/doc/numpy/reference/generated/numpy.flatiter.html#numpy.flatiter | 16:41 |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 16:44 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 16:46 | |
| derdon (~derdon@p5DE8B94E.dip.t-dialin.net) left irc: Remote host closed the connection | 16:48 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 16:51 | |
| fijal | hm | 16:57 |
| fijal | arigato: ping? | 16:57 |
| arigato | yes? | 16:58 |
| mat^2 (~mathias@212.130.113.35) joined #pypy. | 16:58 | |
| fijal | did you look into release announcement? | 16:58 |
| arigato | ah | 16:59 |
| arigato | I added some comments to it, but indeed I only read half :-/ | 17:00 |
| fijal | ok :) | 17:00 |
| fijal | I'll change rough-list-of-stuff into a release announcement | 17:00 |
| arigato | ok | 17:01 |
| arigato | indeed, from my point of view, the most important thing is "lots of small performance improvements" | 17:02 |
| fijal | yes | 17:02 |
| fijal | as previous | 17:02 |
| fijal | and as previous | 17:02 |
| fijal | http://buildbot.pypy.org/summary?branch=release-1.7.x | 17:02 |
| arigato | well I don't mean to say that the other things are not important | 17:02 |
| fijal | do you think we're good to go? | 17:02 |
| fijal | except we don't have an os x buildbot online | 17:02 |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 17:02 | |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 17:02 | |
| mfoord (~anonymous@python/psf/voidspace) joined #pypy. | 17:02 | |
| arigato | I just want to say that you don't miss an essential point in the announcement as long as you have this one :-) | 17:03 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/718 [12fijal, release-1.7.x] | 17:03 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/276 [12fijal, release-1.7.x] | 17:03 |
| arigato | yes, it looks good to go, assuming there wasn't an OSX-specific failure added in the last day | 17:03 |
| fijal | well, we need a build :) | 17:03 |
| arigato | uh, there is actually one? | 17:04 |
| fijal | oh? | 17:04 |
| fijal | ah! | 17:04 |
| fijal | it's called mac | 17:04 |
| bbot2 | 13Exception: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/718 [12fijal, release-1.7.x] | 17:04 |
| bbot2 | 13Exception: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/276 [12fijal, release-1.7.x] | 17:05 |
| fijal | !@#%$@#! | 17:05 |
| arigato | http://buildbot.pypy.org/nightly/release-1.7.x/pypy-c-jit-49519-7773f8fc4223-osx64.tar.bz2 | 17:05 |
| fijal | yes yes | 17:05 |
| fijal | it's called mac on the summary though | 17:05 |
| fijal | and osx everywhere else | 17:05 |
| arigato | ah | 17:05 |
| fijal | I can't get speed to display me how much faster is 1.7 to 1.6 | 17:06 |
| fijal | http://speed.pypy.org/comparison/?exe=1%2BL%2Bdefault&ben=1%2C34%2C27%2C2%2C25%2C3%2C4%2C5%2C22%2C6%2C39%2C7%2C8%2C23%2C24%2C9%2C10%2C11%2C12%2C13%2C14%2C15%2C35%2C36%2C37%2C38%2C16%2C28%2C30%2C32%2C29%2C33%2C17%2C18%2C19%2C20&env=1&hor=false&bas=1%2B388&chart=normal+bars | 17:07 |
| fijal | translation seems got a little slower | 17:07 |
| amaury_ | because there are more features? | 17:08 |
| fijal | no no | 17:09 |
| arigato | 4.7 / 3.7 ? | 17:10 |
| fijal | arigato: it misses some benchmarks | 17:11 |
| fijal | but also we don't have those for 1.6 | 17:11 |
| arigato | so just use this | 17:11 |
| fijal | yes, I guess | 17:11 |
| fijal | it's as arbitrary as anything else | 17:11 |
| fijal | arigato: did you add anything to the list? | 17:12 |
| fijal | if so I can't see it | 17:12 |
| arigato | no, I added comments for "stackless" | 17:13 |
| fijal | right | 17:14 |
| fijal | ok | 17:14 |
| fijal | I think it's worth noting that while we didn't drastically improve pypy's performance, we broadened the "sweet spot" quite a bit | 17:15 |
| fijal | that is, a fast python code would only be marginally faster, but a lot of *other* code will be faster without rewriting | 17:15 |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 17:15 | |
| fijal | arigato: are we generally ready to release tomorrow? | 17:15 |
| arigato | yes | 17:16 |
| arigato | fijal: true, that's worth noting | 17:17 |
| fijal | with apologies to people who already optimized for pypy... | 17:17 |
| arigato | basically by now we found out and fixed most cases where pypy was still much slower than cpython | 17:17 |
| fijal | longs | 17:17 |
| fijal | string concatenation | 17:18 |
| fijal | not quite :) | 17:18 |
| arigato | well, true, but it's no longer "much slower" in the same sense as it was a few releases ago | 17:18 |
| fijal | https://bugs.pypy.org/issue292 | 17:19 |
| fijal | can I close such issues? | 17:19 |
| arigato | eh | 17:19 |
| arigato | no | 17:19 |
| arigato | in general yes, but this specific issue, maybe not | 17:20 |
| fijal | can-I-put-them-in-the-state-where-I-don't-see-it-any-more-because-I-am-not-interested | 17:20 |
| fijal | I guess | 17:20 |
| arigato | I'll reply to it | 17:20 |
| fijal | wish I suppose | 17:20 |
| CIA-68 | 03fijal 07roundup * 10#350/App-level bits of code: | 17:22 |
| CIA-68 | [wontfix] A lot of applevel was moved to interplevel. However, we moved some of it back to | 17:22 |
| CIA-68 | applevel because the JIT is kind of good. I suppose t ... * 14https://bugs.pypy.org/issue350 | 17:22 |
| CIA-68 | 03arigo 07roundup * 10#292/try using const keyword for rpython strings with C backend: | 17:22 |
| CIA-68 | [chatting] We should try to emit such _immutable_ structures with the const keyword, and | 17:22 |
| CIA-68 | see if it makes any difference at all. Assigning to me :-) * 14https://bugs.pypy.org/issue292 | 17:22 |
| Action: arigato -> dinner | 17:31 | |
| arigato (~arigo@89.204.153.96) left irc: Quit: See you | 17:31 | |
| derdon (~derdon@p5DE8B94E.dip.t-dialin.net) joined #pypy. | 17:32 | |
| JaredW (~jared@061093200075.ctinets.com) left irc: Ping timeout: 240 seconds | 17:37 | |
| CIA-68 | 03fijal 07roundup * 10#472/Too many RPython exceptions with multimethods: | 17:37 |
| CIA-68 | [resolved] I think this is largely irrelevant in the presence of the JIT - the entire raise | 17:37 |
| CIA-68 | chain gets constant folded away. * 14https://bugs.pypy.org/issue472 | 17:37 |
| fox__ (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 17:39 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 17:39 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 17:43 | |
| mitchellh (~mitchellh@c-71-202-125-40.hsd1.ca.comcast.net) joined #pypy. | 17:43 | |
| asabil (~asabil@131.246.16.62.customer.cdi.no) joined #pypy. | 17:43 | |
| tlynn_ (~tlynn@cpc6-cmbg14-2-0-cust121.5-4.cable.virginmedia.com) left irc: Ping timeout: 240 seconds | 17:46 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 18:03 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 18:06 | |
| fox__ (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 18:06 | |
| Nick change: Guest54592 -> kalenz | 18:06 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 18:07 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 18:07 | |
| CIA-68 | 03DragonSA 07roundup * 10#929/Improve platform support for FreeBSD: | 18:16 |
| CIA-68 | [new] Fix a bug where a custom CFLAGS/LDFLAGS could result in a linker error. | 18:16 |
| CIA-68 | On FreeBSD `-pthreads' needs to be passed to the linker so ensu ... * 14https://bugs.pypy.org/issue929 | 18:16 |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 18:23 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 18:29 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 18:32 | |
| mitchellh (~mitchellh@c-71-202-125-40.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep | 18:35 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 18:36 | |
| JaRoel|4d (~jaroel|4d@2001:980:7133:1:8952:fd83:6442:b1f0) joined #pypy. | 18:37 | |
| iori (~iori@110-133-45-54.rev.home.ne.jp) left irc: Remote host closed the connection | 18:41 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 18:43 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 18:43 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 18:46 | |
| Alex_Gaynor | fijal: pong | 18:51 |
| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy. | 18:57 | |
| fijal | Alex_Gaynor: so, do we have a todo for numpy? | 18:59 |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 18:59 | |
| cpets (4f75c8e2@gateway/web/freenode/ip.79.117.200.226) joined #pypy. | 18:59 | |
| fijal | I have few items | 19:00 |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 19:00 | |
| Alex_Gaynor | fijal: well both of our branches for starters, array.ctypes I guess | 19:00 |
| fijal | no no no | 19:02 |
| fijal | can we point people to stuff to do | 19:02 |
| fijal | that's my point | 19:02 |
| fijal | I have numpy.flatten/flatiter | 19:02 |
| fijal | and various kinds of range (there are at least 3) | 19:02 |
| Alex_Gaynor | fijal: frompyfunc I think is still ag ood one | 19:03 |
| fijal | yes | 19:03 |
| fijal | but we should have that in a list | 19:03 |
| Alex_Gaynor | extradoc/planning/numpy-todo or so | 19:03 |
| fijal | yes | 19:03 |
| fijal | feel like creating one? | 19:03 |
| fijal | also, feel like looking over stuff in pypy/doc/release-1.7.0.rst? | 19:04 |
| Alex_Gaynor | fijal: there's already planning/micronumpy.txt | 19:04 |
| fijal | cool | 19:04 |
| fijal | why don't we have a link from project-ideas then? | 19:04 |
| Action: fijal fixes | 19:05 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 240 seconds | 19:07 | |
| kenaan | 12alex_gaynor numpy-dtype-refactor-complex 117a565e62ba58 15/pypy/module/micronumpy/: initial work on complex values | 19:08 |
| kenaan | 12alex_gaynor default 11f714eadacaef 15/pypy/doc/release-1.7.0.rst: clarrify | 19:08 |
| fijal | Alex_Gaynor: multidim translates | 19:13 |
| Alex_Gaynor | fijal: you said it's slower thugh? | 19:13 |
| fijal | and I can't run the performance-python benchmark yet | 19:13 |
| Alex_Gaynor | why not? | 19:13 |
| fijal | yes | 19:13 |
| fijal | arange/flat | 19:13 |
| Alex_Gaynor | we have arange I thought? | 19:13 |
| Alex_Gaynor | looks like no, should be easy to write I think | 19:14 |
| fijal | yes | 19:16 |
| fijal | but there is a coupld more ranges, I would keep it for some beginner | 19:17 |
| Alex_Gaynor | TBH I think some beginner did work on it, but I never saw the final patch | 19:17 |
| chronitis (~chronitis@79-68-112-117.dynamic.dsl.as9105.com) joined #pypy. | 19:17 | |
| kenaan | 12fijal extradoc 11b42c3cfb12d8 15/planning/micronumpy.txt: add few tasks | 19:18 |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Remote host closed the connection | 19:18 | |
| kenaan | 12fijal default 11e3fa364982b2 15/pypy/doc/project-ideas.rst: link to planning | 19:18 |
| fijal | good | 19:18 |
| fijal | I think tomorrow is 1.7 | 19:18 |
| Alex_Gaynor | cool | 19:19 |
| fijal (~fijal@41.52.39.193) left irc: Read error: Connection reset by peer | 19:19 | |
| gsnedders | Hmm, for optimized unicode repr, why not just use UTF-8? Perf of iterating over codepoints? | 19:21 |
| Alex_Gaynor | O(1) indexing? | 19:21 |
| gsnedders | I wonder about UTF-8 and an array of indexes. | 19:22 |
| gsnedders | Should be as memory efficent in UTF-16 in most cases, and provides O(1) indexing unlike UTF-16 | 19:22 |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 19:22 | |
| Alex_Gaynor | for an ASCII corpus you'd end up with 5 bytes per character, worse than UCS-4 | 19:22 |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy. | 19:22 | |
| gsnedders | Why did I just take int to be one byte? | 19:23 |
| gsnedders | Am I asleep? | 19:23 |
| Alex_Gaynor | I'm not sure, why are we discussing this :) | 19:24 |
| gsnedders | Does re have a specific JIT compiler, or does it just go through the normal compiler? | 19:25 |
| gsnedders | (what I was going to ask before I got distracted :P) | 19:25 |
| Alex_Gaynor | re has it's own JIT driver, which means it has it's own things it's specialized on, but it still uses the same optimizer and code generator | 19:27 |
| Alex_Gaynor | (the miracle of a JIT generator) | 19:27 |
| gsnedders | Where is its JIT driver? | 19:27 |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 19:27 | |
| Alex_Gaynor | combo of pypy/rlib/rsre/rsre_{core,jit}.py | 19:28 |
| cpets_ (4f75d39d@gateway/web/freenode/ip.79.117.211.157) joined #pypy. | 19:30 | |
| cpets (4f75c8e2@gateway/web/freenode/ip.79.117.200.226) left irc: Ping timeout: 265 seconds | 19:31 | |
| gsnedders | So, just checking I understand this correctly, at a higher level PyPy creates JIT code from RPython source? | 19:35 |
| Alex_Gaynor | RPython source is type inferenced, and then some of it is compiled to JITcode to be used for tracing/inlining at runtime. jitdrivers basically define what gets actually traced, and at runtime they're interpretted by the meta-interpreter which produces the traces which are compiled. | 19:37 |
| gsnedders | Right, that's what I thought. | 19:38 |
| Alex_Gaynor | cool | 19:38 |
| gsnedders | I UNDERSTAND STUFF. | 19:38 |
| gsnedders | :P | 19:38 |
| Alex_Gaynor | You work on Opera right? | 19:38 |
| gsnedders | Yeah. | 19:38 |
| cpets_ (4f75d39d@gateway/web/freenode/ip.79.117.211.157) left irc: Ping timeout: 265 seconds | 19:42 | |
| gsnedders | So for anything to be vectorized, and use SSE on x86, you'd have to add more genops for the interesting case? | 19:45 |
| ixokai (~ixokai@pdpc/supporter/student/ixokai) joined #pypy. | 19:49 | |
| lambacck (~chris@d24-150-124-118.home.cgocable.net) left irc: Quit: lambacck | 19:51 | |
| stakkars__ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 19:52 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 19:52 | |
| fox__ (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 19:53 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 19:53 | |
| whitelynx (~whitelynx@li117-47.members.linode.com) joined #pypy. | 19:54 | |
| stakkars__ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 19:54 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 19:54 | |
| Alex_Gaynor | gsnedders: well, or have some analysis in the optimizer to unroll and vectorize | 19:58 |
| fijal (~fijal@41.49.61.141) joined #pypy. | 20:02 | |
| fijal | gsnedders: what's opera story for JS? | 20:03 |
| micrypt (u2865@gateway/web/irccloud.com/x-yrcsqpctpphzxeeh) left #pypy. | 20:04 | |
| gsnedders | fijal: In what way? | 20:07 |
| fijal | what's the current JS interpreter performance characteristic and what's the architecture I suppose | 20:07 |
| gsnedders | Fundementally the same as every other type-speciailizing JS compiler, pretty much. Not got a non-type-specializing compiler, unlike others, though. | 20:09 |
| gsnedders | That and too many type-checks currently. :) | 20:09 |
| fijal | do you have an interpreter? | 20:09 |
| fijal | or just JIT? | 20:09 |
| gsnedders | interpreter + type-specializing JIT | 20:10 |
| gsnedders | Having just a type-specializing JIT would be way to expensive in terms of compilation time | 20:10 |
| fijal | V8 does that | 20:10 |
| Alex_Gaynor | V8 does tiered compilation now I thought | 20:11 |
| gsnedders | V8 has non-type-specializing as well | 20:11 |
| gsnedders | V8 originally just had non-type-speciailzing, now has type-specializing as well | 20:11 |
| fijal | what's the difference? | 20:11 |
| fijal | I mean, I don't think pypy has type-specializing compiler specifically | 20:11 |
| Alex_Gaynor | the first compilation is very simple, no optimizations, no regalloc | 20:11 |
| fijal | but it does all sorts of specialization | 20:12 |
| gsnedders | fijal: Almost everything can have side-effects in JS, so without doing stuff based upon knowledge of types CSE and the like are impossible | 20:12 |
| fijal | sure sure | 20:12 |
| fijal | like in python | 20:12 |
| fijal | ok | 20:13 |
| gsnedders | fijal: basically all the non-type-speciailizing just emit one block of machine code per bytecode instruction, with little optimization | 20:13 |
| fijal | ok | 20:13 |
| fijal | how is this more efficient than an interpreter? | 20:13 |
| gsnedders | whereas with the type-speciailizing you lose the corrospondence, given CSE and the like | 20:13 |
| Alex_Gaynor | fijal: intepretation overhead | 20:13 |
| gsnedders | Exactly. | 20:13 |
| fijal | yes, but also you miss caches more often | 20:13 |
| Alex_Gaynor | IIRC the non-type-specialization V8 compiler still does PICs | 20:13 |
| fijal | and waste tons of mem | 20:13 |
| fijal | it gave us slowdowns at least | 20:14 |
| gsnedders | Alex_Gaynor: Everyone does PICs. SpiderMonkey had them before they even had any real compilter | 20:14 |
| Alex_Gaynor | PyPy doesn't have PICs, in the stirct sense | 20:14 |
| gsnedders | fijal: AFAIK we are rarely in the cache in the interpreter anyway | 20:15 |
| gsnedders | fijal: The big gain is PICs, though, and object accesses being so much quicker | 20:15 |
| fijal | pypy has no type specialization in the strict sense either | 20:15 |
| Alex_Gaynor | well, in practice we do | 20:16 |
| fijal | yes | 20:16 |
| Alex_Gaynor | the emitted machine code is specialized for types | 20:16 |
| fijal | yes | 20:16 |
| gsnedders | in the strict sense Carakan isn't type-specializing in general (it is in some cases), but in practical terms it is | 20:16 |
| fijal | ok | 20:17 |
| Alex_Gaynor | Well, I think what fijal means is we don't ever say "a + b" specialize on "a is an intger, b is an intger", the meta interp just traces whatever set of guards is needed to guarntee it emits valid code, so if a and b are integers it will emit guard_class(a, W_IntObject) etc., but that's a function of tracing, not a "specialization" | 20:17 |
| gsnedders | Whereas no JS engine now does proper tracing. | 20:18 |
| Alex_Gaynor | I'm not sure tracemonkey was ever tracing in this sense either, when we were at mozilla they said they'd always had big problems getting trace specialization right | 20:18 |
| Action: fijal -> bed | 20:20 | |
| gsnedders | AFAIK that was related to whether traces were a single path or not | 20:20 |
| fox__ (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 20:20 | |
| gsnedders | the single path model doesn't work well with JS in the wild | 20:20 |
| gsnedders | I mean, what we do, and what at least JM does as well, is just have counters for types in the interpreter and when we fall back to the interpreter from native code. | 20:23 |
| ojii|desertbus (~ojii@80-218-1-60.dclient.hispeed.ch) left irc: Quit: Leaving | 20:23 | |
| ojii (~ojii@80-218-1-60.dclient.hispeed.ch) joined #pypy. | 20:23 | |
| fijal (~fijal@41.49.61.141) left irc: Ping timeout: 248 seconds | 20:25 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 20:25 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 20:38 | |
| EnCuKou (~encukou@a91-156-243-246.elisa-laajakaista.fi) left irc: Ping timeout: 258 seconds | 20:40 | |
| fox__ (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 20:46 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 20:46 | |
| ojii (~ojii@80-218-1-60.dclient.hispeed.ch) left irc: Quit: Leaving | 20:46 | |
| cwillu_at_work (~cwillu@cwillu-1-pt.tunnel.tserv13.ash1.ipv6.he.net) left irc: Ping timeout: 244 seconds | 20:51 | |
| cwillu_at_work (~cwillu@cwillu-1-pt.tunnel.tserv13.ash1.ipv6.he.net) joined #pypy. | 20:53 | |
| derdon (~derdon@p5DE8B94E.dip.t-dialin.net) left irc: Remote host closed the connection | 20:56 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 21:02 | |
| tlynn (~tlynn@cpc6-cmbg14-2-0-cust121.5-4.cable.virginmedia.com) joined #pypy. | 21:03 | |
| nedbat | When I run pypy in sandbox mode, it spews tons of blue and purple logging about the virtualized operations. Is there a simple way to stop it doing that? | 21:03 |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 21:12 | |
| fox__ (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 21:12 | |
| nedbat | anyone around that could coach me through extending sandbox mode to handle more operations? ll_os.ll_os_fstat is unhappy | 21:18 |
| mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord | 21:21 | |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy. | 21:26 | |
| mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host | 21:26 | |
| mfoord (~anonymous@python/psf/voidspace) joined #pypy. | 21:26 | |
| mitchellh (~mitchellh@c-71-202-125-40.hsd1.ca.comcast.net) joined #pypy. | 21:29 | |
| fox__ (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 21:31 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 21:31 | |
| PiotrSikora (~none@nginx/adept/piotrsikora) left irc: Quit: ZNC - http://znc.in | 21:36 | |
| PiotrSikora (~none@nginx/adept/piotrsikora) joined #pypy. | 21:38 | |
| fox__ (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer | 21:38 | |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) joined #pypy. | 21:39 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 21:39 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 21:40 | |
| fschwidom (~fschwidom@46.115.32.161) left irc: Ping timeout: 260 seconds | 21:45 | |
| Alex_Gaynor | nedbat: I'd send a message to the pypy-dev mailing list, I don't think anyone who knows about that is on | 21:48 |
| nedbat | Alex_Gaynor: yes, I'm scrounging around there now for info first. Thanks. | 21:48 |
| nedbat | you only have to tell me three times! :) | 21:48 |
| `fox` (~fox@host42-105-dynamic.51-79-r.retail.telecomitalia.it) left irc: Ping timeout: 260 seconds | 21:59 | |
| kenaan | 12alex_gaynor extradoc 1183c60b7c3d49 15/planning/micronumpy.txt: note the branches | 21:59 |
| Shanita (~John@osbk-4db16952.pool.mediaWays.net) left irc: Read error: Connection reset by peer | 21:59 | |
| stakkars__ (~stakkars@88.130.179.154) joined #pypy. | 22:00 | |
| stakkars__ | Hi all | 22:05 |
| mitchellh (~mitchellh@c-71-202-125-40.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep | 22:05 | |
| kkris (~kris@80-123-40-212.adsl.highway.telekom.at) left irc: Ping timeout: 252 seconds | 22:06 | |
| stakkars__ | I'm reading Irc logs on the iPhone, using my site's logs. | 22:06 |
| CIA-68 | 03ctismer 07roundup * 10#350/App-level bits of code: Hi friends, nice that this move happened. I kind of had a feeling that this would happen: The Jit is becoming so good that the value of things in ... * 14https://bugs.pypy.org/issue350 | 22:06 |
| tilgovi (~randall@69.111.59.168) joined #pypy. | 22:07 | |
| tilgovi (~randall@69.111.59.168) left irc: Changing host | 22:07 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 22:07 | |
| stakkars__ | But that is not as convenient as the colloquy output. Is there a way to view logs like colloquy? | 22:08 |
| stakkars__ | How much work would it be to mimick that? | 22:08 |
| stakkars__ | My dream is an app like coll. that used info from the logs and is not interrupted by being offline. | 22:10 |
| jokey | dunno if there is quassel for iphone yet | 22:11 |
| Shanita (~John@osbk-4db16952.pool.mediaWays.net) joined #pypy. | 22:11 | |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 258 seconds | 22:11 | |
| stakkars__ | quassel? Sounds pretty German | 22:12 |
| jokey | http://www.quassel-irc.org/ | 22:13 |
| Shanita (~John@osbk-4db16952.pool.mediaWays.net) left irc: Ping timeout: 240 seconds | 22:16 | |
| Shanita (~John@osbk-4db16952.pool.mediaWays.net) joined #pypy. | 22:20 | |
| stakkars__ | So I guess the iPhone is not supported? | 22:20 |
| kkris (~kris@80-123-36-183.adsl.highway.telekom.at) joined #pypy. | 22:22 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Operation timed out | 22:25 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 22:27 | |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 22:34 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Quit: Leaving | 22:40 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 22:40 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy. | 22:41 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/719 | 22:42 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/145 | 22:42 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/948 | 22:42 |
| nedbat (nedbat@python/psf/nedbat) left #pypy ("Leaving"). | 22:44 | |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Ping timeout: 240 seconds | 22:44 | |
| ojii (~ojii@254-115.3-85.cust.bluewin.ch) joined #pypy. | 22:45 | |
| kenaan | 12antocuni ffistruct 1177f79b80d773 15/pypy/module/_ffi/test/test_type_converter.py: test _as_ffi_pointer_ in type_converter | 22:54 |
| kenaan | 12antocuni ffistruct 11b38d44f35469 15/pypy/module/_ffi/test/test_type_converter.py: more tests for pointers and strings | 22:54 |
| kkris (~kris@80-123-36-183.adsl.highway.telekom.at) left irc: Quit: Leaving. | 22:55 | |
| ojii (~ojii@254-115.3-85.cust.bluewin.ch) left irc: Quit: Leaving | 22:55 | |
| stakkars__ (~stakkars@88.130.179.154) left irc: Quit: Colloquy for iPhone - http://colloquy.mobi | 22:56 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Quit: Leaving | 23:08 | |
| Nick change: Gulaway -> Gulopine | 23:18 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Read error: Connection reset by peer | 23:26 | |
| whitelynx (~whitelynx@li117-47.members.linode.com) left irc: Remote host closed the connection | 23:27 | |
| whitelynx (~whitelynx@li117-47.members.linode.com) joined #pypy. | 23:32 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 23:40 | |
| chronitis (~chronitis@79-68-112-117.dynamic.dsl.as9105.com) left irc: Quit: Lost terminal | 23:43 | |
| stakkars__ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) joined #pypy. | 23:45 | |
| stakkars_ (~tismer@dslb-088-072-196-160.pools.arcor-ip.net) left irc: Ping timeout: 240 seconds | 23:48 | |
| berkerpeksag (~berkerpek@46.197.8.139) joined #pypy. | 23:48 | |
| JaRoel|4d (~jaroel|4d@2001:980:7133:1:8952:fd83:6442:b1f0) left irc: Remote host closed the connection | 23:53 | |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy. | 23:54 | |
| Nick change: Gulopine -> Gulaway | 23:54 | |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Ping timeout: 258 seconds | 23:58 | |
| --- Mon Nov 21 2011 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!