| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy. | 00:04 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 00:07 | |
| jimbaker` (~jbaker@c-75-71-80-146.hsd1.co.comcast.net) left irc: Ping timeout: 248 seconds | 00:09 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 00:39 | |
| thinker (~thinker@123-194-52-90.dynamic.kbronet.com.tw) joined #pypy. | 00:41 | |
| derdon (~derdon@p5DE8B220.dip.t-dialin.net) left irc: Remote host closed the connection | 00:49 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/957 | 00:55 |
|---|---|---|
| tav (~tav@host-2-96-35-150.as13285.net) joined #pypy. | 00:56 | |
| mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord | 01:14 | |
| mp (maciej@lair.hell.cx) left #pypy. | 01:20 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/726 | 01:24 |
| Nick change: Guest81536 -> masquerade | 01:33 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) left irc: Ping timeout: 244 seconds | 01:36 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1865 | 01:40 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/592 | 01:40 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/285 | 01:40 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/625 | 01:40 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1126 | 01:40 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/810 | 01:40 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1452 | 01:40 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/727 | 01:40 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/276 | 01:40 |
| Nick change: Gulopine -> Gulaway | 01:53 | |
| stakkars (~tismer@p5DDB7E68.dip.t-dialin.net) left irc: Quit: schnarch | 01:55 | |
| ixokai (~ixokai@rrcs-24-199-8-246.west.biz.rr.com) joined #pypy. | 02:08 | |
| ixokai (~ixokai@rrcs-24-199-8-246.west.biz.rr.com) left irc: Changing host | 02:08 | |
| ixokai (~ixokai@pdpc/supporter/student/ixokai) joined #pypy. | 02:08 | |
| stakkars (~tismer@p5DDB7E68.dip.t-dialin.net) joined #pypy. | 02:10 | |
| stakkars (~tismer@p5DDB7E68.dip.t-dialin.net) left irc: Quit: schnarch | 02:17 | |
| Nick change: Gulaway -> Gulopine | 02:22 | |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 240 seconds | 02:24 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1865 | 02:39 |
| ixokai (~ixokai@pdpc/supporter/student/ixokai) left irc: Quit: Bye! | 02:43 | |
| Shanita (~John@osbk-4db15cc6.pool.mediaWays.net) joined #pypy. | 02:43 | |
| Kaskuka (~John@osbk-4d087e26.pool.mediaWays.net) left irc: Ping timeout: 244 seconds | 02:44 | |
| apanda (~apanda@c-24-7-101-62.hsd1.ca.comcast.net) joined #pypy. | 02:54 | |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 03:02 | |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 258 seconds | 03:19 | |
| chronitis (~chronitis@79-68-126-165.dynamic.dsl.as9105.com) left irc: Quit: Lost terminal | 03:20 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/1452 | 03:35 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/810 | 03:37 |
| nedbat | i'm trying to understand why starting pypy-sandbox invokes the C compiler, and what can be done about it. Anyone? | 03:40 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/625 | 03:45 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1126 | 03:51 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/592 | 04:08 |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 260 seconds | 04:12 | |
| mat^2 (mathias@87.55.0.198) joined #pypy. | 04:27 | |
| mat^2 (mathias@87.55.0.198) left irc: Ping timeout: 244 seconds | 04:56 | |
| bbot2 | 3Success: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/727 | 05:07 |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 05:12 | |
| fijal (~fijal@197.106.33.226) joined #pypy. | 05:33 | |
| fijal | hi | 05:33 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/285 | 05:38 |
| fijal (~fijal@197.106.33.226) left irc: Read error: Connection reset by peer | 05:40 | |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 258 seconds | 05:42 | |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) joined #pypy. | 05:42 | |
| mattip | hi | 05:42 |
| mitchellh (~mitchellh@c-98-245-152-34.hsd1.co.comcast.net) joined #pypy. | 05:45 | |
| fijal (~fijal@41.48.154.2) joined #pypy. | 05:45 | |
| mattip | fijal: ping | 05:46 |
| fijal | mattip: pong | 05:46 |
| mattip | I tried to find out what wasn't working with arange, even found a 64 bit linux box to test it. | 05:46 |
| fijal | did you write a test with floats? | 05:47 |
| fijal | it won't translate | 05:47 |
| fijal | for one, you can't pass int-or-float to such a function | 05:47 |
| mattip | Ahh, translate. | 05:47 |
| mattip | I have been writing tests only for app-level. | 05:47 |
| mattip | Where is an example of a translation test? | 05:48 |
| fijal | have you written a test for floats? | 05:49 |
| fijal | like arange(0, 0.8, 0.1) | 05:50 |
| fijal | ? | 05:50 |
| mattip | I cannot look at code now, limited internet access, but I thought I had a test like arange(0.1, 3.2) | 05:51 |
| mattip | and also arange(3.0) | 05:51 |
| mattip | which returned an array with type float | 05:51 |
| fijal | yes, but arange(3.0) would not be a problem | 05:51 |
| fijal | even if 3 gets truncated to int | 05:52 |
| fijal | see, this is a problem with partial branch merges | 05:52 |
| fijal | I have a bit no idea where can I commit a failing test | 05:52 |
| fijal | that's why shape & friends should go to a different branch | 05:52 |
| mattip | OK, I put reshape, shape onto a different branch now. | 05:52 |
| fijal | I'll commit to matrimath anyway | 05:53 |
| mattip | So the head of matrixmath is only for arange, transpose, flat. | 05:53 |
| fijal | ok | 05:53 |
| fijal | so, there is no such arange tests | 05:53 |
| mattip | :( | 05:53 |
| fijal | anyway | 05:54 |
| fijal | it might work by chance | 05:54 |
| mattip | If you could commit some more tests I will look at it later. | 05:55 |
| fijal | ah! | 05:55 |
| fijal | sorry sorry | 05:55 |
| fijal | arange is applevel? | 05:55 |
| fijal | then it would work indeed | 05:55 |
| mattip | Yes, it seemed to make more sense to keep it out of RPython | 05:55 |
| mattip | Or did I just say something stupid? | 05:55 |
| mitchellh (~mitchellh@c-98-245-152-34.hsd1.co.comcast.net) left irc: Quit: Computer has gone to sleep | 05:56 | |
| fijal | no, it probably makes sense | 05:56 |
| fijal | ok, cool, so arange works :) | 05:56 |
| mattip | I would like to implement most of the things like determinant, matrixmultiply, inverse in applevel, if possible. | 05:56 |
| fijal | it's better than not at all | 05:57 |
| fijal | matrixmath has two heads | 05:58 |
| mattip | Keep going, I later commited a branch name. | 05:58 |
| fijal | you used --force | 05:58 |
| fijal | ? | 05:58 |
| fijal | still, matrixmath has 3 heads | 05:58 |
| mattip | arghh. | 05:59 |
| fijal | 2 + mine | 05:59 |
| fijal | I'll sort out the mess | 05:59 |
| fijal | but never ever use --force | 05:59 |
| mattip | Thanks. | 05:59 |
| fijal | for anything | 05:59 |
| mattip | OK, but --newbranch is OK, right? | 05:59 |
| Nick change: Gulopine -> Gulaway | 06:00 | |
| mattip | Would you prefer things in interplevel? | 06:00 |
| fijal | --newbranch is ok | 06:02 |
| fijal | interp vs applevel - I don't know | 06:02 |
| fijal | it depends | 06:02 |
| kenaan | 12fijal matrixmath 1116a56eaf2ca0 15/pypy/module/micronumpy/: oops, did not see arange is applevel. Commit a test and remove a REVIEW item | 06:02 |
| kenaan | 12fijal matrixmath 11c6d928727402 15/pypy/module/micronumpy/REVIEW: merge (one) | 06:02 |
| kenaan | 12fijal matrixmath 117091e3500552 15/pypy/module/micronumpy/: merge | 06:02 |
| kenaan | 12fijal matrixmath 11bf8cd0d22563 15/pypy/module/micronumpy/interp_numarray.py: Simply kill descr_new_flatiter | 06:03 |
| fijal | mattip: so the head fails tests | 06:03 |
| fijal | the reshape tests | 06:03 |
| fijal | but that's not supposed to be there right? | 06:03 |
| fijal | should I remove all mentions of reshape in this branch? | 06:04 |
| mattip | Right. | 06:04 |
| mattip | Please. | 06:04 |
| mattip | That's "Yes please" | 06:04 |
| fijal | ok :) | 06:05 |
| fijal | mattip: note that descr_set_shape and descr_reshape should share most of the code | 06:05 |
| mattip | I also could not get numpypy.flatiter to throw the exception that numpy.flatiter does | 06:05 |
| fijal | which one? | 06:06 |
| Action: mattip gotta go do something else now - will come back later. | 06:07 | |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) left irc: Quit: Page closed | 06:08 | |
| kenaan | 12fijal matrixmath 11e03f83291da1 15/pypy/module/micronumpy/: Remove the notion of reshape/set_shape and clean up the branch | 06:09 |
| fijal | Alex_Gaynor: can you review this branch now? | 06:09 |
| kenaan | 12fijal matrixmath 11bb4b4da8518c 15/pypy/module/micronumpy/REVIEW: remove, all items are done | 06:11 |
| kenaan | 12fijal matrixmath 11643c52f23a6d 15/pypy/module/micronumpy/interp_dtype.py: leave branch-unrelated comment | 06:13 |
| kenaan | 12fijal matrixmath 1171542b62e8e8 15/pypy/module/micronumpy/interp_numarray.py: find_size no longer raises ValueError | 06:14 |
| CIA-13 | 03fijal 07roundup * 10#941/15000+ matrix filling instructions kill pypy-c: [resolved] closing then * 14https://bugs.pypy.org/issue941 | 06:15 |
| CIA-13 | 03fijal 07roundup * 10#935/Possible typing error in micronumpy: [chatting] Hey, this should be fixed by now, can you comment? * 14https://bugs.pypy.org/issue935 | 06:17 |
| Alex_Gaynor | fijal: in like 12 hours, yes | 06:17 |
| CIA-13 | 03fijal 07roundup * 10#919/implement multi-dimension arrays in micronumpy: [resolved] Done :) * 14https://bugs.pypy.org/issue919 | 06:17 |
| fijal | Alex_Gaynor: ok, I can merge it | 06:17 |
| CIA-13 | 03fijal 07roundup * 10#846/TypeError: type 'basestring' is not an acceptable base class: | 06:19 |
| CIA-13 | [wontfix] Since the upstream patch has been applied, I think it's ok to close this as | 06:19 |
| CIA-13 | wontfix. Anyone who feel we should support this obscure us ... * 14https://bugs.pypy.org/issue846 | 06:19 |
| fijal | ok, a bit of gardening | 06:21 |
| fijal | Alex_Gaynor: are django tests still failing? | 06:21 |
| Alex_Gaynor | fijal: no, and we have a buildbot for 1.7 now | 06:21 |
| fijal | can I close the ticket then? | 06:21 |
| Alex_Gaynor | fijal: did you see the obscure test failure we had for a bit though? | 06:21 |
| Alex_Gaynor | fijal: go for it | 06:21 |
| fijal | you showed me something | 06:22 |
| Alex_Gaynor | fijal: http://ci.django-cms.org/job/Django/database=sqlite3,python=pypy1.7/501/testReport/django.contrib.humanize.tests/HumanizeTests/test_naturaltime/ | 06:22 |
| CIA-13 | 03fijal 07roundup * 10#908/Django tests failing: [resolved] Apparently fixed. * 14https://bugs.pypy.org/issue908 | 06:22 |
| Alex_Gaynor | it failed because datetime wasn't datetime due to monkey patches :) | 06:22 |
| fijal | right | 06:22 |
| Alex_Gaynor | fix: https://code.djangoproject.com/changeset/17144 | 06:23 |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) joined #pypy. | 06:23 | |
| fijal | I don't know what to do with some bugs | 06:23 |
| fijal | magcius: I cleaned up the branch, I think I'll merge it | 06:24 |
| fijal | nice | 06:24 |
| magcius | huh? | 06:24 |
| Alex_Gaynor | fijal: here, let me take 10 seconds to review, branch is matrixmath? | 06:24 |
| fijal | Alex_Gaynor: yes | 06:25 |
| fijal | magcius: sorry :) | 06:25 |
| fijal | was mattip | 06:25 |
| Alex_Gaynor | fijal: can we just remove maskna argument if we don't support it? we haven't put it in for other missing args | 06:25 |
| fijal | ok | 06:25 |
| mattip | fijal: sorry for the rudeness. I'm at work now, and not really free to chat. Anyhow I will try to finish shape/reshape within 24 hours. | 06:26 |
| fijal | mattip: thanks and no rush | 06:26 |
| Alex_Gaynor | fijal: numpy.arange(False, True, True) returns a bool array, instead of an int one :) | 06:26 |
| mattip | good luck with the merge. | 06:26 |
| mattip | Gotta run. | 06:27 |
| fijal | Alex_Gaynor: numpy.arange(True) returns an int one though | 06:27 |
| Circlefusion (~cf@74-138-199-109.dhcp.insightbb.com) left irc: Read error: Connection reset by peer | 06:27 | |
| Alex_Gaynor | fijal: I'm saying it's a bug, it should return an int one | 06:27 |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) left irc: Client Quit | 06:27 | |
| fijal | besides | 06:27 |
| fijal | I don't care | 06:27 |
| fijal | I think | 06:27 |
| Alex_Gaynor | well, please fix, it's kind of easy | 06:27 |
| fijal | because it's about app vs interp level of handling the fact that bool is a subclass of int | 06:27 |
| fijal | can you fix it? | 06:28 |
| Alex_Gaynor | also, def setshape it still in there | 06:28 |
| Alex_Gaynor | yes, I can | 06:28 |
| fijal | cause I don't know exactly what you're after | 06:28 |
| Alex_Gaynor | fijal: should def setshape be removed? | 06:30 |
| fijal | yes | 06:30 |
| Circlefusion (~cf@74-138-199-109.dhcp.insightbb.com) joined #pypy. | 06:34 | |
| kenaan | 12alex_gaynor matrixmath 114876b3c92797 15/pypy/: merged default in | 06:40 |
| kenaan | 12alex_gaynor matrixmath 11248307654a59 15/pypy/module/micronumpy/: Some cleanup: remove parameters that's never used, rename class, delete some more setshape code, fix a cas... | 06:40 |
| Alex_Gaynor | fijal: ok, done | 06:41 |
| fijal | cool | 06:47 |
| fijal | can I/you merge it? | 06:47 |
| Alex_Gaynor | go for it | 06:48 |
| fijal | does anyone have an admin password for pypy-issue? | 06:48 |
| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer_ | 06:50 | |
| kenaan | 12fijal default 113998a7e1ed9b 15/pypy/module/micronumpy/: (mattip) merge matrixmath, adds arange, transpose, flatiter | 06:50 |
| kenaan | 12fijal matrixmath 1178795591bf65 15/: close merged branch | 06:50 |
| Alex_Gaynor | fijal: is there anything left before we can run that benhcmark? | 06:50 |
| fijal | translation :) | 06:51 |
| Action: fijal is about to translate on tannit | 06:51 | |
| Alex_Gaynor | just hit the buildbot | 06:51 |
| Alex_Gaynor | then we can all use it | 06:51 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/593 [12fijal] | 06:51 |
| fijal | do we have numpy.dot? | 06:53 |
| Alex_Gaynor | no, we have ndarray.dot though, I guess numpy.dot just calls this | 06:54 |
| fijal (~fijal@41.48.154.2) left irc: Ping timeout: 260 seconds | 06:59 | |
| asmeurer__ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy. | 07:02 | |
| Nick change: Seta00 -> reuben_ | 07:03 | |
| Vorpal (~AnMaster@unaffiliated/anmaster) joined #pypy. | 07:10 | |
| fijal_ (~fijal@197.173.2.175) joined #pypy. | 07:11 | |
| fijal_ (~fijal@197.173.2.175) left irc: Read error: Connection reset by peer | 07:12 | |
| fijal (~fijal@41.51.204.9) joined #pypy. | 07:26 | |
| Alex_Gaynor | fijal: so I ran the benchmark under CPython, using the numeric version, and it runs it .7s, while the wiki page says it runs in 30s, running the "slow" version is about the same speed as they say | 07:28 |
| fijal_ (~fijal@197.105.185.169) joined #pypy. | 07:30 | |
| fijal (~fijal@41.51.204.9) left irc: Read error: Connection reset by peer | 07:30 | |
| Nick change: fijal_ -> fijal | 07:30 | |
| fijal | geez | 07:30 |
| Alex_Gaynor | ? | 07:30 |
| fijal | internet | 07:31 |
| fijal | I met project manager of free software innovation center the other day, while surfing | 07:31 |
| fijal | from a local uni | 07:31 |
| Alex_Gaynor | by chance, or aranged? | 07:31 |
| fijal | by chance | 07:32 |
| fijal | world is small I guess | 07:33 |
| Alex_Gaynor | hehe, indeed | 07:33 |
| kkris (~kris@80-123-37-238.adsl.highway.telekom.at) joined #pypy. | 07:36 | |
| fijal | what is mraleph so pissed off about? | 07:39 |
| Alex_Gaynor | fijal: dunno, but if you ever hear me say, "don't use try/except" hit me with a hammer | 07:40 |
| fijal | a bit far, but I'll try | 07:40 |
| fijal | Alex_Gaynor: how busy you're in Feb vs April? | 07:40 |
| Alex_Gaynor | probably about the same, but it's a bit of a guess | 07:40 |
| fijal | and - do you remember the blog post from mozilla dudes abotu sweet spot | 07:40 |
| fijal | I wonder if I should come to states before or after pycon | 07:40 |
| Alex_Gaynor | that blog post was from mozilla? | 07:41 |
| Alex_Gaynor | the one comparing array of stuff in C vs JS? | 07:41 |
| fijal | they were talking how doing this is not hitting the sweet spot, while doing that is hitting the sweet spot | 07:41 |
| fijal | for apparently not very good reasons | 07:41 |
| Alex_Gaynor | eh, link? | 07:41 |
| fijal | yes, link :) | 07:42 |
| Action: Alex_Gaynor is confused | 07:42 | |
| ronan (~ronan@host86-142-249-87.range86-142.btcentralplus.com) left irc: Ping timeout: 248 seconds | 07:44 | |
| fijal | hm | 07:44 |
| fijal | it was even mr aleph himself | 07:44 |
| Alex_Gaynor | so not mozilla, you're saying | 07:44 |
| fijal | http://blog.mrale.ph/post/12396216081/the-trap-of-the-performance-sweet-spot?3d04d970 | 07:44 |
| Alex_Gaynor | yes, I saw this post | 07:45 |
| arigato (~arigo@89.204.138.33) joined #pypy. | 07:45 | |
| fijal | arigato: hi armin | 07:45 |
| arigato | hi | 07:45 |
| fijal | Alex_Gaynor: I think they just hit some sort of VM complexity bottleneck or something | 07:46 |
| fijal | and they can't do like list-strategies | 07:46 |
| Alex_Gaynor | they have a lot of hard coded ASM, so I'm not surprised | 07:46 |
| fijal | good thing I did not start working for them ;-) | 07:47 |
| Alex_Gaynor | PyPy lets me understand how x86 works without needing to write it, it's nice :) | 07:47 |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 07:49 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/593 [12fijal] | 07:49 |
| fijal | pypy is cooked :) | 07:49 |
| arigato | fijal: uh? re issue846 | 07:50 |
| arigato | I think your last comment makes no sense | 07:50 |
| Action: fijal looks | 07:50 | |
| fijal | arigato: so you think that a subclass of basestring that returns an instance of something else in __new__ should work? | 07:50 |
| arigato | should be closed as "resolved". there was no upstream patch | 07:50 |
| fijal | there was a patch in nltk | 07:51 |
| Alex_Gaynor | fijal: pff, we have no numpypy.sqrt | 07:51 |
| arigato | ah | 07:51 |
| fijal | Alex_Gaynor: pffff | 07:51 |
| arigato | so the patch attached was not applied to pypy? | 07:51 |
| fijal | Alex_Gaynor: ** 0.5 would do? | 07:51 |
| fijal | arigato: yes, it's linked | 07:51 |
| arigato | fijal: ok, sorry, then I misread. | 07:52 |
| Alex_Gaynor | fijal: using math.sqrt, iterative solution under pypy is ~3x faster than the numeric solution under CPython | 07:52 |
| fijal | that's not very good no? | 07:52 |
| Alex_Gaynor | fijal: uhh, why not? | 07:53 |
| Alex_Gaynor | fijal: FYI flatiter is missing __iter__ so you can't iterate over it | 07:53 |
| fijal | how does that compare to C++? | 07:53 |
| arigato | fijal: do you still need an admin password for pypy-issue? | 07:54 |
| fijal | arigato: or someone to push/kill the last mail | 07:55 |
| fijal | that got stuck | 07:55 |
| fijal | Alex_Gaynor: how did you run it? | 07:55 |
| arigato | I can do that. note that I see the same password for admin for all pypy-* lists | 07:55 |
| fijal | not that I know it | 07:55 |
| Alex_Gaynor | fijal: http://paste.pocoo.org/show/513928/ I removed tons of stuff from the file | 07:55 |
| fijal | but I'm fine with someone else :) | 07:55 |
| Alex_Gaynor | feel fre to make sure I didn't break it | 07:55 |
| fijal | ok, numpy.flatiter is broken | 07:55 |
| fijal | it should behave like a normal array | 07:55 |
| fijal | at least with __getitem__ | 07:56 |
| fijal | Alex_Gaynor: feel like adding missing pieces? | 07:56 |
| fijal | like numpy.dot, numpy.sqrt | 07:56 |
| fijal | whatever is there | 07:56 |
| fijal | __iter__ | 07:56 |
| Action: arigato would love a mailman admin option "Accept the message but trim it" | 07:56 | |
| Alex_Gaynor | not ATM, I'm procrastinating a paper ATM :/ | 07:56 |
| fijal | Alex_Gaynor: ok, I'll add them later maybe then | 07:57 |
| Alex_Gaynor | fijal: C++ iterative is .22, pypy iterative is .26 | 07:57 |
| Alex_Gaynor | very good IMO | 07:57 |
| Alex_Gaynor | that's g++ -O3 | 07:57 |
| fijal | cool ;) | 07:58 |
| fijal | what's "iterative"? | 07:58 |
| Alex_Gaynor | the version called slow in there | 07:58 |
| Alex_Gaynor | aka not numpy exprs | 07:58 |
| fijal | pfff | 07:58 |
| fijal | you mean not numericTimeStep? | 07:58 |
| fijal | and by numpy exprs you don't mean numexpr by chance (obviously) :) | 07:59 |
| fijal | anyway, that's pretty awesome | 07:59 |
| Alex_Gaynor | fijal: right | 07:59 |
| fijal | I'll add missing pieces so we can run it without too many modifications | 08:00 |
| fijal | and write a blog post | 08:00 |
| fijal | sounds like a plan? | 08:00 |
| Alex_Gaynor | fijal: our "slow" version is 200x faster then their slow (doing 5 iterations) | 08:00 |
| Alex_Gaynor | fijal: sounds great | 08:00 |
| fijal | I suspect if we had SSE we could outperform GCC | 08:01 |
| Alex_Gaynor | 367x faster at 10 iterations | 08:01 |
| fijal | with our "fancy array operations library" | 08:02 |
| fijal | (not to be confused with numpy) | 08:03 |
| Alex_Gaynor | fijal: coincidentally named numpypy | 08:03 |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 08:05 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 08:05 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 08:05 | |
| asmeurer__ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer__ | 08:06 | |
| Alex_Gaynor | fijal: sloccount says numpypy is worth $125k, not bad I guess :D | 08:06 |
| Action: fijal wants his 125k$ | 08:07 | |
| Alex_Gaynor | fijal: I guess we owe people money for the JIT first, it's worth 2.5 million | 08:07 |
| fijal | :] | 08:07 |
| Alex_Gaynor | rlib.rsre is worth a measley 88k | 08:08 |
| Alex_Gaynor | sloccount is the ultimate in nonsense numbers | 08:08 |
| fijal | random module is good as well | 08:08 |
| stakkars (~tismer@p5DDB7E68.dip.t-dialin.net) joined #pypy. | 08:09 | |
| fijal | arigato: I have a suspicion that a lack of unicode-only list strategy makes django slow | 08:10 |
| Alex_Gaynor | fijal: should be easy to add one | 08:11 |
| arigato | at some point we will have to support 8-, 16- and 32-bit unicodes, at least in py3k | 08:14 |
| arigato | thinking about it from this point of view makes it a bit harder (but not impossible --- just saying that's why unicode-lists were not done so far) | 08:15 |
| Alex_Gaynor | arigato: carl has ideas about this I believe, it should startr with refactoring unicode and strobjects to share more code though IMO | 08:15 |
| arigato | Alex_Gaynor: I agree that it would be nice to end up with the equivalent of CPython's stringlib/ | 08:18 |
| Alex_Gaynor | arigato: that's basically what RPython has right? just a matter of cleaning up the objspace impls I think | 08:19 |
| arigato | not completely | 08:19 |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 258 seconds | 08:19 | |
| arigato | because we cannot so far express things like bytearrays or unicode-of-16-bits | 08:19 |
| arigato | also, stringlib/ has support for more operations than RPython's strings, as far as I know | 08:20 |
| arigato | e.g. string_format.h | 08:21 |
| arigato | no, reading more stringlib/, it contains tons of things that are not RPython | 08:24 |
| arigato | to copy it seems to require a large .py file that gets specialized | 08:25 |
| Alex_Gaynor | arigato: well, just some "Python string mixin" I think | 08:25 |
| arigato | yes | 08:25 |
| arigato | but a large one :-) | 08:25 |
| arigato | then we'll end up with a good implementation of bytearray, too | 08:26 |
| Alex_Gaynor | arigato: well, perhaps but I estimate that it'll be .55x as much code as stringobject.py + unicoedobject.py | 08:26 |
| arigato | sure | 08:26 |
| Alex_Gaynor | less if you add in bytesarray | 08:26 |
| arigato | just trying to frame the problem | 08:26 |
| Alex_Gaynor | yes, sure | 08:26 |
| arigato | you have to be a bit careful in order to support bytearray (as a list of chars) or 16-bit unicode (as a list of USHORT maybe?) | 08:27 |
| Alex_Gaynor | one thing at a time, I suppose | 08:28 |
| arigato | a list of USHORT is obscure and looses the immutability property at the RPython level | 08:28 |
| Alex_Gaynor | yes, it requires care since bytearray is mutable | 08:28 |
| canta (~canta@77-20-123-240-dynip.superkabel.de) left irc: Quit: Leaving. | 08:28 | |
| fijal | so dot is not a ufunc even | 08:32 |
| Alex_Gaynor | no, it's not | 08:32 |
| Alex_Gaynor | sqrt should be trivial though | 08:32 |
| fijal | yes | 08:34 |
| fijal | have you seen my overflow comment btw? | 08:34 |
| Alex_Gaynor | fijal: yes, but tests pass with -A so I don't know what you're talking about | 08:34 |
| Alex_Gaynor | fijal: FYI you can't even iterate over a flatiter ATM | 08:34 |
| fijal | yes, I added __iter__ | 08:35 |
| Alex_Gaynor | you didn't commit it | 08:35 |
| fijal | I totally did | 08:36 |
| Alex_Gaynor | did you push it? | 08:36 |
| fijal | I'm pushing :) | 08:36 |
| fijal | relax | 08:36 |
| Alex_Gaynor | well, I was confused :) | 08:36 |
| kenaan | 12fijal default 113f56396d0ea2 15/pypy/module/micronumpy/test/test_numarray.py: newline | 08:36 |
| kenaan | 12fijal default 11e847fa0fc602 15/pypy/module/micronumpy/: __iter__ for flatiter | 08:36 |
| kenaan | 12fijal default 112337eca967fa 15/pypy/module/micronumpy/interp_numarray.py: those two functions are unroll_safe | 08:36 |
| kenaan | 12fijal default 11ad86736e7b43 15/pypy/module/micronumpy/: sqrt ufunc | 08:36 |
| fijal | tada! | 08:37 |
| fijal | flatiter should convert to array without iterating as well | 08:37 |
| Alex_Gaynor | fijal: in CPython if you have a C type with tp_iternext does that automatically create tp_iter if you don't have one? | 08:38 |
| fijal | we don't have iternext | 08:39 |
| fijal | we have just a next method | 08:39 |
| Alex_Gaynor | yes, I'm asking about CPython C-API so I can understand the source | 08:40 |
| Alex_Gaynor | fijal: no tests for nan/inf/negative values :( | 08:40 |
| arigato (~arigo@89.204.138.33) left irc: Ping timeout: 244 seconds | 08:40 | |
| fijal | for? | 08:41 |
| fijal | sqrt? | 08:41 |
| bivab (~david@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 08:41 | |
| Alex_Gaynor | yes | 08:41 |
| fijal | well, we have tests for math.sqrt no? | 08:41 |
| fijal | or they behave differently? | 08:41 |
| Alex_Gaynor | they do, numpy.sqrt doesn't raise errors | 08:42 |
| fijal | math.sqrt on RPython level does? | 08:43 |
| Alex_Gaynor | yes | 08:43 |
| Alex_Gaynor | this is why tests ;) | 08:43 |
| fijal | pffff | 08:45 |
| kenaan | 12fijal default 11931815553e4c 15/pypy/module/micronumpy/: a dot implementation | 08:46 |
| fijal | ok ok | 08:47 |
| fijal | 37min to translate | 08:51 |
| fijal | not bad | 08:51 |
| lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) joined #pypy. | 08:54 | |
| derdon (~derdon@p5DE8B50D.dip.t-dialin.net) joined #pypy. | 08:54 | |
| arigato (~arigo@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 09:05 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 09:12 | |
| G2P (~G2P@fw-asn1.ornis.com) joined #pypy. | 09:13 | |
| EnCuKou (~encukou@a91-156-243-246.elisa-laajakaista.fi) left irc: Remote host closed the connection | 09:17 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/276 | 09:18 |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy. | 09:28 | |
| ojii (~ojii@40-34.60-188.cust.bluewin.ch) joined #pypy. | 09:29 | |
| Alex_Gaynor | fijal: ping | 09:29 |
| fijal | Alex_Gaynor: pong | 09:30 |
| Alex_Gaynor | fijal: you said someone had written papers about agile stuff with pypy? | 09:30 |
| fijal | yes | 09:30 |
| Alex_Gaynor | do yo by chance have a link or reference? | 09:30 |
| fijal | no :) | 09:31 |
| fijal | armin might know? | 09:32 |
| fijal | it was university of limerick | 09:32 |
| fijal | and there were EU reports also | 09:32 |
| Alex_Gaynor | googline pypy agile foudn some paper, good enough | 09:32 |
| antocuni | yes, I remember that at some point someone went to a sprint to observe us | 09:36 |
| antocuni | (hi) | 09:36 |
| arigato | hi | 09:37 |
| Action: fijal fights with flatiter | 09:39 | |
| fijal | Alex_Gaynor: so it's not a subclass of array, but it is accepted everywhere in numpy | 09:40 |
| Alex_Gaynor | fijal: this is what happens when you design code in C and expose it to Python, you get class heirarchies that make no sense and don't match how you use it | 09:40 |
| ltratt (~ltratt@87.115.168.27) joined #pypy. | 09:41 | |
| unbit (~unbit@93-58-162-185.ip159.fastwebnet.it) joined #pypy. | 09:43 | |
| kenaan | 12alex_gaynor default 1125f6f5031705 15/pypy/module/micronumpy/: fix for invalid inputs in numpy.sqrt | 09:50 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/594 [12alex] | 09:51 |
| Alex_Gaynor | fijal: so now in theory we can run it all unmodified? | 09:51 |
| fijal | Alex_Gaynor: no | 09:51 |
| fijal | fighting | 09:51 |
| stakkars (~tismer@p5DDB7E68.dip.t-dialin.net) left irc: Quit: schnarch | 09:52 | |
| apanda (~apanda@c-24-7-101-62.hsd1.ca.comcast.net) left irc: Remote host closed the connection | 09:54 | |
| fijal | Alex_Gaynor: a controversial checkin coming | 09:56 |
| Alex_Gaynor | fijal: want me to review first? | 09:56 |
| fijal | can you review in a mail client? | 09:56 |
| fijal | you can always backout it | 09:56 |
| Alex_Gaynor | that's fine | 09:56 |
| Alex_Gaynor | :) | 09:56 |
| Action: fijal is busy pushing | 09:58 | |
| kenaan | 12fijal default 119c707f4a6aa4 15/pypy/module/micronumpy/: hopefully make flatiter interoperate nicely with the rest by making it a part of BaseArray hierarchy | 10:00 |
| kenaan | 12fijal default 11f8cc091116a7 15/pypy/module/micronumpy/: merge | 10:00 |
| fijal | now :) | 10:00 |
| fijal | Alex_Gaynor: | 10:00 |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 10:00 | |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 10:01 | |
| Alex_Gaynor | fijal: should have more tests IMO, including one that the MRO is correct, but it looks ok IMO. | 10:01 |
| fijal | Alex_Gaynor: probablty | 10:02 |
| fijal | I doubt mro is that interesting though | 10:02 |
| Alex_Gaynor | fijal: I want to make sure it stays boring :) | 10:02 |
| Alex_Gaynor | assert flatiter.mro() == [flatiter, object] | 10:02 |
| fijal | we should revisit an experiment with lazy string slices | 10:02 |
| fijal | and maybe even lazy list slices | 10:02 |
| Alex_Gaynor | is this in any way related to numpy discussion? | 10:03 |
| fijal | no | 10:04 |
| Action: fijal translating | 10:07 | |
| fijal | related to what mraleph said | 10:07 |
| Alex_Gaynor | fijal: well, maybe, I want to write the str concat-loop optimization for the JIT first | 10:09 |
| tilgovi (~randall@couchdb/developer/tilgovi) left irc: Remote host closed the connection | 10:13 | |
| Alex_Gaynor | fijal: optimizers that work at the levle of the source language scare me :/ | 10:14 |
| fijal | well | 10:16 |
| fijal | it depends how complex your source languae is | 10:16 |
| fijal | our jit is essentially an advanced RPython JIT | 10:16 |
| fijal | and RPython is simpler than python | 10:16 |
| Alex_Gaynor | no, it's not RPython, it's SpaceOps really | 10:17 |
| fijal | well | 10:17 |
| Alex_Gaynor | optimizer doesn't know about getitem, it knows about arraygetitem | 10:17 |
| fijal | it's compiled rpython | 10:17 |
| Alex_Gaynor | right | 10:17 |
| fijal | ok right | 10:17 |
| fijal | it's lltype rpython | 10:17 |
| fijal | really | 10:17 |
| fijal | right? | 10:17 |
| Alex_Gaynor | well, not if we ever merge antocuni's work, but yes :) | 10:17 |
| fijal | then we would have two | 10:17 |
| fijal | (in some sense) | 10:17 |
| fijal | ootype & lltype rpython | 10:17 |
| fijal | in one source | 10:17 |
| fijal | but yes, in principle this is the level on which it operates | 10:18 |
| fijal | almost, because you have oopspecs | 10:18 |
| fijal | but yes, I see your point | 10:19 |
| fijal | already encoding rpython semantics in the JIT would be more work | 10:20 |
| fijal | Alex_Gaynor: do you have the link to original slides handy? | 10:20 |
| Alex_Gaynor | yes, e.g. you don't have initialization in the JIT, you simply have allocate and set fields | 10:20 |
| Alex_Gaynor | https://mkw.st/p/gdd11-berlin-v8-performance-tuning-tricks/#18 | 10:20 |
| Alex_Gaynor | fijal: I'm not sure he gets that JIT doesn't really have special support for anything. | 10:21 |
| Alex_Gaynor | (except maaaybe strings) | 10:21 |
| Alex_Gaynor | but even then it's not Python string, it's RPython string | 10:21 |
| antocuni | Alex_Gaynor: which of my branches are you talking about? | 10:21 |
| Alex_Gaynor | antocuni: oojit or whatever it's called | 10:21 |
| antocuni | ah, that one | 10:22 |
| Alex_Gaynor | fijal: do I need to kick buildbot again now that you comitted flat stuff? | 10:23 |
| fijal | Alex_Gaynor: I'm almost done with the translation | 10:24 |
| fijal | I'll tell you where it is in /tmp on tannit | 10:24 |
| derdon (~derdon@p5DE8B50D.dip.t-dialin.net) left irc: Remote host closed the connection | 10:28 | |
| ltratt (~ltratt@87.115.168.27) left irc: Ping timeout: 244 seconds | 10:29 | |
| ltratt (~ltratt@31.185.235.29) joined #pypy. | 10:33 | |
| Action: arigato carefully untangles the mess of jit/backend/llsupport/gc.py | 10:33 | |
| Alex_Gaynor | arigato: I improved the situation there, very slightly a while ago | 10:34 |
| kenaan | 12arigo op_malloc_gc 11ebc08ae0d2df 15/pypy/jit/backend/llsupport/rewrite.py: No-op. | 10:37 |
| kenaan | 12arigo op_malloc_gc 11622108ea8dfe 15/pypy/jit/backend/llsupport/: Progress. | 10:37 |
| kenaan | 12arigo op_malloc_gc 1105eb02916cbe 15/pypy/jit/backend/llsupport/: Clean-ups, comments, reorderings. | 10:37 |
| kenaan | 12arigo op_malloc_gc 11160fba43cdbd 15/pypy/jit/backend/llsupport/test/test_rewrite.py: Progress. | 10:37 |
| kenaan | 12arigo op_malloc_gc 11b5153823527e 15/: hg merge default | 10:37 |
| lucian | i've been thinking of something. PyPy has a function JIT, right? | 10:38 |
| fijal | lucian: not really | 10:38 |
| fijal | it's a normal tracing that can start at the beginning of a function | 10:38 |
| fijal | it's not a function jit though | 10:38 |
| Alex_Gaynor | arigato: is this branch designed to assist the STM stuff? | 10:39 |
| arigato | not specially | 10:39 |
| arigato | it's just a clean-up of the multiple backends, together with potentially a bit of performance improvement | 10:39 |
| lucian | fijal: ah, ok | 10:39 |
| Alex_Gaynor | cool | 10:39 |
| lucian | fijal: i was thinking perhaps AOT-ing with something like that might reduce the warm-up penalty | 10:40 |
| arigato | Alex_Gaynor: the cool thing is that it should allow several NEW* operations to be concatenated into a single MALLOC_NURSERY | 10:40 |
| Alex_Gaynor | arigato: interesting, a peephope optimization? | 10:40 |
| arigato | which also means less write barriers | 10:40 |
| Alex_Gaynor | definitely a good thing, they're huge | 10:40 |
| arigato | Alex_Gaynor: yes, a "peephoPe" optimization :-) | 10:40 |
| fijal | lucian: how would you AOT that? | 10:43 |
| fijal | you don't know types | 10:43 |
| fijal | you can't do tracing | 10:43 |
| lucian | fijal: oh, with some profiling | 10:43 |
| Alex_Gaynor | the entire JIT is based on tracing and runtime feedback, I don't see how you can AOT that | 10:43 |
| fijal | lucian: that's hard/impossible/a major mess to use | 10:43 |
| lucian | ok | 10:43 |
| fijal | Alex_Gaynor: /tmp/usession-default-18023 | 10:44 |
| Alex_Gaynor | fijal: can you make a release tarball? | 10:44 |
| fijal | go there copy this to your pypy-c and run the package.py? | 10:45 |
| Alex_Gaynor | fijal: his is why I like buildbot, it does stuff fo rme :) | 10:45 |
| fijal | yeah, it also run tests | 10:45 |
| witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 10:47 | |
| fijal (~fijal@197.105.185.169) left irc: Read error: Connection reset by peer | 10:47 | |
| witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy. | 10:47 | |
| fijal (~fijal@197.174.207.128) joined #pypy. | 10:50 | |
| fijal | Alex_Gaynor: it's super slow | 10:51 |
| fijal | no idea why | 10:51 |
| Alex_Gaynor | fijal: yes, we need to review traces and profiles | 10:51 |
| Alex_Gaynor | fijal: we should wait to fix that before blogging, I want to be able to say, "PyPy is always fast" :) | 10:51 |
| fijal | well | 10:51 |
| fijal | it might be that you can't write this function really well in vectorized version | 10:52 |
| fijal | without sacrificing perf | 10:52 |
| Alex_Gaynor | ? | 10:52 |
| fijal | OMG | 10:52 |
| Alex_Gaynor | ? | 10:52 |
| fijal | have you seen how setTimeStepper is written? | 10:52 |
| Alex_Gaynor | yes, and? | 10:52 |
| fijal | getattr? | 10:53 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/594 [12alex] | 10:53 |
| Alex_Gaynor | fijal: yeah, who cares, let's focus on real problem s;) | 10:53 |
| Alex_Gaynor | first loop looks ok, except for having too many counters | 10:54 |
| fijal | yuo know what's slow? | 10:55 |
| fijal | g.old_u = u.copy() | 10:55 |
| Alex_Gaynor | fijal: pff, I can't find a loop with float_mul, am I just dumb? | 10:55 |
| Alex_Gaynor | fijal: how much time does it take? | 10:55 |
| fijal | 1.3s per iterations | 10:56 |
| Alex_Gaynor | so, what percent of total time? | 10:56 |
| fijal | almost 100? | 10:56 |
| fijal | 92% | 10:56 |
| Alex_Gaynor | pff, I'll fix | 10:56 |
| fijal | pfff | 10:57 |
| fijal | it can't be fast the way it is :) | 10:57 |
| fijal | loops look good otherwise ;-) | 10:57 |
| fijal | anyway, it's still possible that in-place will be faster | 10:58 |
| fijal | (obviously) | 10:58 |
| fijal | so the numpy version will not surpass the slow version | 10:58 |
| fijal | what you can do instead of copying however, would be to have 2 arrays and simply move one to another | 10:59 |
| fijal | I suppose GC pressure would trash all the caches otherwise | 11:00 |
| fijal | but I don't know how to express it using numpy though | 11:02 |
| Alex_Gaynor | fijal: well, for starters I'm going to make it use C memcpy, ratehr than call __new__ | 11:02 |
| Alex_Gaynor | fijal: http://paste.pocoo.org/show/513962/ look ok? | 11:02 |
| fijal | good | 11:03 |
| fijal | I don't know, loading | 11:04 |
| kenaan | 12alex_gaynor default 1156290d9adb6d 15/pypy/module/micronumpy/interp_numarray.py: use memcpy for numpy.array.copy(), rather than going through the constructor | 11:04 |
| fijal | yeah sounds good | 11:04 |
| Alex_Gaynor | fijal: I'll punch the buildbot | 11:04 |
| fijal | although if you want to be crazy, you don't have to force it | 11:04 |
| Alex_Gaynor | fijal: is there a reason to be crazy? | 11:05 |
| fijal | no idea | 11:05 |
| Alex_Gaynor | let's assume no, for now | 11:05 |
| Alex_Gaynor | fijal: also, expression gets compiled into like 4 loops, any idea why? | 11:05 |
| Topic changed on #pypy by arigato!arigo@fwstups.cs.uni-duesseldorf.de: PyPy, a fast and compliant python interpreter | IRC logs: http://www.tismer.com/pypy/irc-logs/pypy/latest.log.html | if you want to be crazy, you don't have to force it | 11:05 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/595 [12alex] | 11:06 |
| Action: arigato likes this sentence taken out of any context | 11:06 | |
| fijal | Alex_Gaynor: investigating | 11:06 |
| Alex_Gaynor | fijal: ok, they all have good assembler, so maybe it's ok enough | 11:06 |
| fijal | I did old_u[:, :] = u[:, :] instead of copy() | 11:07 |
| Alex_Gaynor | that's probably slower than memcpy though | 11:07 |
| Trundle (~andy@p578bfdcf.dip0.t-ipconnect.de) joined #pypy. | 11:07 | |
| Trundle (~andy@p578bfdcf.dip0.t-ipconnect.de) left irc: Changing host | 11:07 | |
| Trundle (~andy@python/site-packages/trundle) joined #pypy. | 11:07 | |
| fijal | probably | 11:08 |
| fijal | but it does not create new arrays | 11:08 |
| fijal | that trash your caches | 11:08 |
| fijal | if you do that, you're fucked | 11:08 |
| fijal | remember allocating zeros in a loop? | 11:08 |
| Alex_Gaynor | ? | 11:08 |
| fijal | if you allocate arrays in a loop it's slow | 11:08 |
| Alex_Gaynor | if you allocate anything in a loop it's slow compared to not allocating | 11:08 |
| Action: Alex_Gaynor utilizes the advanced philosophy of: computers do nothing very quickly. | 11:09 | |
| fijal | for i in range(100): z = zeros((100, 100)) | 11:09 |
| fijal | that's slow | 11:09 |
| fijal | increase range if you feel like it | 11:09 |
| Alex_Gaynor | err, yes | 11:09 |
| fijal | so copying contents should be better in general | 11:10 |
| fijal | and it's only our fault if we're slower than memcpy | 11:10 |
| Alex_Gaynor | well, going through __new__ is what's slow | 11:10 |
| Alex_Gaynor | because it allocates and then unboxes everything | 11:10 |
| fijal | it's zeros | 11:10 |
| fijal | so no | 11:10 |
| fijal | well yes, but no | 11:11 |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Textual IRC Client: http://www.textualapp.com/ | 11:11 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/595 [12alex] | 11:11 |
| fijal | it's faster than now | 11:11 |
| fijal | besides, you broke it | 11:11 |
| Alex_Gaynor | fijal: there's no copying there thoguh, zeroes((100, 100)) should literally *just* be a malloc | 11:11 |
| fijal | right | 11:12 |
| fijal | but if you do raw_malloc in a loop it's slow | 11:12 |
| fijal | because you trash your caches | 11:12 |
| Alex_Gaynor | fijal: do you understand translation error? | 11:12 |
| fijal | size is not in _attrs_? | 11:13 |
| Alex_Gaynor | NDimArray has no _attrs_ | 11:13 |
| fijal | BaseArray, not NDimArray | 11:13 |
| fijal | you're trying to read size out of BaseArray | 11:13 |
| Alex_Gaynor | yes, but the error is inside of NDimArray.__init__ | 11:13 |
| Alex_Gaynor | how can self be a BaseArray in NDimArray | 11:14 |
| lizardo (~lizardo@189.2.128.130) joined #pypy. | 11:14 | |
| fijal | are you sure it's self? | 11:14 |
| Alex_Gaynor | look at the error message | 11:14 |
| fijal | hm | 11:14 |
| fijal | Alex_Gaynor: you fight with your error, I'm looking at traces! | 11:15 |
| fijal | :-) | 11:15 |
| Alex_Gaynor | k | 11:15 |
| fijal | obscure | 11:15 |
| fijal | look why it's raising something | 11:15 |
| chronitis (~chronitis@79-68-112-81.dynamic.dsl.as9105.com) joined #pypy. | 11:15 | |
| Alex_Gaynor | knk | 11:15 |
| Alex_Gaynor | A Scalar | 11:16 |
| Action: fijal wants jitdriver.get_printable_location | 11:17 | |
| Alex_Gaynor | fijal: implement it? | 11:18 |
| kenaan | 12alex_gaynor default 111baa8d5c0e0b 15/pypy/module/micronumpy/: fix for translation and copying scalars | 11:18 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/596 [12alex] | 11:18 |
| fijal | and why do we get so many forcings? | 11:18 |
| Alex_Gaynor | forcing in what sense? | 11:18 |
| fijal | so many different loops | 11:19 |
| Alex_Gaynor | I dunno, I asked this question originally I belive ;) | 11:19 |
| fijal | Alex_Gaynor: hm, slow for me takes 2x time as C++ roughly | 11:20 |
| fijal | not 30% | 11:20 |
| fijal | pyrex :/ | 11:21 |
| Alex_Gaynor | no idea, maybe your gcc is better than mine | 11:21 |
| Alex_Gaynor | what options did you compile wiht? | 11:21 |
| fijal | ah no | 11:22 |
| fijal | good | 11:22 |
| Alex_Gaynor | ? | 11:23 |
| fijal | ok, I have to go to the doctor | 11:23 |
| fijal | will fight with it later | 11:23 |
| Alex_Gaynor | heh, ok | 11:23 |
| fijal | I injured myself while sneezing :/ | 11:23 |
| arigato | :-/ | 11:23 |
| Alex_Gaynor | impressive | 11:23 |
| fijal | for what is worth, if ** is broken, this is broken as well | 11:24 |
| Alex_Gaynor | ? | 11:25 |
| fijal | Alex_Gaynor: re - your mailing list post? | 11:25 |
| Alex_Gaynor | fijal: yes, I'm saying what's "this" | 11:25 |
| Alex_Gaynor | it's only broken with ints | 11:25 |
| fijal | ah ok | 11:25 |
| fijal | happy nonsense | 11:25 |
| Alex_Gaynor | yes | 11:26 |
| fijal | can 0.5/(dx2 + dy2) force it? | 11:26 |
| fijal | by chance? | 11:26 |
| Alex_Gaynor | I should hope not, but we can write a test | 11:27 |
| fijal | no | 11:27 |
| fijal | does not seems like it | 11:27 |
| Alex_Gaynor | something about setslice perhaps? | 11:27 |
| fijal | setslice forces it | 11:28 |
| fijal | obviously | 11:28 |
| Alex_Gaynor | yes, but does it force it in parts somehow? | 11:28 |
| fijal | not that I can think about | 11:28 |
| fijal | # for now we just copy if setting part of an array from | 11:29 |
| fijal | # part of itself. can be improved. | 11:29 |
| fijal | haha! | 11:29 |
| Alex_Gaynor | fijal: but... it calls get_concrete() either way | 11:30 |
| Alex_Gaynor | also, it shoudl copy a better way | 11:31 |
| Alex_Gaynor | also, it can have more than one roto storage if it's a Call2, can't it? | 11:31 |
| Alex_Gaynor | basically, I claim this code doesn't make much sense | 11:31 |
| fijal | not that I wrote it... | 11:31 |
| fijal | but yes, I agree | 11:31 |
| kenaan | 12alex_gaynor default 114ef4547fa441 15/pypy/module/micronumpy/interp_numarray.py: use the internal copy, rather than reinstantiate, faster. | 11:33 |
| Alex_Gaynor | fijal: well, I made a small improvement | 11:33 |
| fijal | http://technicaldiscovery.blogspot.com/2011/06/speeding-up-python-numpy-cython-and.html | 11:34 |
| fijal | this one is interesting to run as well | 11:34 |
| Alex_Gaynor | how do we do? | 11:34 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/596 [12alex] | 11:34 |
| fijal | I didn't run it yet | 11:34 |
| fijal | fix the translation first | 11:35 |
| Alex_Gaynor | fijal: eh, what the hell? look at the error message | 11:35 |
| fijal | nice | 11:35 |
| fijal | it means you forgot to pass some stuff to the jitdriver | 11:35 |
| fijal | usually | 11:35 |
| Alex_Gaynor | none of my commits touched somethign with a jitdriver | 11:36 |
| Alex_Gaynor | AFAIK | 11:36 |
| fijal | run test_zjit | 11:37 |
| Alex_Gaynor | it passes | 11:38 |
| fijal | wtf | 11:39 |
| Alex_Gaynor | fijal: pretty much | 11:39 |
| fijal | "Given the fact that it's so easy to develop with Python, this speed reduction is not very significant." | 11:40 |
| Alex_Gaynor | ? | 11:40 |
| fijal | from the PerformancePython wiki | 11:40 |
| fijal | since when is inlining fortran "developing in Python"... | 11:40 |
| Alex_Gaynor | PerformancePython could charitably called CPython | 11:40 |
| fijal | the article itself predates pypy | 11:42 |
| Alex_Gaynor | the article predates this millenia | 11:42 |
| lucian | could still be renamed to PerformanceCPython | 11:42 |
| lucian | maybe not even that, i followed some of the advice a long time ago and it was wrong | 11:43 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/597 [12alex] | 11:44 |
| kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy. | 11:46 | |
| fijal (~fijal@197.174.207.128) left irc: Read error: Connection reset by peer | 11:52 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 11:57 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/597 [12alex] | 11:59 |
| Alex_Gaynor | pfff | 12:00 |
| kenaan | 12alex_gaynor default 1167ac82a4bea4 15/pypy/module/micronumpy/interp_numarray.py: fix translation hopefully | 12:04 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/598 [12alex] | 12:04 |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) joined #pypy. | 12:06 | |
| mattip | hi | 12:06 |
| Alex_Gaynor | mattip: hey | 12:06 |
| mattip | I found some tim eto sneak off and read the irc log. | 12:06 |
| mattip | s/tim eto/time to/ | 12:06 |
| mattip | I have to say it was worth the "learning curve" and the long nights, you and fijal are great. | 12:07 |
| Alex_Gaynor | we love new contributors | 12:07 |
| mattip | The privilege is all mine. | 12:07 |
| mattip | What test are you trying? | 12:08 |
| Alex_Gaynor | http://www.scipy.org/PerformancePython | 12:08 |
| mattip | OK, I have to go but you got me motivated to finish the (re)shape mess. | 12:09 |
| Alex_Gaynor | cool | 12:09 |
| mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) left irc: Client Quit | 12:09 | |
| cheater (~cheater@178-26-58-7-dynip.superkabel.de) joined #pypy. | 12:18 | |
| cheater | hi | 12:18 |
| cheater | is there something like cprofile for pypy? | 12:18 |
| Alex_Gaynor | cprofile :) | 12:18 |
| cheater | does it give useful results? | 12:18 |
| Alex_Gaynor | more-or-less, yes | 12:18 |
| cheater | can you explain? | 12:18 |
| Alex_Gaynor | (although I think there are bugs on windows) | 12:18 |
| cheater | i'm on a free operating system. | 12:19 |
| Alex_Gaynor | the results are basically accurate, total execution time is significantly increased though | 12:19 |
| Alex_Gaynor | that is, the ratio of time spent is accurate | 12:19 |
| cheater | what about inline time? | 12:19 |
| Alex_Gaynor | ratios are accurate | 12:19 |
| cheater | ok, so inline time / rcalls is accurate, but inline time is not? | 12:20 |
| cheater | and similarly total time / calls is, but total time isn't? | 12:20 |
| cheater | where does this come from? | 12:20 |
| Alex_Gaynor | no, the % of total time is accurate, the total time is much higher than it is in a program without cprofile | 12:20 |
| cheater | oh | 12:20 |
| cheater | that is what you have meant | 12:20 |
| timotimotimo | isn't that usually the case with profiling? | 12:20 |
| cheater | timotimotimo: no. | 12:21 |
| Alex_Gaynor | yes, but it's more extreme with pypy than CPython | 12:21 |
| Alex_Gaynor | cheater: well, profiling always has an overhead to some extent | 12:21 |
| cheater | Alex_Gaynor: yeah, but it's not really that noticable with cProfile on CPython | 12:21 |
| Alex_Gaynor | exactly | 12:21 |
| cheater | i mean you can run it in production | 12:21 |
| timotimotimo | OK | 12:21 |
| cheater | is there no other way to do this? | 12:22 |
| cheater | something better suited for pypy? | 12:22 |
| Alex_Gaynor | we have other performance tools, but nothing that gives you a time profile | 12:22 |
| Alex_Gaynor | http://lostinjit.blogspot.com/2011/11/analysing-pythons-performance-under.html | 12:22 |
| mitsuhiko (~mitsuhiko@ubuntu/member/mitsuhiko) left irc: Ping timeout: 245 seconds | 12:24 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Ping timeout: 248 seconds | 12:32 | |
| cheater | i have read that post, thanks Alex_Gaynor | 12:32 |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 12:45 | |
| ousado (~ousado@31-18-122-38-dynip.superkabel.de) left irc: Ping timeout: 244 seconds | 12:48 | |
| ousado (~ousado@31-18-122-38-dynip.superkabel.de) joined #pypy. | 12:50 | |
| mitsuhiko (~mitsuhiko@ubuntu/member/mitsuhiko) joined #pypy. | 12:54 | |
| Alex_Gaynor | fijal (logs): with faster copy we appear to be about the same or slightly slower than numpy on the numeric version | 12:54 |
| kenaan | 12alex_gaynor default 113869e30bbf49 15/pypy/module/micronumpy/test/test_numarray.py: a failing test for integer pow | 12:58 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/598 [12alex] | 13:00 |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 255 seconds | 13:03 | |
| aboudreault (~alanb@osgeo/member/aboudreault) left irc: Quit: Leaving | 13:07 | |
| chronitis (~chronitis@79-68-112-81.dynamic.dsl.as9105.com) left irc: Read error: Connection reset by peer | 13:11 | |
| DanielHolth (~dholth@stuccoproject.com) joined #pypy. | 13:13 | |
| lmoura (~lmoura@186.215.206.130) joined #pypy. | 13:17 | |
| stakkars (~tismer@f052069126.adsl.alicedsl.de) joined #pypy. | 13:18 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 13:21 | |
| fijal (~fijal@197.104.244.170) joined #pypy. | 13:23 | |
| fijal | cheater: cprofile might not give you reasonable time for very short functions | 13:25 |
| fijal | for example empty ones | 13:25 |
| fijal | because the cost of profile is constant per-call | 13:25 |
| fijal | but the cast of called function changes | 13:25 |
| fijal | anyway, it give you some sort of approximation usually | 13:25 |
| Alex_Gaynor | fijal: did you see my message? | 13:26 |
| fijal | yeah | 13:26 |
| Alex_Gaynor | fijal: still not sure why the traces are weird | 13:26 |
| fijal | that's not great, it's slower than slow right? | 13:26 |
| Alex_Gaynor | yes | 13:27 |
| Alex_Gaynor | also, according to cProfile 1/4 of time is spent in dot | 13:27 |
| fijal | cProfile is a lie | 13:27 |
| Action: fijal attacks the werid traces | 13:27 | |
| Alex_Gaynor | that's probably most useful | 13:27 |
| cheater | fijal: do you mean in pypy or in cpython as well? | 13:28 |
| Alex_Gaynor | fijal: btw, why does a getarrayitem_rw require a MOV and thena a MOVSD? | 13:28 |
| fijal | cheater: in pypy | 13:28 |
| fijal | Alex_Gaynor: good question | 13:29 |
| fijal | Alex_Gaynor: probably loading the address? | 13:29 |
| cheater | fijal: what about functions that happen over and over, but are fairly short? | 13:29 |
| Alex_Gaynor | fijal: http://paste.pocoo.org/show/513983/ are the instructions | 13:29 |
| Alex_Gaynor | fijal: I guess this is probably not the most important thing, but I guess I'm a bit confused (I'm also not good at x86 so...) | 13:30 |
| cheater | fijal: i've got an analysis script based on cprofile (and maxprofile, a modified version of cprofile that measures something else than average time) | 13:31 |
| cheater | fijal: maybe i could add some sort of pypy compatibility that takes that constant cost of the profiler into account | 13:31 |
| fijal | Alex_Gaynor: ah this is easy | 13:31 |
| fijal | you need to load it to the register | 13:31 |
| Alex_Gaynor | "it"? | 13:31 |
| fijal | cheater: a bit hard | 13:32 |
| fijal | Alex_Gaynor: memory location | 13:32 |
| Alex_Gaynor | fijal: from where? | 13:32 |
| cheater | fijal: why would it be hard? isn't the profiler cost *constant*? | 13:32 |
| Alex_Gaynor | fijal: I gotta get ready for class, I'll be around-ish | 13:32 |
| fijal | Alex_Gaynor: from memory | 13:33 |
| fijal | cheater: I guess so | 13:33 |
| fijal | cheater: indeed, you can try | 13:33 |
| exarkun | cheater: How will you know when you have succeeded? | 13:34 |
| chronitis (~chronitis@79-68-112-81.dynamic.dsl.as9105.com) joined #pypy. | 13:35 | |
| fijal | that's a good question | 13:36 |
| cheater | exarkun: light rays from clouds drifting apart, and bells playing beautiful music | 13:37 |
| cheater | fijal: is the profiling cost constant across functions? would two different functions incur the same penalty? | 13:38 |
| fijal | at the first approximation | 13:38 |
| cheater | fijal: which would mean that you could just take the cost of a nop function | 13:38 |
| mitchellh (~mitchellh@c-98-245-152-34.hsd1.co.comcast.net) joined #pypy. | 13:39 | |
| fijal | it's slightly more complex than that | 13:41 |
| fijal | but well | 13:41 |
| fijal | I can think about ways to measure it | 13:41 |
| fijal | exarkun: you can see how well your metric works | 13:41 |
| mitchellh (~mitchellh@c-98-245-152-34.hsd1.co.comcast.net) left irc: Client Quit | 13:41 | |
| fijal | by measuring time it takes with/without cProfile with different call characteristics | 13:41 |
| fijal | and try to match your curve against measurment data | 13:41 |
| cheater | i have a different problem also | 13:42 |
| santagada (~leonardo@201.86.242.84.dynamic.adsl.gvt.net.br) joined #pypy. | 13:42 | |
| cheater | in the first call to a function the jit is run on it, right? | 13:42 |
| cheater | is / might be | 13:42 |
| cheater | which could skew the results for functions that only get called a few times... right? | 13:43 |
| fijal | what? | 13:43 |
| cheater | well what happens if a function gets called in pypy? | 13:44 |
| unbit_ (~unbit@93-58-162-185.ip159.fastwebnet.it) joined #pypy. | 13:44 | |
| cheater | it gets jit compiled, right? | 13:44 |
| unbit (~unbit@93-58-162-185.ip159.fastwebnet.it) left irc: Read error: Connection reset by peer | 13:44 | |
| Nick change: unbit_ -> unbit | 13:44 | |
| cheater | or its cached version gets used | 13:44 |
| fijal | no, not necesarilly | 13:47 |
| fijal | jit starts somewhere, it might be the middle of the function | 13:47 |
| cheater | yeah but what i mean is.. while a function is being called, the jit might become engaged | 13:49 |
| cheater | which could mean skewed results | 13:49 |
| JaRoel (~jaroel|4d@office.fourdigits.nl) joined #pypy. | 13:51 | |
| fijal | yes | 13:51 |
| fijal | but you know exact conditions under which the JIT gets executed | 13:51 |
| fijal | maybe | 13:51 |
| Alex_Gaynor | fijal: I'm sorry, can you explain why getarrayitem_raw needs 2 movs but getarrayitem_gc only needs one? | 13:51 |
| aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy. | 13:51 | |
| fijal | Alex_Gaynor: it depends if the argument comes in memory location or is already in the register | 13:52 |
| Alex_Gaynor | fijal: well, it's the first thing in a loop, why doesn't it get put in a register? | 13:52 |
| fijal | because our register allocator is dumb | 13:52 |
| fijal | probably | 13:52 |
| fijal | it's 32 or 64 bit? | 13:52 |
| Alex_Gaynor | 64 | 13:53 |
| fijal | then no idea :) | 13:53 |
| cheater | fijal: if i'm debugging a complicated app with 15 man-years of commits i do not. :( | 13:53 |
| fijal | register allocator is kinda dumb | 13:53 |
| fijal | cheater: so constant time per function is probably a good first approx | 13:53 |
| Alex_Gaynor | fijal: http://dpaste.com/662728/ | 13:53 |
| Alex_Gaynor | our register allocator is kind of stupid. | 13:54 |
| JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Ping timeout: 248 seconds | 13:54 | |
| fijal | there is a task to improve that | 13:54 |
| Alex_Gaynor | fijal: it's literally reading it off the stack, then putting it back there :/ | 13:54 |
| fijal | yes | 13:54 |
| Alex_Gaynor | I understand teh ASM, I guess I've worked on pypy too much | 13:54 |
| fijal | it does that | 13:54 |
| fijal | Alex_Gaynor: does array.__internal_repr__() sounds like a good way to display the structure? | 13:55 |
| cheater | fijal: hmm i think i might want to find a better way to measure that.. | 13:55 |
| Alex_Gaynor | fijal: is that a numpy thing, or your invention? | 13:55 |
| fijal | my invention | 13:55 |
| Alex_Gaynor | fijal: how about numpy.__pypy__.internal_repr() ? | 13:55 |
| Alex_Gaynor | err numpypy | 13:55 |
| Alex_Gaynor | what do you need it for? | 13:56 |
| fijal | to see about forcing | 13:56 |
| Alex_Gaynor | ok, I prefer my name :) | 13:56 |
| ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) joined #pypy. | 13:57 | |
| Alex_Gaynor | fijal: but yes, sounds like an ok idea, for our own stuff in the module, I'd prefer they- be unittests thou | 13:57 |
| stakkars | arigato: hi! | 13:59 |
| stakkars | there is this pervert case in llinterp with | 14:00 |
| stakkars | op_int_mod_ovf_zer | 14:01 |
| kkris (~kris@80-123-37-238.adsl.highway.telekom.at) left irc: Quit: Leaving. | 14:02 | |
| stakkars | the ovfcheck acts upon (x % y), that is after the op, | 14:02 |
| Nick change: Gulaway -> Gulopine | 14:03 | |
| stakkars | but the only indicator of overflow is the change from int to long | 14:04 |
| stakkars | but exactly that distinction is gone when ints are emulated by long. | 14:04 |
| stakkars | question: should I hack the llinterp implementation, | 14:05 |
| stakkars | or make a global change to r_uint ??? | 14:06 |
| Alex_Gaynor | fijal: going to class for 2.5 hours, if you figure out what's up with the weird forcing let me know | 14:07 |
| fijal | Alex_Gaynor: okey | 14:07 |
| bivab_ (~david@134.99.39.146) joined #pypy. | 14:08 | |
| arigato | stakkars: hack at the llinterp implementation | 14:08 |
| fijal | hm | 14:08 |
| stakkars | arigato: ok, thank you | 14:08 |
| fijal | maybe I should put it on the signature instead? | 14:08 |
| bivab (~david@fwstups.cs.uni-duesseldorf.de) left irc: Read error: No route to host | 14:09 | |
| kenaan | 12fijal default 11a21d75a378ad 15/pypy/module/micronumpy/: a debug repr for numpy objects | 14:09 |
| bivab_ (~david@134.99.39.146) left irc: Ping timeout: 248 seconds | 14:12 | |
| Rhy0lite (dje@nat/ibm/x-qzhhueitehyidvct) joined #pypy. | 14:15 | |
| whitelynx (~whitelynx@63.241.75.144) joined #pypy. | 14:16 | |
| fijal | uh? | 14:17 |
| kenaan | 12fijal default 1186a762812948 15/pypy/module/micronumpy/interp_numarray.py: fix translation hopefully | 14:22 |
| stakkars (~tismer@f052069126.adsl.alicedsl.de) left irc: Quit: schnarch | 14:24 | |
| ltratt (~ltratt@31.185.235.29) left irc: Quit: using sirc version 2.211+KSIRC/1.3.12 | 14:25 | |
| arigato | >>>> numpypy.divide(numpypy.array([-10]),numpypy.array([2])) | 14:25 |
| arigato | array([9223372036854775803], dtype=int64) | 14:25 |
| arigato | bivab and me understood why, but it takes a lot of efforts to | 14:26 |
| fijal | arigato: would you give a spoiler? ;-) | 14:26 |
| fijal | it might be the same way as a ** 2 is broken for int arrays? | 14:26 |
| arigato | that's using a version from the 23 of Nov | 14:27 |
| arigato | the issue is that the ArithmeticTypeMixin contains a "def div()" | 14:27 |
| arigato | which is however transformed with a @binop | 14:27 |
| arigato | as a result, it contains one function "div" that is a wrapper that calls the "real div" | 14:28 |
| arigato | but now it's a mixin | 14:28 |
| arigato | so every concrete subclass ends up containing its own copy of "div" | 14:28 |
| arigato | but only of the "div" wrapper | 14:28 |
| arigato | they all end up calling the same "real div" | 14:28 |
| gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) joined #pypy. | 14:28 | |
| arigato | and *now* in the branch we're working on, this no longer translates (which is nice) | 14:28 |
| fijal | "good" | 14:29 |
| fijal | for some definition of good | 14:29 |
| arigato | because the "real div" is called with either Signed or Unsigned | 14:29 |
| fijal | AttributeError': 'FunctionDesc' object has no attribute 'mergeattrfamilies' | 14:29 |
| fijal | arigato: any clue??? | 14:29 |
| arigato | but in 'default' of course, the real div is just annotated with Unsigned, and the division occurs with Unsigned | 14:29 |
| arigato | who fixes this issue? I don't have any experience digging in micronumpy | 14:31 |
| fijal | I believe alex | 14:31 |
| CIA-13 | 031989lzhh 07roundup * 10#943/pypy 1.7 the pow operation of numpypy's array is not correct: | 14:31 |
| CIA-13 | [new] import numpypy as np | 14:31 |
| CIA-13 | a = np.array([1, 2, 3]) | 14:31 |
| CIA-13 | print a**2 #the result is [0, 0, 0] under Windows * 14https://bugs.pypy.org/issue943 | 14:31 |
| fijal | he's the author of the metaprogramming | 14:31 |
| arigato | :-) | 14:32 |
| fijal | this is a dupe from pypy-dev I think | 14:32 |
| Action: fijal broke translation | 14:34 | |
| kenaan | 12bivab disable_merge_different_int_types 11e129a347ccdd 15/pypy/rlib/rmmap.py: (arigo, bivab) this checks does not make sense | 14:35 |
| kenaan | 12bivab disable_merge_different_int_types 11f344e15fadc1 15/pypy/rlib/rbigint.py: fix | 14:35 |
| kenaan | 12bivab disable_merge_different_int_types 11841843401a55 15/pypy/rlib/test/test_rarithmetic.py: remove a testcase that is now valid | 14:35 |
| kenaan | 12bivab disable_merge_different_int_types 11f05f7014462b 15/pypy/objspace/std/setobject.py: Fix for unsigned-ness in hash computation | 14:35 |
| kenaan | 12bivab disable_merge_different_int_types 1102debe3a5ebc 15/pypy/rlib/rbigint.py: (cfbolz, bivab): unsigned fixes for rbigint | 14:35 |
| kenaan | 12bivab disable_merge_different_int_types 1196f224c56d33 15/pypy/rlib/: translation fix for rmd5 and rsha | 14:35 |
| kenaan | 12bivab disable_merge_different_int_types 11663969efb61d 15/pypy/module/binascii/interp_crc32.py: translation fix for binascii | 14:35 |
| kenaan | 12bivab disable_merge_different_int_types 1166ee3fbaa96a 15/pypy/rlib/rsocket.py: make sure calls to ntohs and htons get unsigned values | 14:35 |
| kenaan | 12bivab disable_merge_different_int_types 11dbfc77bcb912 15/pypy/: more fixes | 14:35 |
| kenaan | 12bivab disable_merge_different_int_types 118e235e060794 15/pypy/annotation/: (arigo, bivab) allow merging unsigned and non-negative signed values | 14:35 |
| kenaan | 12bivab disable_merge_different_int_types 11b6177243b63d 15/pypy/interpreter/: (arigo, bivab) make sure next_instr is unsigned and handlerposition is a non-neg signed O.o | 14:35 |
| kenaan | 12bivab disable_merge_different_int_types 1144192f720e21 15/pypy/: (arigo, bivab): fix some annotation issues and revert some changes | 14:36 |
| kenaan | 12bivab disable_merge_different_int_types 119d67bd8ccb4a 15/pypy/rlib/rsocket.py: (arigo, bivab): make sure makeipv4addr is called with an unsigned | 14:36 |
| kenaan | 12bivab disable_merge_different_int_types 11033150c474a1 15/: merge default | 14:36 |
| stakkars (~tismer@i59F75C7D.versanet.de) joined #pypy. | 14:37 | |
| arigato | ha ha | 14:38 |
| arigato | in my attempt to look at llsupport/gc.py | 14:39 |
| arigato | I found out that "has_finalizer" is always False | 14:39 |
| lmoura (~lmoura@186.215.206.130) left irc: Ping timeout: 248 seconds | 14:39 | |
| Nick change: Gulopine -> Gulaway | 14:40 | |
| fijal | nice | 14:40 |
| lmoura (~lmoura@186.215.206.130) joined #pypy. | 14:41 | |
| fijal | arigato: so the "slow" version in case you haven't seen it, is 30% slower than C++ | 14:42 |
| fijal | than non-fancy c++ | 14:42 |
| fijal | arigato: I think alex also broke tests | 14:44 |
| fijal | so numpy is in a bit bad state | 14:45 |
| fijal | but I can try to fix the issue if he does not show up | 14:45 |
| DanielHolth (~dholth@stuccoproject.com) left irc: Remote host closed the connection | 14:45 | |
| DanielHolth (~dholth@stuccoproject.com) joined #pypy. | 14:46 | |
| kenaan | 12fijal default 117e26680ebb76 15/pypy/module/micronumpy/: another attempt to fix translation | 14:48 |
| durin42 (~durin@173-15-14-174-Illinois.hfc.comcastbusiness.net) joined #pypy. | 14:49 | |
| durin42 (~durin@173-15-14-174-Illinois.hfc.comcastbusiness.net) left irc: Changing host | 14:49 | |
| durin42 (~durin@adium/durin42) joined #pypy. | 14:49 | |
| arigato | fijal: ok, feel free to | 14:50 |
| arigato | in the meantime, we merged default but are going to translate --withoutmod-numpy | 14:50 |
| arigato | it's cool enough that our branch showed an existing bug in some random code | 14:51 |
| arigato | without it, I've a bit no clue how you (=numpy developers) would have found it, apart from gdb'ing the C sources | 14:51 |
| fijal | arigato: actually alex commited a test that shows that behavior | 14:52 |
| fijal | because someone complained | 14:52 |
| fijal | but maybe it's not connected | 14:52 |
| sven_hager (~sven@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 14:55 | |
| fijal | arigato: I wonder how much our productivity would be boosted if we had say 5min translation | 14:56 |
| fijal | pushing takes forever | 14:58 |
| fijal | I wonder why | 14:58 |
| kenaan | 12fijal default 1117ecbcddab11 15/pypy/module/micronumpy/test/test_numarray.py: skip the failing test for now | 15:00 |
| Action: arigato fixes rmmap | 15:01 | |
| arigato | ah bah, it's in our branch | 15:01 |
| fijal | ? | 15:04 |
| jimbaker (~jbaker@c-75-71-80-146.hsd1.co.comcast.net) joined #pypy. | 15:06 | |
| jimbaker (~jbaker@c-75-71-80-146.hsd1.co.comcast.net) left irc: Changing host | 15:06 | |
| jimbaker (~jbaker@canonical/jimbaker) joined #pypy. | 15:06 | |
| kenaan | 12ctismer win64-stage1 11dc399690828c 15/pypy/rpython/llinterp.py: simple but ugly hack to make 'test_mod_ovf_zer' pass. ovfcheck(x % y) does not help when int and long are un... | 15:07 |
| CIA-13 | 03jmr 07roundup * 10#935/Possible typing error in micronumpy: | 15:08 |
| CIA-13 | Hard to tell; translation still fails as of a21d75a378ad but with a different | 15:08 |
| CIA-13 | error. * 14https://bugs.pypy.org/issue935 | 15:08 |
| CIA-13 | 03fijal 07roundup * 10#935/Possible typing error in micronumpy: I just broke it. 17ecbcddab11 should translate just fine * 14https://bugs.pypy.org/issue935 | 15:11 |
| cheater | hey guys, where is the best place to read up on compatibility of standard modules with pypy? | 15:12 |
| cheater | such as libxml2, libxslt1, mysqldb.. | 15:13 |
| exarkun | on the compatibility wiki page | 15:16 |
| cheater | oh /me googles | 15:16 |
| cheater | thanks, that was very helpful | 15:20 |
| stakkars (~tismer@i59F75C7D.versanet.de) left irc: Quit: schnarch | 15:28 | |
| kenaan | 12bivab disable_merge_different_int_types 1161b011382aef 15/pypy/: (arigo, bivab) get rid of the last traces of ROverflowError | 15:38 |
| kenaan | 12bivab disable_merge_different_int_types 11be6b9593a9db 15/pypy/module/rctime/interp_time.py: (arigo, bivab): cast | 15:38 |
| kenaan | 12bivab disable_merge_different_int_types 11538d6f408379 15/pypy/jit/backend/llsupport/asmmemmgr.py: (arigo, bivab): add some r_uints here and there | 15:38 |
| arigato | chronitis: hi | 15:48 |
| chronitis | hello | 15:49 |
| chronitis | arigato: re pull request? | 15:50 |
| arigato | yes | 15:51 |
| arigato | I'm sorry not to be particularly helpful, but just a general question: | 15:51 |
| chronitis | I assume I need to get hold of amaury to approve it (since it's all py3k) | 15:51 |
| chronitis | ok | 15:51 |
| arigato | do you want access directly to our repo, instead of doing pull requests? | 15:51 |
| chronitis | the answer at some point would certainly be yes | 15:52 |
| chronitis | but it would probably be worth me spending a bit more time with pypy and mercurial first lest I spectacularly break things ;) | 15:52 |
| arigato | ok :-) as far as I can tell, you can probably also make a branch of py3k and work there, if you prefer to maintain some separation | 15:53 |
| arigato | anyway, feel free to ask at any point | 15:53 |
| chronitis | ok, thanks | 15:53 |
| stakkars (~stakkars@82.113.119.74) joined #pypy. | 15:54 | |
| chronitis | I'll think about it | 15:54 |
| cheater (~cheater@178-26-58-7-dynip.superkabel.de) left irc: Quit: leaving | 15:54 | |
| asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy. | 16:00 | |
| kenaan | 12arigo default 113f3caf8b978b 15/pypy/jit/backend/llsupport/gc.py: Mallocs of objects with a __del__ are handled differently anyway. This was untested code, and pointless. | 16:00 |
| CIA-13 | 03arigo 07roundup * 10#943/pypy 1.7 the pow operation of numpypy's array is not correct: | 16:05 |
| CIA-13 | [chatting] Another bug, maybe related: | 16:05 |
| CIA-13 | >>>> numpypy.divide(numpypy.array([-10]),numpypy.array([2])) | 16:05 |
| CIA-13 | array([9223372036854775803], dtype=int64) | 16:05 |
| CIA-13 | ... * 14https://bugs.pypy.org/issue943 | 16:05 |
| mattip (~chatzilla@bzq-79-177-116-180.red.bezeqint.net) joined #pypy. | 16:09 | |
| mattip | hi | 16:09 |
| arigato | hi | 16:09 |
| mattip | exciting times. I looked at the code I commited this morning and couldn't recognize it :) | 16:10 |
| arigato | :-) | 16:13 |
| mattip (~chatzilla@bzq-79-177-116-180.red.bezeqint.net) left irc: Client Quit | 16:13 | |
| fijal | mattip: we did a bit of cleanup :) | 16:13 |
| stakkars (~stakkars@82.113.119.74) left irc: Quit: Colloquy for iPhone - http://colloquy.mobi | 16:15 | |
| dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) joined #pypy. | 16:17 | |
| andrewfr (~andrew@modemcable211.101-70-69.static.videotron.ca) joined #pypy. | 16:18 | |
| JaRoel (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection | 16:22 | |
| sven_hager (~sven@fwstups.cs.uni-duesseldorf.de) left irc: Quit: Leaving | 16:22 | |
| andrewfr | hi, I noticed on the blog work on STM | 16:23 |
| mattip (~chatzilla@bzq-79-177-116-180.red.bezeqint.net) joined #pypy. | 16:23 | |
| mattip | fijal: sorry, internet. Yes it's all good. I just wanted to ask if I should keep plugging away at reshape | 16:24 |
| mattip | or if priorities have changed | 16:25 |
| andrewfr | I am looking at the STM branch - is there a nightly build for this? | 16:25 |
| andrewfr | should I ask about STM on the mailing list (I guess it is supper time in Western Europe right now?) | 16:26 |
| kenaan | 12bivab disable_merge_different_int_types 1120e94d09f38f 15/pypy/jit/metainterp/optimizeopt/fficall.py: (arigo, bivab): Ah, read field as a signed value | 16:32 |
| arigato | andrewfr: hi | 16:33 |
| andrewfr | hi there | 16:33 |
| andrewfr | I am looking at the bit bucket right now | 16:33 |
| arigato | stm is not ready so far, but there is the branch "stm" | 16:33 |
| arigato | it can only translate simple RPython programs, not the whole pypy | 16:33 |
| andrewfr | yes my main problem is I don't have computers large enough to compile pypy | 16:33 |
| andrewfr | well I don't mind learning and using RPython | 16:34 |
| andrewfr | i would like to dive into STM sooner than latter | 16:34 |
| andrewfr | right now I am starting to learn Haskell | 16:34 |
| arigato | ah | 16:34 |
| arigato | I see | 16:34 |
| andrewfr | and for my Stackless Python stuff, I have a partial implementation of join patterns | 16:34 |
| andrewfr | and I have a fairly short implementation of the Santa Claus problem | 16:35 |
| andrewfr | it is actually trivially simple | 16:35 |
| andrewfr | there is a Haskell version that uses STM | 16:35 |
| andrewfr | i am wondering what it would look like in STM with PyPy | 16:35 |
| `fox` (~fox@95.232.111.141) joined #pypy. | 16:35 | |
| arigato | :-) | 16:36 |
| andrewfr | by next week I am hoping to understand enough Haskell to follow the solution and translate it | 16:36 |
| Alex_Gaynor | arigato: pow and div are for different reasons, it sounds like div only affects translated versions, but pow is broken untranslated | 16:36 |
| arigato | Alex_Gaynor: ah, ok | 16:36 |
| arigato | sorry to put it in the same bug report, then :-) | 16:37 |
| andrewfr | also Armin you talk about composability | 16:37 |
| arigato | andrewfr: have a look in the stm branch at pypy/translator/stm/test/test_ztranslated for how a simple program can be written in RPython | 16:38 |
| andrewfr | have you read anything on Concurrent ML or Transactional Events | 16:38 |
| Trundle (~andy@python/site-packages/trundle) left irc: Remote host closed the connection | 16:38 | |
| arigato | or .../targetdemo.py | 16:38 |
| andrewfr | I was looking at targetdemo | 16:38 |
| andrewfr | and I will look at test_ztranslated | 16:38 |
| andrewfr | i'll also look for the original STM papers you are referencing | 16:39 |
| arigato | ok. the only strange thing is the call to rstm.transaction_boundary() | 16:39 |
| arigato | it marks the end of a transaction and the start of the next one | 16:39 |
| andrewfr | does this mark the beginning/end of the transaction? | 16:39 |
| arigato | yes | 16:39 |
| stakkars (~tismer@p5DDB7E68.dip.t-dialin.net) joined #pypy. | 16:39 | |
| andrewfr | I will assume as per STM, no I/O operations | 16:39 |
| arigato | it is what would be written in the interpreter main loop between two opcodes, if targetdemo was a complete interpreter | 16:39 |
| andrewfr | everything has to be rollbacked if possible | 16:40 |
| arigato | no, I/O is fine: it changes the mode of the transaction to be "inevitable", i.e. "cannot be rollbacked" | 16:40 |
| Alex_Gaynor | fijal: any luck with why things are forced? | 16:40 |
| arigato | actually so far a lot of stuff will change the transaction to "inevitable", probably more than we want | 16:41 |
| andrewfr | I was under the impression, at least in Haskell's STM, I/O could not be a part of a transaction - let me re-read this | 16:41 |
| arigato | but the result is correct, just not parallelized enough (of course only one transaction can be inevitable at a time) | 16:41 |
| andrewfr | Let me think about that scenario | 16:42 |
| arigato | yes, you need "inevitable transactions", as they are called, which is considered an optional part in STM libraries | 16:42 |
| arigato | but that's really essential in the context of pypy | 16:42 |
| andrewfr | yes one transaction has to be inevitable or viable but the problems occur if an aborted transaction cannot be rollback back then that violates various ACID properties | 16:43 |
| andrewfr | again I just starting to dive deeper into this stuff myself | 16:43 |
| andrewfr | it will help when I actually get my hands dirty and write stuff | 16:44 |
| andrewfr | in my own stuff, I have transactions of a sort | 16:44 |
| andrewfr | I can't rollback a send on a channel :-) | 16:45 |
| andrewfr | the event occurred.... | 16:45 |
| andrewfr | another question Armin, you have STM but you haven't removed the GIL yet? | 16:45 |
| arigato | I have STM for simple RPython programs, I haven't tried to apply it to the whole of PyPy yet | 16:47 |
| arigato | these simple RPython programs don't have a GIL | 16:47 |
| andrewfr | well for now RPython is good enough | 16:47 |
| andrewfr | baby steps are good | 16:47 |
| andrewfr | again, for my join pattern stuff, the authors of "Scalable Join Patterns" referred me to Concurrent ML and transactional events | 16:48 |
| andrewfr | they have a very interesting take on composability | 16:49 |
| andrewfr | essentially they cleave the synchronisation operation from the description | 16:49 |
| andrewfr | at a more practical level, synchronisation mechanisms are like decorators | 16:50 |
| andrewfr | again, to implement some of that stuff, they get into transactions | 16:50 |
| andrewfr | I want to write to model this with stackless.py | 16:51 |
| andrewfr | like the STM stuff, I need to bone up on ML | 16:51 |
| andrewfr | anyhow Armin thanks for your explanation, if I can't get the STM branch built, would it be possible for me to get a pre-built? | 16:53 |
| arigato | you have misunderstood me | 16:53 |
| arigato | there is no build of the STM branch yet | 16:54 |
| andrewfr | oh sorry for the misunderstanding | 16:54 |
| andrewfr | let me re-read what you wrote. Wait a moment | 16:54 |
| andrewfr | okay | 16:55 |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy. | 16:59 | |
| kenaan | 12alex_gaynor default 1174b0db67fd56 15/pypy/module/micronumpy/: correct the dtype of scalar arrays | 17:00 |
| kenaan | 12alex_gaynor default 116f6b258f307e 15/pypy/module/micronumpy/: fix for pow on ints, and translated binops | 17:00 |
| kenaan | 12arigo stm 11bdf32e433c10 15/pypy/translator/stm/test/test_rstm.py: Fix the test. | 17:00 |
| kenaan | 12arigo stm 111df7fe908221 15/pypy/translator/stm/src_stm/et.c: Fix. | 17:00 |
| CIA-13 | 03agaynor 07roundup * 10#943/pypy 1.7 the pow operation of numpypy's array is not correct: This should be fixed by 6f6b258f307e * 14https://bugs.pypy.org/issue943 | 17:01 |
| arigato | Alex_Gaynor: ...and @unaryop, and @raw_binop? | 17:01 |
| Alex_Gaynor | arigato: only if someone has a test case | 17:02 |
| arigato | Alex_Gaynor: well it's trivial to come up with some | 17:02 |
| G2P (~G2P@fw-asn1.ornis.com) left irc: Quit: Leaving. | 17:02 | |
| Alex_Gaynor | ok :) so let's | 17:02 |
| arigato | array([-2]) < array([2]) | 17:03 |
| Alex_Gaynor | returns [True] for me | 17:03 |
| arigato | ah | 17:03 |
| arigato | sign(array([-2]))? | 17:03 |
| Alex_Gaynor | [-1] :) | 17:04 |
| arigato | abs(array([-2]))? | 17:04 |
| Alex_Gaynor | [2] | 17:05 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/599 [12alex] | 17:07 |
| `fox` (~fox@95.232.111.141) left irc: Ping timeout: 258 seconds | 17:07 | |
| arigato | Alex_Gaynor: then I give up, and I'll rely on it not translating with the branch to say "it's not RPython, you have to fix it anyway" :-) | 17:09 |
| Alex_Gaynor | arigato: deal :) | 17:09 |
| fijal | Alex_Gaynor: no, went for a walk | 17:15 |
| fijal | Alex_Gaynor: but the simpler example does the same | 17:16 |
| Alex_Gaynor | fijal: what do you mean? | 17:16 |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 17:17 | |
| kenaan | 12arigo stm 111b1707eedf87 15/: hg merge default | 17:18 |
| fijal | Alex_Gaynor: nonsense :/ | 17:21 |
| Alex_Gaynor | what? | 17:21 |
| fijal | the fact that it compiles a couple of loops instead of one | 17:21 |
| Alex_Gaynor | right, do we have an idea of why, or a failing test? | 17:22 |
| fijal | no | 17:22 |
| andrewfr | hi Armin, I am a little confused. | 17:22 |
| andrewfr | what exactly do I need to get in order to play with RPython and STM, I downloaded pypy but I do not see translator/stm | 17:23 |
| fijal | 'Call2(multiply, Call2(add, Call2(multiply, Call2(add, Slice(Array), Slice(Array)), Scalar), Call2(multiply, Call2(add, Slice(Array), Slice(Array)), Scalar)), Scalar)' | 17:23 |
| fijal | Alex_Gaynor: this is what the debug_repr says, sounds like it should compile one loop no? | 17:24 |
| Alex_Gaynor | fijal: yes, so the bug is in the evaluation, somehow | 17:24 |
| Action: fijal writes test_zjit | 17:24 | |
| timotimotimo | andrewfr: you have to check out the "stm" branch with hg | 17:25 |
| andrewfr | what is the URL for the STM branch? | 17:26 |
| Alex_Gaynor | fijal: pff, why do the tests have full ops for preamble as well in them? I can't tell what's important and what isn't now | 17:26 |
| arigato | andrewfr: "hg up stm" | 17:26 |
| andrewfr | thanks | 17:26 |
| chronitis (~chronitis@79-68-112-81.dynamic.dsl.as9105.com) left irc: Quit: Lost terminal | 17:26 | |
| fijal | Alex_Gaynor: ? | 17:27 |
| fijal | Alex_Gaynor: you mean check_loops? | 17:27 |
| arigato | Alex_Gaynor: I can explain that | 17:27 |
| Alex_Gaynor | fijal: yes | 17:27 |
| Alex_Gaynor | arigato: ok | 17:27 |
| andrewfr | great! Thanks! | 17:27 |
| arigato | Alex_Gaynor: it's done as part of the incoming jit-targets branch, where the existing check_loops() doesn't work any more | 17:27 |
| arigato | but I know it's annoying | 17:28 |
| arigato | as a result we have more recently re-added some kind of check_loops | 17:28 |
| arigato | it would fail if there is more than one loop, though | 17:28 |
| Alex_Gaynor | it makes the tests very fragile IMO, numpy in particular has preambles that do random stuff and change all the time, but loops are stillv ery good | 17:28 |
| fijal | arigato: can you explain a bit? | 17:28 |
| arigato | yes | 17:28 |
| fijal | about jit-targets | 17:28 |
| arigato | well this was done in its own branch, and merged to default | 17:29 |
| lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) left irc: Read error: Connection reset by peer | 17:30 | |
| andrewfr (andrew@modemcable211.101-70-69.static.videotron.ca) left #pypy. | 17:31 | |
| arigato | hum, check_simple_loop() was re-added only on branch jit-targets (7b57bed3d875) | 17:32 |
| Action: arigato adds it manually to 'default' too | 17:34 | |
| timotimotimo (~timo@gallifrey.wybt.net) left irc: Ping timeout: 258 seconds | 17:35 | |
| arigato | fijal: basically jit-targets adds "rop.LABEL", and changes rop.JUMP to target not a loop but such a label | 17:36 |
| fijal | how is that related to removal of check_loops | 17:36 |
| arigato | it is better because it allows us to generate longer "loops" (that are now just called "traces") containing both preamble and loop | 17:37 |
| arigato | so check_loops has no obvious correspondance in the new world | 17:37 |
| arigato | the re-added check_simple_loop() checks only the tail of the main loop, after the LABEL in the middle | 17:38 |
| fijal | uh | 17:39 |
| fijal | Alex_Gaynor: ok, got it | 17:39 |
| fijal | arigato: what's the gain? | 17:39 |
| fijal | Alex_Gaynor: it's sliceloop that calls setitem that calls get_concrete | 17:40 |
| fijal | it's amazing it works at all :) | 17:40 |
| arigato | fijal: avoids a horribly long sequence of MOVs in the JUMP | 17:41 |
| arigato | and cleans up some concepts too | 17:41 |
| fijal | hm is it | 17:41 |
| arigato | at least I think the x86 backend can be cleaned up | 17:41 |
| fijal | arigato: does this require a better regalloc btw? | 17:41 |
| arigato | no | 17:41 |
| fijal | so there are no joint points? | 17:46 |
| Niedar (~nnscript@ip68-231-248-182.hr.hr.cox.net) left irc: Quit: ( www.nnscript.com :: NoNameScript 4.22 :: www.esnation.com ) | 17:46 | |
| timotimotimo (~timo@gallifrey.wybt.net) joined #pypy. | 17:46 | |
| fijal | arigato: I hope you understand you completely broke test_zjit in numpy? | 17:47 |
| fijal | I mean as of now it does not represent anything | 17:47 |
| arigato | yes | 17:47 |
| arigato | wait a sec | 17:47 |
| Action: fijal waits a sec | 17:48 | |
| fijal | ok | 17:48 |
| fijal | it would actually be better if you skipped all those tests and left the counters as they were | 17:48 |
| fijal | cause they were not there by accident | 17:48 |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 17:49 | |
| kenaan | 12hakanardo default 114083ffe1dd1e 15/pypy/jit/metainterp/: A check function that allows counting the ops in the peeled loop only. It only works in the simplest case when ... | 17:49 |
| kenaan | 12arigo default 11d0d82346acf2 15/pypy/jit/metainterp/history.py: Fix. | 17:49 |
| voidspace (~voidspace@python/psf/voidspace) left irc: Quit: Uhm... gotta go | 17:50 | |
| fijal | eh | 17:50 |
| fijal | Alex_Gaynor: ok so those are test_zjit tests that I were too lazy to port | 17:50 |
| fijal | I guess we're bitten now :/ | 17:51 |
| fijal | maybe I'll learn one day | 17:51 |
| Action: fijal off for a beer | 17:51 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy. | 17:51 | |
| kenaan | 12ctismer win64-stage1 11d9abe6cd48d4 15/pypy/: blaming myself about bad ideas. is_valid_int should never raise an exception, basta! | 17:51 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-win-x86-64/builds/71 [12ctismer, win64-stage1] | 17:54 |
| kenaan | 12arigo default 1126e7aaccc675 15/pypy/module/micronumpy/test/test_zjit.py: Revert most of f47785c0df50, using check_simple_loop() instead. | 17:55 |
| arigato | Alex_Gaynor: done. there is only one test that still uses check_resops() now, and an XXX comment explaining why | 17:55 |
| arigato | for future reference: look at "hg diff -c d9ef0a8f3fa2" | 18:00 |
| arigato | and figure out if it makes more sense for a test to use check_resops() like now, or check_simple_loop() using the old parameters | 18:01 |
| arigato | oups, I missed hakanardo's checkin | 18:03 |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/599 [12alex] | 18:04 |
| arigato | uh! sorry nonsense | 18:04 |
| arigato | that's a checkin I did, as a "hg transplant" | 18:04 |
| Action: arigato -> dinner | 18:09 | |
| arigato (~arigo@fwstups.cs.uni-duesseldorf.de) left irc: Quit: See you | 18:09 | |
| stakkars | confusing :-) | 18:09 |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection | 18:10 | |
| amaury__ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy. | 18:18 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 18:24 | |
| CIA-13 | 03jmr 07roundup * 10#935/Possible typing error in micronumpy: [resolved] Confirmed. * 14https://bugs.pypy.org/issue935 | 18:27 |
| Guest_ (~textual@63-228-127-70.dia.static.qwest.net) joined #pypy. | 18:29 | |
| DasIch (~dasich@p3E990818.dip.t-dialin.net) joined #pypy. | 18:35 | |
| Nick change: Guest_ -> rekamso | 18:38 | |
| mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 258 seconds | 18:40 | |
| fijal (~fijal@197.104.244.170) left irc: Read error: Connection reset by peer | 18:47 | |
| kenaan | 12ctismer win64-stage1 1102c5ddb49a48 15/pypy/objspace/std/test/test_intobject.py: fixed test_intobject. | 18:50 |
| schmichael (~schmichae@gir.lofiart.com) joined #pypy. | 19:05 | |
| fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy | 19:06 | |
| mwhudson (~mwh@linaro/mwhudson) joined #pypy. | 19:07 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection | 19:08 | |
| bogner (~bogner@2600:3c03::f03c:91ff:fedf:7ef4) joined #pypy. | 19:12 | |
| schmichael (schmichae@gir.lofiart.com) left #pypy. | 19:13 | |
| Sho_ (~EHS1@dslb-094-222-204-119.pools.arcor-ip.net) joined #pypy. | 19:15 | |
| Sho_ (~EHS1@dslb-094-222-204-119.pools.arcor-ip.net) left irc: Changing host | 19:15 | |
| Sho_ (~EHS1@kde/hein) joined #pypy. | 19:15 | |
| Sho_ (~EHS1@kde/hein) left irc: Quit: Stop leaking memory like it's going out of fashion. | 19:26 | |
| Sho_ (~EHS1@kde/hein) joined #pypy. | 19:26 | |
| fzzzy (~donovan@nat/mozilla/x-duavnjidvhnwbujf) joined #pypy. | 19:28 | |
| tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy. | 19:30 | |
| jnoller (~jnoller@vpn.nasuni.com) joined #pypy. | 19:34 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Quit: Leaving | 19:36 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 19:40 | |
| kenaan | 12hakanardo jit-targets 1191088be9f99a 15/pypy/jit/metainterp/optimizeopt/test/test_util.py: fix tests | 19:41 |
| kenaan | 12hakanardo jit-targets 11c5de3f7beba8 15/pypy/jit/metainterp/optimizeopt/: aliasing vrituals are pointless except that it generates a crash | 19:41 |
| Rhy0lite (dje@nat/ibm/x-qzhhueitehyidvct) left irc: Quit: Leaving | 19:41 | |
| Tobu (~Tobu@unaffiliated/tobu) joined #pypy. | 19:42 | |
| tlynn (~tlynn@cpc6-cmbg14-2-0-cust121.5-4.cable.virginmedia.com) joined #pypy. | 19:47 | |
| etrepum (~bob@accessnat4.mochimedia.net) joined #pypy. | 19:47 | |
| antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds | 19:47 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Ping timeout: 248 seconds | 19:50 | |
| mattip (~chatzilla@bzq-79-177-116-180.red.bezeqint.net) left irc: Quit: ChatZilla 0.9.87 [Firefox 8.0/20111115183158] | 19:52 | |
| DasIch (~dasich@p3E990818.dip.t-dialin.net) left irc: Ping timeout: 244 seconds | 19:55 | |
| santagada (~leonardo@201.86.242.84.dynamic.adsl.gvt.net.br) left irc: Quit: Ex-Chat | 19:56 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 20:05 | |
| DasIch (~dasich@p3E991185.dip.t-dialin.net) joined #pypy. | 20:07 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Quit: Leaving | 20:09 | |
| k_bx (~k_bx@94.244.19.62) joined #pypy. | 20:17 | |
| Justin (~justin@irssi.datacomm.albany.edu) joined #pypy. | 20:23 | |
| cwillu_at_work (~cwillu@cwillu-1-pt.tunnel.tserv13.ash1.ipv6.he.net) joined #pypy. | 20:23 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/own-win-x86-64/builds/71 [12ctismer, win64-stage1] | 20:27 |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy. | 20:33 | |
| fzzzy (~donovan@nat/mozilla/x-duavnjidvhnwbujf) left irc: Read error: Connection reset by peer | 20:39 | |
| fzzzy (~donovan@nat/mozilla/x-thcrmcbkvwelbvfn) joined #pypy. | 20:39 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection | 20:40 | |
| ojii (~ojii@40-34.60-188.cust.bluewin.ch) left irc: Quit: Leaving | 20:44 | |
| fprimex (~fprimex@fl-67-233-144-228.dhcp.embarqhsd.net) joined #pypy. | 20:46 | |
| kenaan | 12mattip matrixmath-reshape 11b87bb33414be 15/pypy/module/micronumpy/: fix shape,reshape. Ready for review | 20:47 |
| Tobu (~Tobu@unaffiliated/tobu) left irc: Remote host closed the connection | 20:48 | |
| lizardo (~lizardo@189.2.128.130) left irc: Quit: Leaving | 20:48 | |
| apanda (~apanda@airbears-136-152-21-255.AirBears.Berkeley.EDU) joined #pypy. | 20:48 | |
| chronitis (~chronitis@79-68-112-81.dynamic.dsl.as9105.com) joined #pypy. | 20:51 | |
| jnoller (~jnoller@vpn.nasuni.com) left irc: | 20:51 | |
| apanda (~apanda@airbears-136-152-21-255.AirBears.Berkeley.EDU) left irc: Remote host closed the connection | 20:53 | |
| kkris (~kris@80-123-36-225.adsl.highway.telekom.at) joined #pypy. | 20:55 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 20:58 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Disconnected by services | 21:02 | |
| nedbat_ (~nedbat@python/psf/nedbat) joined #pypy. | 21:03 | |
| `fox` (~fox@95.232.111.141) joined #pypy. | 21:06 | |
| `fox` (~fox@95.232.111.141) left irc: Read error: Connection reset by peer | 21:17 | |
| mtigas (~Adium@users.spokesman.com) joined #pypy. | 21:19 | |
| apanda (~apanda@2607:f140:400:1020:c9de:eb22:b106:3eef) joined #pypy. | 21:20 | |
| mtigas (Adium@users.spokesman.com) left #pypy. | 21:21 | |
| mtigas (~Adium@users.spokesman.com) joined #pypy. | 21:21 | |
| nedbat (~nedbat@python/psf/nedbat) joined #pypy. | 21:27 | |
| nedbat_ (~nedbat@python/psf/nedbat) left irc: Ping timeout: 255 seconds | 21:30 | |
| apanda (~apanda@2607:f140:400:1020:c9de:eb22:b106:3eef) left irc: Remote host closed the connection | 21:31 | |
| Arach (~arach@2.95.163.200) left irc: Ping timeout: 240 seconds | 21:34 | |
| `fox` (~fox@95.232.111.141) joined #pypy. | 21:35 | |
| Arach (~arach@2.95.163.200) joined #pypy. | 21:35 | |
| kkris (~kris@80-123-36-225.adsl.highway.telekom.at) left irc: Quit: Leaving. | 21:40 | |
| `fox` (~fox@95.232.111.141) left irc: Read error: Connection reset by peer | 21:45 | |
| mtigas (~Adium@users.spokesman.com) left irc: Quit: Leaving. | 21:45 | |
| `fox` (~fox@95.232.111.141) joined #pypy. | 21:46 | |
| Dulak (~michael@unaffiliated/dulak) joined #pypy. | 21:50 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy. | 21:53 | |
| Sho_ (~EHS1@kde/hein) left irc: Quit: Stop leaking memory like it's going out of fashion. | 22:08 | |
| Sho_ (~EHS1@kde/hein) joined #pypy. | 22:08 | |
| `fox` (~fox@95.232.111.141) left irc: Ping timeout: 260 seconds | 22:09 | |
| DanielHolth (~dholth@stuccoproject.com) left irc: Ping timeout: 244 seconds | 22:09 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 22:21 | |
| EnCuKou (~encukou@a91-156-243-246.elisa-laajakaista.fi) joined #pypy. | 22:23 | |
| DanielHolth (~dholth@ip98-180-34-112.ga.at.cox.net) joined #pypy. | 22:23 | |
| verte (~verte@python/site-packages/verte) joined #pypy. | 22:27 | |
| lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 248 seconds | 22:39 | |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/153 | 22:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/727 | 22:39 |
| bbot2 | Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/958 | 22:39 |
| ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) left irc: Quit: Leaving... | 22:41 | |
| bbot2 | 4Failure: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/958 | 22:46 |
| JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Remote host closed the connection | 22:50 | |
| hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Ping timeout: 252 seconds | 22:57 | |
| mitchellh (~mitchellh@12.130.118.8) joined #pypy. | 22:58 | |
| stakkars_ (~tismer@p5DDB7E68.dip.t-dialin.net) joined #pypy. | 23:00 | |
| stakkars (~tismer@p5DDB7E68.dip.t-dialin.net) left irc: Read error: Connection reset by peer | 23:00 | |
| Nick change: stakkars_ -> stakkars | 23:00 | |
| fprimex (~fprimex@fl-67-233-144-228.dhcp.embarqhsd.net) left irc: Quit: later! | 23:01 | |
| rekamso (~textual@63-228-127-70.dia.static.qwest.net) left irc: Ping timeout: 244 seconds | 23:03 | |
| k_bx (~k_bx@94.244.19.62) left irc: Ping timeout: 248 seconds | 23:18 | |
| rekamso (~textual@63-228-127-70.dia.static.qwest.net) joined #pypy. | 23:19 | |
| whitelynx (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat | 23:25 | |
| voidspace (~voidspace@python/psf/voidspace) joined #pypy. | 23:32 | |
| apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Read error: Connection reset by peer | 23:33 | |
| aurojit (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy. | 23:33 | |
| EnCuKou (~encukou@a91-156-243-246.elisa-laajakaista.fi) left irc: Quit: MizĂm. | 23:46 | |
| nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 255 seconds | 23:51 | |
| voidspace_ (~voidspace@python/psf/voidspace) joined #pypy. | 23:54 | |
| voidspace (~voidspace@python/psf/voidspace) left irc: Read error: Connection reset by peer | 23:54 | |
| Nick change: voidspace_ -> voidspace | 23:54 | |
| chronitis (~chronitis@79-68-112-81.dynamic.dsl.as9105.com) left irc: Ping timeout: 244 seconds | 23:55 | |
| chronitis (~chronitis@88-104-118-201.dynamic.dsl.as9105.com) joined #pypy. | 23:57 | |
| --- Tue Nov 29 2011 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!