#pypy IRC log for Wednesday, 2011-11-30

rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy.00:00
apollo13 (~apollo13@unaffiliated/apollo13) left irc: Ping timeout: 240 seconds00:01
apollo13 (~apollo13@unaffiliated/apollo13) joined #pypy.00:04
chronitis (~chronitis@88-104-115-147.dynamic.dsl.as9105.com) left irc: Quit: Lost terminal00:05
rokujyou_ (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy.00:05
rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Read error: Connection reset by peer00:05
etrepum (~bob@accessnat4.mochimedia.net) joined #pypy.00:18
whitelynx (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat00:18
bobbyz (~bobbyz@184.232.185.85) left irc: Ping timeout: 248 seconds00:44
craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) joined #pypy.00:46
bobbyz (~bobbyz@c-24-9-15-58.hsd1.co.comcast.net) joined #pypy.01:03
etrepum (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 248 seconds01:04
craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) left irc: Quit: craigkerstiens01:07
kenaan12arigo default 1112a0a0c0eb4a 15/pypy/translator/backendopt/constfold.py: Turn off reporting const-fold errors as WARNINGs.  This gives quite a bunch of warnings in any C translation, and I...01:23
kenaan12arigo default 1179bcc27b894a 15/pypy/jit/metainterp/gc.py: Allow at least the front-end to be tested with the "none" gc.01:23
kenaan12arigo default 1136e3174f324f 15/pypy/jit/codewriter/test/test_call.py: Add another test that switch() calls are supposed to have an effectinfo of EF_RANDOM_EFFECTS.  I thought it was tes...01:23
kenaan12arigo default 11b37ba47c5260 15/pypy/: Fix the test.01:23
kenaan12arigo default 11ac6210475691 15/pypy/tool/: merge heads01:23
kenaan12arigo default 1135781cc8c09d 15/pypy/jit/codewriter/test/test_longlong.py: Fix test.01:23
kenaan12arigo default 11e99702a71e7e 15/pypy/jit/codewriter/effectinfo.py: Oups.01:25
tilgovi (~randall@couchdb/developer/tilgovi) left irc: Remote host closed the connection01:36
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/187001:39
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/60501:39
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/28801:39
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/62701:39
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/113201:39
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/81201:39
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/73101:39
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/145401:39
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/27801:39
Guest__ (~textual@67.51.82.66) left irc: Ping timeout: 244 seconds01:45
voidspace (~anonymous@python/psf/voidspace) left irc: Quit: voidspace01:48
craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) joined #pypy.01:48
kenaan12arigo default 11c28d62b01ab1 15/pypy/jit/codewriter/effectinfo.py: Fix.01:55
kenaan12arigo default 115e4711c2e500 15/pypy/rlib/_stacklet_n_a.py: Add a warning message when using stacklet_destroy() with reference counting.01:55
kenaan12arigo default 1146119931a154 15/pypy/: Actually, it seems that the new code replaces any need for the old code.  Good, I can remove the comment in rffi.py...01:55
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/27801:57
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/28802:04
CIA-1303arigo 07roundup * 10#907/Stacklets running out of memory on higher optimisation levels: 02:07
CIA-13[resolved] Fixed:02:07
CIA-131) as per irc discussion, it is leaking with --opt=1 because it now (correctly)02:07
CIA-13uses reference counting instead of boehm if ... * 14https://bugs.pypy.org/issue90702:07
rokujyouhitoma (~rokujyouh@122x220x64x253.ap122.ftth.ucom.ne.jp) joined #pypy.02:19
rokujyou_ (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Ping timeout: 244 seconds02:22
kushal (~kdas@114.143.163.110) joined #pypy.02:24
kushal (~kdas@114.143.163.110) left irc: Changing host02:24
kushal (~kdas@fedora/kushal) joined #pypy.02:24
rokujyouhitoma (~rokujyouh@122x220x64x253.ap122.ftth.ucom.ne.jp) left irc: Remote host closed the connection02:27
rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy.02:28
ericflo (~ericflo@75.103.8.110) left irc: Quit: ericflo02:30
mitchellh (u4018@gateway/web/irccloud.com/x-ssbxjvlfhsoopzbw) joined #pypy.02:33
kushal (~kdas@fedora/kushal) left irc: Quit: This computer has gone to sleep02:35
kenaan12ctismer win64-stage1 116110a798a844 15/pypy/translator/c/test/test_newgc.py: this patch makes at least the setup part of test_newgc work. But there is much left, which is probably bette...02:38
kenaan12ctismer win64-stage1 117129b5efa170 15/pypy/rlib/rdynload.py: temp hack. something makes this cast necessary. Find the reason!02:38
bbot24Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/187002:38
kenaan12ctismer win64-stage1 1164d02c8953ea 15/pypy/tool/: Merge02:38
kenaan12ctismer win64-stage1 11422cff143e9b 15/pypy/: Merge with default02:38
bbot2Started: 15http://buildbot.pypy.org/builders/own-win-x86-64/builds/75 [12ctismer, win64-stage1]02:40
Kaskuka (~John@osbk-4db16e3d.pool.mediaWays.net) joined #pypy.02:43
Guest19008 (~John@osbk-4db06545.pool.mediaWays.net) left irc: Ping timeout: 244 seconds02:43
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/113202:44
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/81202:45
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/60502:45
kenaan12ned nedbat-sandbox 11ca8246ba93b7 15/pypy/translator/sandbox/sandlib.py: An implementation of do_ll_os__ll_os_fstat, no tests, not sure if it's right.02:45
kenaan12ned nedbat-sandbox 110cca0b181f5c 15/pypy/translator/sandbox/sandlib.py: Avoid a compile at startup by using our own marshalling of stat results, instead of calling into rmarshal to d...02:46
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/62702:46
setmeawayi havequestion, <class 'pypy.rpython.ootypesystem.rbuilder.UnicodeBuilderRepr'> has no ll_getlength but it is referenced in rpython/rbuilder.py(45), is this expected one?02:56
vertesetmeaway: should be fine02:57
setmeawaybut pypy doesn't satisfied with that. http://pastebin.com/aEPV2epz02:59
setmeawayit complained.02:59
durin42 (~durin@adium/durin42) left irc: Ping timeout: 255 seconds02:59
Alex_Gaynornedbat: where are teh tests :)03:01
durin42 (~durin@adium/durin42) joined #pypy.03:01
nedbatAlex_Gaynor: fijal said commiting on a branch was more relaxed :)  03:01
Action: Alex_Gaynor is always a test-nazi03:02
setmeawaycan't i use ootype when translate pypy? i guess it would be fine if i specify lltype03:02
nedbatAlex_Gaynor: i intend to write tests.  I still can't keep all the layers straight in my head.03:02
vertesetmeaway: ootype is for .NET or JVM backends03:03
vertesetmeaway: if you are using C backend, you want lltype03:03
setmeawayyes. i use jvm as backend. and as you can see in pastebin, it didn't work.03:04
ixokai (~ixokai@pdpc/supporter/student/ixokai) left irc: Quit: Bye!03:04
vertesetmeaway: -Ojit and -b jvm aren't compatible03:05
Dulakoh 1.7 isn't leaking anymore!  woot, I can turn off my bastardized harikari finally03:05
kushal (~kdas@114.143.163.110) joined #pypy.03:05
kushal (~kdas@114.143.163.110) left irc: Changing host03:05
kushal (~kdas@fedora/kushal) joined #pypy.03:05
setmeawayoh, i should have known that03:06
vertesetmeaway: I don't think also there's no point specifying a --gc on jvm either03:06
kushal (~kdas@fedora/kushal) left irc: Quit: This computer has gone to sleep03:17
Nick change: Gulaway -> Gulopine03:37
craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) left irc: Read error: Connection reset by peer03:39
craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) joined #pypy.03:40
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 258 seconds03:43
bbot24Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/73103:44
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/145403:50
kenaan12alex_gaynor default 119eec6149907c 15/pypy/module/micronumpy/interp_dtype.py: fix translation04:07
jey (~jey@c-24-7-65-31.hsd1.ca.comcast.net) left irc: Ping timeout: 260 seconds04:40
GarenI'm guessing this is a known issue:  MissingRTypeOperation: pow(int, int) (use float**float instead; it is too easy to overlook the overflow issues of int**int)  ?04:52
asmeurer__ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer__04:53
verte (~verte@python/site-packages/verte) left irc: Quit: ~~~ Crash in JIT!04:54
asmeurer__ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy.04:54
Garenah, so I use float**float, then it errors out and tells me to use math.pow :)05:00
kdas_ (kdas@nat/redhat/x-vysebgmmruicfsiy) joined #pypy.05:17
fijal (~fijal@197.175.140.105) joined #pypy.05:34
aleksi (~aleksi@85.235.191.82) joined #pypy.05:35
fijalhi05:39
bbot24Failure: 15http://buildbot.pypy.org/builders/own-win-x86-64/builds/75 [12ctismer, win64-stage1]05:41
asmeurer__ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer__05:43
verte (~verte@python/site-packages/verte) joined #pypy.05:49
mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) joined #pypy.05:50
mattiphi05:50
fijalmattip: hi05:50
fijalmattip: what's your full name btw? I want to mention you on the blog post05:51
mattipany hints on how to write a docstring for a interpreted function (like numpypy.dot)?05:51
fijalyou just write a docstring05:52
mattipfijal: Matti Picus05:52
fijalit'll automagically propagate05:52
fijalI suppose you don't mind being mentioned that you worked on multidim arrays05:52
mattipThe internet is a big scary place, but I'll get over it.05:53
asmeurer_ (~asmeurer@70.56.139.215) joined #pypy.05:53
fijal:)05:53
etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy.05:54
mattipOnce again I took on something simple looking and got stuck. It seems to be endemic.05:54
fijaletrepum: hi05:54
mattipTo implement multidimensinoal dot I need an iterator that runs along one dimension.05:55
fijalyeah, you need this for a bunch of other things as well05:55
mattipfijal: I guess I will add one?05:55
fijalso does sound like a good thing to have05:55
etrepumfijal: hey05:55
asenchi (~asenchi@206.173.142.114) joined #pypy.05:56
mattipOK05:56
fijaletrepum: I still have decoder left to optimize btw :)05:56
mattipfijal: BTW, I need a branch to play on, I could not reopen matrixmath.05:56
fijalmattip: no, just create a new one05:56
fijaluntil you have 5 open branches, don't worry :)05:57
etrepumfijal: it sounded like the work you did on the encoder was pretty great, I haven't had time to take a close look at it05:57
mattipso would it be possible not to close the next one I open, I'm running out of good names.05:57
fijaletrepum: it runs faster than the C extension, so I guess yeah :)05:57
fijalmattip: matrixmath-dot05:57
fijalmatrixmath-axes-iterator05:57
etrepumfijal: well, the C extension calls back to Python a lot for encoding05:57
fijaletrepum: not my fault :)05:58
fijalmattip: branches are one-shot05:58
fijalalways05:58
fijalor single-shot05:58
mattipOK, got it. Thanks. Bye now.05:58
mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) left irc: Quit: Page closed05:58
rokujyou_ (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy.06:06
rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Ping timeout: 252 seconds06:08
setmeaway (~setmeaway@119.201.52.190) left irc: Quit: Leaving06:09
rokujyou_ (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Remote host closed the connection06:14
fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy06:20
rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy.06:22
lahwrandear god what in the world06:24
fijallahwran: ?06:28
lahwranI'm attempting to detach pypy_interact.py from the rest of the pypy library so I can use it on it's own06:29
fijalit is the sandbox thingie right?06:29
lahwranI mean, besides the stuff that pypy-c needs under normal conditions06:29
lahwranyeah06:29
lahwranit imports all kinds of crap from pypy06:29
fijalnedbat was fighting the same thing06:29
lahwranyeah, he mentioned it to me earlier06:29
fijalyeah ok06:30
fijalso I know what has to be done :)06:30
lahwranI'm currently attempting to figure out if I can throw away s_StatResult or what06:30
lahwranimporting it takes nearly 5 seconds and fires up gcc (wat)06:30
fijalyes, you can06:30
fijalyou've seen ned's branch?06:30
lahwranlooks like it's just used to define how to marshal a result06:30
lahwranno, is it public?06:31
fijalyes06:31
Last message repeated 1 time(s).06:31
lahwranlink?06:31
fijalnedbat-sandbox I think06:31
fijalin the main repo06:31
fijalbut he did not write tests, so you might want to start there06:31
fijalyou can use anything else instead of s_StatResult06:31
fijalas long as you teach write_message how to marshal it06:31
fijalsame for longlong06:31
rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Remote host closed the connection06:33
Nick change: Gulopine -> Gulaway06:33
rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy.06:34
lahwranfijal: how do I retrieve this branch?06:35
lahwranand how do I see what changes he has made compared to the main branch?06:35
lahwranI'm used to git06:35
fijalyou do a normal checkout06:36
fijaland hg up branchnamr06:36
fijalnedbat-sandbox is a name06:36
fijalbut again, he did not write any tests, so I'm not sure if you're better off or not06:36
lahwranmeh, tests are not required if the code is clean enough06:37
lahwranfor understanding anyway06:37
fijalthis is not what we believe in this channel :)06:38
fijalI can't say if the code he wrote is correct or not without tests at least06:38
lahwranI'm not saying tests are bad, just that it's perfectly realistic to read code that has no tests06:38
fijalnot really in pypy06:38
fijalat least it does not happen often06:39
jnoah1984 (~Justin@c-98-246-235-45.hsd1.or.comcast.net) joined #pypy.06:46
unbit_ (~unbit@93-58-162-185.ip159.fastwebnet.it) joined #pypy.06:52
setmeaway (setmeaway3@119.201.52.190) joined #pypy.06:52
fijalAlex_Gaynor: you're aware tomorrow is the deadline for talk announcement for pycon?06:52
fijalit should be said if it's postponed06:52
unbit (~unbit@93-58-162-185.ip159.fastwebnet.it) left irc: Ping timeout: 252 seconds06:53
Nick change: unbit_ -> unbit06:53
jnoah1984 (~Justin@c-98-246-235-45.hsd1.or.comcast.net) left irc: Quit: Leaving.06:58
ericflo (~ericflo@c-50-131-58-97.hsd1.ca.comcast.net) joined #pypy.06:59
maxyz (~maxy@186.23.74.228) left irc: Ping timeout: 240 seconds07:03
apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection07:16
raydeo (~raydeo@merickel.org) left irc: Quit: Coyote finally caught me07:16
raydeo (~raydeo@merickel.org) joined #pypy.07:17
rokujyou_ (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy.07:22
rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Ping timeout: 244 seconds07:26
norox (~norox@2a00:801::2d0:b7ff:fea0:c753) left irc: Ping timeout: 240 seconds07:26
norox (~norox@2a00:801::2d0:b7ff:fea0:c753) joined #pypy.07:27
rokujyou_ (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Remote host closed the connection07:28
rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy.07:38
setmeaway (setmeaway3@119.201.52.190) left irc: Read error: Connection reset by peer07:41
setmeaway (stemearay@119.201.52.190) joined #pypy.07:42
setmeawayhow can i order pypy translator preserving intermediate files? i have trouble because of it takes an hour to reach this error message NotImplementedError: cannot find the library 'gc'07:44
setmeawayintermediate files=result of rtyper,annotation07:45
vertecould you please pastebin the traceback07:51
verte?07:51
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy.07:51
setmeawayverte http://pastebin.com/yvMDtpzM here it is07:51
fijalsetmeaway: what's your command line07:52
fijal?07:52
fijalthere are no intermediate files so far07:52
fijalyou are aware that cygwin is mostly unsupported right?07:53
fijalif you want to fix it, I would advise you to start with tests07:53
fijaland not the translation07:53
lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy.07:53
setmeaway(cd /tmp/pypy/pypy/translator/goal;/cygdrive/c/Python27/python.exe ./translate.py --cc i686-pc-mingw32-gcc -b c -Ojit --insist --shared --thread --gc boehm --make-jobs 4)07:53
setmeawayshould i have to endure long runs of annotation, specialization, rtype process?07:54
fijalyou should not use --insist07:54
fijaland you should not use boehm07:54
fijalno, make tests run07:54
fijalwhat's -b c?07:54
setmeawayis --backend c07:54
fijalthat's default07:55
fijalyou should just say -Ojit --make-jobs=407:55
maxyz (~maxy@186.23.74.228) joined #pypy.07:55
fijalbut as I said, making the tests run on an unsupported platform is a good first step07:55
setmeawaywhat do you mean i make the tests?07:56
setmeawayis this possible to do that without long waiting?07:56
fijalyou make them pass07:56
fijalyes07:56
setmeawayfijal oh that would be great.07:56
fijaltests are irrelevant to the actual translation07:56
fijalread about py.test07:57
fijalanyway07:57
fijalI don't understand why you passed such options, can you explain?07:57
fijalwhy not -Ojit simply?07:57
fijalor -Ojit --make-jobs=407:57
fijal?07:57
fijalmake sure translator/c/test/ passes first07:57
setmeawayi just read the document, and put the options as they described itself.07:58
fijalwhy did you choose boehm?07:58
setmeawayi built boehm for mingw32. that's all07:58
bivab (~david@fwstups.cs.uni-duesseldorf.de) joined #pypy.07:58
fijalyeah, but why not one of our GCs?07:58
fijalthat actually work and is supported and on by default?07:58
fijalanyway, make sure tests pass07:59
setmeawayyeah i wanted to try out, never mind.07:59
fijalboehm is known to be slow for example07:59
fijaland also is known to have slight bugs07:59
setmeawayfijal thanks for telling me py.test i'll try it out.08:00
apanda (~apanda@c-24-7-101-62.hsd1.ca.comcast.net) joined #pypy.08:00
fijalsetmeaway: this is how we develop, we first make tests pass08:00
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection08:03
rokujyou_ (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy.08:04
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy.08:05
rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Ping timeout: 260 seconds08:06
lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 248 seconds08:10
maxyz (~maxy@186.23.74.228) left irc: Ping timeout: 244 seconds08:19
amaury (~amaury_@74.125.57.34) joined #pypy.08:25
antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy.08:26
maxyz (~maxy@186.23.74.228) joined #pypy.08:33
djcupdated pypy in gentoo to 1.7 :)08:37
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1871 [12arigo]08:48
lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) joined #pypy.08:48
fijaldjc: cool08:49
bbot2Started: 15http://buildbot.pypy.org/builders/own-win-x86-64/builds/76 [12ctismer, win64-stage1]08:50
fijalrichards is what, 50x faster on pypy than on cpython???08:50
`fox` (~fox@2.44.237.113) joined #pypy.08:51
vertebut you know, whos counting?08:51
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1133 [12arigo]08:51
bbot24Failure: 15http://buildbot.pypy.org/builders/own-win-x86-64/builds/76 [12ctismer, win64-stage1]08:51
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/732 [12ctismer, win64-stage1]08:53
asmeurer_ (~asmeurer@70.56.139.215) left irc: Quit: asmeurer_08:53
fijal36x on 1000 iterations08:54
fijalnice08:54
lucianvery08:55
Action: lucian claps08:55
fijalalso boring :)08:55
luciannot so much. there was an article on HN about some folks that benchmarked tornado on PyPy with ab08:55
lucianand it was something like twice faster08:55
lucianit's really awesome that there even is such a compatible alternative08:56
lucianthis thing http://news.ycombinator.com/item?id=329258308:59
Trundle (~andy@p578bfdcf.dip0.t-ipconnect.de) joined #pypy.09:06
Trundle (~andy@p578bfdcf.dip0.t-ipconnect.de) left irc: Changing host09:06
Trundle (~andy@python/site-packages/trundle) joined #pypy.09:06
fijalnice09:10
lucianit does seem that pypy uses more memory, though09:11
`fox` (~fox@2.44.237.113) left irc: Ping timeout: 244 seconds09:12
G2P (~G2P@fw-asn1.ornis.com) joined #pypy.09:13
Action: fijal got a pypy segfault09:15
fijaland a pypy memory leak09:15
rokujyou_ (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Remote host closed the connection09:24
rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) joined #pypy.09:25
ojii (~ojii@40-34.60-188.cust.bluewin.ch) joined #pypy.09:28
bbot24Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/72909:29
jimbaker (~jbaker@canonical/jimbaker) left irc: Ping timeout: 255 seconds09:36
ericflo_ (~ericflo@c-50-131-58-97.hsd1.ca.comcast.net) joined #pypy.09:37
ericflo (~ericflo@c-50-131-58-97.hsd1.ca.comcast.net) left irc: Read error: Connection reset by peer09:37
Nick change: ericflo_ -> ericflo09:37
ericflo (~ericflo@c-50-131-58-97.hsd1.ca.comcast.net) left irc: Client Quit09:37
antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds09:39
hruske (~Gasper@188-230-156-183.dynamic.t-2.net) joined #pypy.09:43
jimbaker (~jbaker@c-75-71-80-146.hsd1.co.comcast.net) joined #pypy.09:47
jimbaker (~jbaker@c-75-71-80-146.hsd1.co.comcast.net) left irc: Changing host09:47
jimbaker (~jbaker@canonical/jimbaker) joined #pypy.09:47
bbot23Success: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1871 [12arigo]09:47
ltratt (~ltratt@87.114.197.234) joined #pypy.09:51
kenaan12fijal default 110f42372d5c50 15/pypy/module/micronumpy/: copy for slices09:52
fijalnice :/09:52
voidspace (~voidspace@python/psf/voidspace) joined #pypy.09:57
witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy.10:03
witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy.10:06
kenaan12fijal default 11bef722513f6c 15/pypy/module/micronumpy/interp_numarray.py: oops, fix translation10:09
arigato (~arigo@fwstups.cs.uni-duesseldorf.de) joined #pypy.10:20
arigatoheh, yesterday night was the first time I've seen {mac32} finish the own tests without aborting10:22
CIA-1303masklinn 07roundup * 10#946/timeit-as-CLI does not accept import: 10:26
CIA-13[new] > python2.7 --version10:26
CIA-13Python 2.7.210:26
CIA-13> python2.7 -mtimeit -s 'import random' 'random.random()'10:26
CIA-1310000000 loops, best of 3: 0.116 usec per ... * 14https://bugs.pypy.org/issue94610:26
rokujyouhitoma (~rokujyouh@122x220x64x254.ap122.ftth.ucom.ne.jp) left irc: Remote host closed the connection10:28
CIA-1303arigo 07roundup * 10#946/timeit-as-CLI does not accept import: 10:29
CIA-13[chatting] Works for me. Can you explain more? A priori it looks like the quoting did not10:29
CIA-13work, and the last line is interpreted as:10:29
CIA-13pyp ... * 14https://bugs.pypy.org/issue94610:29
lizardo (~lizardo@189.2.128.130) joined #pypy.10:35
mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) joined #pypy.10:35
mattiphi10:36
mattipfijal: Got a minute for a newbie question?10:36
fijalmattip: sure10:36
fijalarigato: :)10:36
fijalarigato: I have some-sort-of-memory-problem10:37
mattipHow can I write a test to test_translate a function within a class? For instance, like to test the copy_for_slice before actually translating10:37
fijalwith pypy10:37
fijalbut I'm trying to pinpoint what's going on10:37
fijalit seems to behave nicely10:37
fijalbut some sequence of invocation causes memory to explode10:38
fijalmattip: which test_translate?10:38
mattipLet me try to rephrase the quesiton.10:39
mattipI add a function to a class. It passes all kinds of tests. Then it crashes in traslation. Can I test for the translation failure10:39
mattipwithout actually translating the whole thing?10:40
fijalnot really10:40
fijalit's a bit hard10:41
fijaltest_zjit kinda do that10:41
fijalso if you add this functionality to test_compile, you can that way10:41
mattipBut then I have to understand the syntax of test_compile ;)10:41
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/1133 [12arigo]10:42
mattipIs there a dummy's guide to test_zjit?10:42
fijalnope10:43
mattipOK. I was thinking it would not be a bad thing to try and summarize my learning experience in a blog post somewhere, I guess now I have material for another post too.10:44
fijalcool10:44
mattipAny luck with the two-loop problem?10:45
fijaltwo-loop problem?10:45
mattipUhh, whatever was preventing the comparison of pypy to python, numpy, weave, ...10:46
fijalah10:46
fijalyes, well looking into it10:46
mattipI did have some friends look at the math of the original benchmark. The general conclusion was that since it is a type of diffusion problem,10:47
fijalhttp://paste.pocoo.org/show/514833/10:48
mattipthat not using temproray results would only cause the diffusion to happen at a different rate.10:48
fijalcan someone spot a difference?10:48
fijalmattip: yes, ok10:49
kenaan12arigo default 11925245546811 15/pypy/translator/simplify.py: Chanced upon a "x not in biglist" done in a loop: replace it with "x not in set".10:49
fijalmattip: but even if it's numerically correct, then it's definitely not correct in terms of performance comparison10:49
CIA-1303masklinn 07roundup * 10#946/timeit-as-CLI does not accept import: 10:50
CIA-13[invalid] > Are you sure pypy-c isn't a script that you wrote10:50
CIA-13It's the one provided by macports, but it does indeed seem to be a very small10:50
CIA-13w ... * 14https://bugs.pypy.org/issue94610:50
mattipfijal: But they never claimed it converged at the same rate, only that the loop went faster.10:50
fijalyes right10:51
fijalbut at least for the C++ version there is a serious difference in performance between algos10:51
CIA-1303arigo 07roundup * 10#946/timeit-as-CLI does not accept import: 10:51
CIA-13Macports is buggy, please report it as a bug there. It should be10:51
CIA-13/opt/local/lib/pypy/pypy-c "$@"10:51
CIA-13or just use a symlink instead of a script. * 14https://bugs.pypy.org/issue94610:51
CIA-1303ltratt 07roundup * 10#907/Stacklets running out of memory on higher optimisation levels: 10:52
CIA-13[chatting] Agreed, everything now works - thanks! [Weirdly, the -OJIT version of my evil10:52
CIA-13test case takes about 6 times as long to run as the -O3 ... * 14https://bugs.pypy.org/issue90710:52
CIA-1303ltratt 07roundup * 10#907/Stacklets running out of memory on higher optimisation levels: [resolved] Mark as resolved. * 14https://bugs.pypy.org/issue90710:52
fijalmattip: hm10:54
mattipfijal: as per pocoo.org/show/514833, it would seem to me that tmp0 is not what you intended.10:54
mattipahhn noooo, I'm wrong again.10:55
fijalit should be u[i, j - 1]10:55
fijalfrom previous timestep10:55
fijalit should work no?10:56
fijalit's funny10:56
fijalit not only differs, but also differs cpython/pypy drastically10:56
mattipyes, sorry, gotta go :(. Later.10:57
mattip (c1a9466d@gateway/web/freenode/ip.193.169.70.109) left irc: Quit: Page closed10:57
CIA-1303arigo 07roundup * 10#945/import shadowing module from __init__.py as __main__ fails: 10:57
CIA-13Ah, maybe I found a way around these issues of modules being built-in in pypy,10:57
CIA-13shadowing user-defined modules. How about we rename all seldom-us ... * 14https://bugs.pypy.org/issue94510:57
jey (~jey@c-24-7-65-31.hsd1.ca.comcast.net) joined #pypy.11:00
fijalok, got it11:01
CIA-1303masklinn 07roundup * 10#946/timeit-as-CLI does not accept import: 11:02
CIA-13> Macports is buggy, please report it as a bug there.11:02
CIA-13Yep, that's what I'm in the process of doing right now :) * 14https://bugs.pypy.org/issue94611:02
CIA-1303afa 07roundup * 10#945/import shadowing module from __init__.py as __main__ fails: 11:05
CIA-13For a definition of a "normal" list of builtin modules, we could use the CPython11:05
CIA-13files Modules/Setup* * 14https://bugs.pypy.org/issue94511:05
fijalarigato: I found a JIT bug I believe11:05
fijalinterested?11:06
fijalworks with --jit off11:06
stakkars_ (~tismer@p5DDB7E68.dip.t-dialin.net) left irc: Quit: schnarch11:07
arigatofijal: yes?11:09
fijalarigato: so can you checkout fijal/hack211:09
fijalhttps://bitbucket.org/fijal/hack211:10
fijalthis one11:10
fijalthere is bench/laplace/laplace.py11:10
fijalif you run it as it is right now, it should print different things depending on --jit off or not11:10
fijalI have a reasonably recent pypy-c in /tmp/usession-default-2036711:11
fijalon tannit11:11
__pvbtw, if you are wondering about numpy's semantics for a[...] = b when a and b share memory: it's actually undefined, but there was a consensus that it should always be equivalent to a[...] = b.copy()11:11
fijalor /home/fijal/pypy/compiled/c-bef722513f6c-default11:11
fijal__pv: not that it works that way11:12
__pvthat it's not, is to some degree a bug in numpy (so if you can avoid that in pypy, that would be good)11:12
fijalah ok11:12
fijalyes, we can avoid that11:12
JaredWigmore (~JaredW@118.142.17.238) joined #pypy.11:14
jey (~jey@c-24-7-65-31.hsd1.ca.comcast.net) left irc: Ping timeout: 244 seconds11:14
fijalarigato: can you reproduce?11:17
__pvthe thing to watch out are the temporaries, as I've heard some people saying that they rely on this type of operations not making copies of whole arrays because of memory limits11:17
arigatofijal: sorry, lunchtime11:18
fijalarigato: cool :)11:18
fijal__pv: we're avoiding a lot of temporaries already11:18
fijalbut we also have to do something (maybe) with freeing stuff in time11:18
fijalarigato: uh, I also fail to understand the code11:20
fijalthere is a floatobject allocated before jump11:21
fijalbut it's not like it's ever passed anywhere11:21
bbot24Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/732 [12ctismer, win64-stage1]11:22
djcbtw, would you guys be interested in taking some of these? http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-python/pypy/files/1.7-patches.patch?revision=1.1&view=markup11:24
djcthose are the patches we currently carry for gentoo11:24
jey (~jey@c-24-7-65-31.hsd1.ca.comcast.net) joined #pypy.11:25
djcmaybe they aren't elegant, but we can find something to fix the behavior or allow passing in options instead of patching things up11:25
kdas_ (kdas@nat/redhat/x-vysebgmmruicfsiy) left irc: Quit: Leaving11:33
chronitis (~chronitis@88-104-119-165.dynamic.dsl.as9105.com) joined #pypy.11:39
fijaldjc: what are translate.py changes doing?11:49
kenaan12arigo default 117db85588c567 15/pypy/translator/: Kill dependency on "isstartblock".12:04
kenaan12arigo default 1170c53e1231ad 15/pypy/: Get rid of 'isstartblock'.12:04
mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy.12:05
arigatofijal: ok, can you point me again to a recent pypy-c?12:06
arigatopreferrably an already-built one12:06
mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Remote host closed the connection12:06
fijal/home/fijal/pypy/compiled/c-bef722513f6c-default12:08
fijalon tannit12:08
fijalarigato: hm12:08
fijalhow did it copy-paste stuff starting with / here?12:08
fijaldid you get the link?12:09
fijalor the directory12:09
arigatothis is the C sources only12:10
fijalpypy-c-bef....12:12
fijalin the parent dir is the compiled one12:12
cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) joined #pypy.12:13
arigatothank you12:13
fijalarigato: sorry for miscommunication, it all "obviously" comes from done.py12:13
fijalcfbolz: hi carl12:13
cfbolz'ello12:13
fijalarigato: it looks worrying that there is a forced virtual that does not go anywhere12:14
fijal(besides the fact that wrong results are more worrying)12:14
arigatowell you need to dig...12:16
arigatothere are far too many unknowns for me to start digging right now, like numpy12:17
fijalyes, for both things12:17
fijalwell12:17
fijal--jit off works12:17
fijalalso the only numpy loop is .copy()12:17
fijalit's relatively easy to get rid of it12:17
arigatoplease do12:17
fijalok12:17
Action: fijal does12:17
arigatoif you can reduce the test case, it would be a huge help12:18
antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy.12:19
fijalhm12:19
fijalI'll try12:20
fijal (~fijal@197.175.140.105) left irc: Read error: Connection reset by peer12:24
mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy.12:26
fijal (~fijal@197.173.120.165) joined #pypy.12:26
fijalarigato: ok, so it is numpy12:26
jey (~jey@c-24-7-65-31.hsd1.ca.comcast.net) left irc: Remote host closed the connection12:27
nedbat (~nedbat@python/psf/nedbat) joined #pypy.12:27
fijalassembler looks fine though12:31
fijalnedbat: hi12:31
nedbathi.  just saw your tweet12:32
fijalyes, tests are good :)12:32
nedbatI agree.  I was also told something different by someone here: http://paste.pound-python.org/show/15202/12:33
fijaltests are still good :)12:34
fijalyou don't have to write them but we strongly encourage12:34
nedbatfijal: and I have every intention of writing them.  I'm still trying to figure out how this works, and saving my work on bitbucket and using it to share with my hosting are helping me.12:35
mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) left irc: Remote host closed the connection12:35
fijalcool12:35
fijalwell, it's just not what we usually do12:35
nedbatfijal: did you look at the marshal change?  I didn't make it in the marshal module itself, what are your thoughts on that.12:36
fijalI think it's a good place12:36
fijalno, no, the marshal module has to stay the way it is12:36
mcdonc (~mcdonc@ip72-209-213-54.dc.dc.cox.net) joined #pypy.12:36
nedbatok, i wasn't sure whether it was better to put marshally stuff in sandlib or s_StatResult stuff in marshal.  Neither seemed perfect.12:36
fijalyou should remove dependency on s_StatResult12:37
fijaland use some other object for that12:37
fijalit's just there to signal the type12:37
fijalcan be like stat_result_type = object()12:37
nedbatoh, i see, because sender and receiver are in the same file.12:38
nedbatbtw: another way to fix this would be to have the sandbox's marshal be a little more forgiving, then we could use marshal.dump(tuple(msg))12:38
fijaluh no?12:38
fijalwhere is receiver?12:39
fijalit doesn't matter because you only use it to signal on the function/method12:39
nedbatfijal: yes, and the resulttype attribute is also assigned in this file.  Sorry, not sender/receiver.12:40
fijalok :)12:41
nedbatfijal: btw, this change reduced my server's response time by 43%, from 1.98s to 1.13s. :)12:44
fijalare you invoking sandbox per-request?12:44
fijalto clean up the state?12:44
nedbatfijal: per-request, and on very small python scripts, so the startup time is most of the time.12:45
mjacob (~foobar@p57A8A282.dip.t-dialin.net) joined #pypy.12:45
nedbatI'm thinking about ways to keep the process long-running, but would have to firewall each invocation then.12:45
fijalprobably you would want to do a fork() or something12:45
fijalbut yeah, it does sound like a bit more work12:45
nedbatthese are good changes to make anyway, and it's getting close to a reasonable response time.12:46
nedbatfijal: my next issue will be RAM footprint likely.12:46
fijalright12:46
fijalnedbat: you should get rid of all the imports12:47
fijalall the pypy imports12:47
fijalalso probably the hosting process can stay online12:47
fijalPyPy has unfortunately pretty large basic RAM footprint :/12:47
fijalnot much I can do about it12:47
fijalI mean there are ways, but no *easy* way12:47
nedbatyeah, i was afraid of that.12:47
exarkunHow about shared mmap'd pyc access and jit pages12:48
exarkunHow hard could it be12:48
exarkun:)12:48
ltratt (~ltratt@87.114.197.234) left irc: Quit: using sirc version 2.211+KSIRC/1.3.1212:49
fijalnedbat: we can think about ways12:49
fijalsharing the basic interpreter would be a good first step12:49
nedbatexarkun: I welcome your help! :)12:49
exarkunnedbat: Every time I think I might have some time to hack on PyPy, I'm wrong :(12:50
fijalnedbat: anyway, get rid of nonsense first12:50
fijaland maybe share the hosting process12:50
fijalso you don't have to invoke pypy *and* cpython each time12:50
nedbatfijal: the hosting process is my wsgi process.12:51
fijalok?12:51
fijalwell, why do you have to import sandlib for each invocation?12:52
nedbatmaybe I'm misunderstanding something.  12:53
fijalyes?12:53
fijalso explain what you understand :)12:53
fijalmaybe I'm misunderstanding something12:53
nedbatok, sec12:54
nedbatfijal: I'm not sure why it would be imported more than once.  12:56
nedbatsandlib isn't used in the sandbox proc?12:57
fijalI don't believe it is12:57
nedbatmm, nope, it isn't.12:57
fijalno, it's the external process12:58
nedbatlike I said, there's much here that still confuses me.12:59
nedbatperhaps my wsgi processes aren't behaving as I thought.  This is shared hosting.13:01
aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy.13:01
fijalit's all well and good, but you would gain a bit if it was not the case13:02
nedbatfijal: yes, I'll look into that.13:02
fijalarigato: http://dpaste.com/663813/13:03
fijala minimal example13:03
nedbatare there any available switches that would reduce ram usage, at the expense of speed?13:03
fijalyes, various GC options13:04
fijalbut I believe your hosting process which imports half of pypy might be the bottleneck now13:04
fijalget rid of nonsense first13:04
nedbatgood advice13:05
cfbolznedbat: thanks for fighting this stuff13:08
fijalnedbat: yes, indeed, we're glad that someone cares about it :)13:08
nedbatif I write tests, will you tell me what the low-mem GC options are?  :)13:09
fijalhehehe13:09
fijalI can tell you either way13:09
fijalthey're at the beginning of pypy/rpython/memory/gc/minimark.py I believe13:09
Action: fijal checks13:09
fijalyes13:10
fijalbut you have to figure out what's consuming your memory13:10
fijalthey'll only affect heap of the program13:10
ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) joined #pypy.13:10
fijalso not for example the base interpreter size13:10
nedbatI see, thanks.13:10
nedbatHow can I see in a running pypy what GC is in use?13:11
fijalit's minimark13:11
fijalbut you can say by sys.translation_info?13:12
fijalsys.pypy_translation_info['translation.gc']13:12
fijalnedbat: to be precise13:12
stakkars_ (~stakkars@g225039037.adsl.alicedsl.de) joined #pypy.13:12
nedbatI have 'generation'.13:13
nedbatI think --sandbox forces it to that.13:13
nedbator defaults it at least.13:13
fijalok13:13
fijalyeah, maybe13:13
nedbatbut that's to get the --heapsize control, which doesn't seem to work for me, another issue to track down.13:13
fijalwhy it does not work?13:14
djcfijal: re those patches, the translate.py changes are evidently disabling the debugger13:15
fijal (~fijal@197.173.120.165) left irc: Read error: Connection reset by peer13:15
djcnot sure why we needed that13:15
jnoller (~jnoller@vpn.nasuni.com) joined #pypy.13:15
djcdid the other patches look ok?13:15
fijal (~fijal@197.106.194.131) joined #pypy.13:17
fijalnedbat: sorry got disconnected13:17
nedbatfijal: I don't know why it doesn't work, I know that in my sandbox prompt, I can make lists with millions of elements that should be prevented by --heapsize. Unless that's another thing I don't understand yet.13:17
fijaldid you make a list using range by chance?13:18
nedbat:) 13:18
nedbatwhat should I use?13:19
nedbati'm down the rabbithole again...13:19
nedbatrange(10) gives me a list.13:19
nedbatare they not fully realized?13:19
exarkunThat rings a bell.13:20
fijalyeah ;-)13:20
fijalrange() is lazy13:20
exarkunWhat if you insert a random value in the middle?13:20
fijal[0] * large_number13:20
stakkars__ (~tismer@g225039037.adsl.alicedsl.de) joined #pypy.13:20
fijalfor example13:20
fijalexarkun: it forces it13:20
fijalexarkun: even append forces it13:20
exarkunOr remove?13:20
fijalyeah, all this stuff13:20
fijalI think reverse and sort don't13:21
exarkunPyPy is too surprising.  Removing a value from a list shouldn't fail with a memory error.  You should make PyPy simpler.13:21
exarkunLike CPython.13:21
fijalyeah, maybe13:21
nedbatexarkun: I can't tell if you are being sarcastic or not.13:21
mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) joined #pypy.13:21
exarkunnedbat: That's my super power.13:22
fijalnedbat: that is often a problem with exarkun13:22
nedbatok, nevermind, --heapsize works fine.  It's range() that's broken! :)13:22
cfbolznedbat: well "broken" :-)13:25
nedbat(I had a smiley, something exarkun could learn...)13:25
cfbolzI'm sure he could use smileys that still clarify nothing13:25
verte (~verte@python/site-packages/verte) left irc: Quit: ~~~ Crash in JIT!13:40
hazmat (~hazmat@plone/hazmat) joined #pypy.13:50
kenaan12l.diekmann default 11748818c5a463 15/pypy/objspace/std/: added floatstrategy for lists13:54
fijalRhyolite: ping13:54
kenaan12l.diekmann default 116d12edf0639c 15/pypy/: merge13:54
fijalcfbolz: cool stuff!13:54
fijalcfbolz: can we think about unicode strategy?13:54
Rhyolitefijal: pong13:54
fijalRhyolite: can I borrow your mind for a second about gcc performance?13:54
Rhyoliteokay13:54
ericvrp_ (~ericvrp_@53550572.cm-6-6a.dynamic.ziggo.nl) joined #pypy.13:55
Action: fijal waits for push to finish13:56
fijalgo here13:56
fijalhttps://bitbucket.org/fijal/hack2/src/default/bench/laplace13:56
fijalthere is a laplace.cxx and inline_laplace.cxx13:56
fijalthey contain quite a bit of cruft13:56
fijalhttps://bitbucket.org/fijal/hack2/src/default/bench/laplace/laplace.cxx#cl-12613:56
fijalthis is the interesting part though13:56
fijalso algorithms are different but not by much13:57
fijalone converges in 278 steps and takes 5.8s13:57
fijalthe onther in 219 steps and takes 1.4s13:57
fijalnow, it does not seem vectorization is different 13:57
fijal(I run it with -fno-tree-vectorize)13:57
fijaland in pypy they both take the same time (proportionally to the number of steps)13:58
kenaan12cfbolz default 115a5d0bfd04c9 15/pypy/rlib/jit.py: don't use specialize.ll for these calls, but call_location instead. otherwise you cannot use is_constant on high-l...13:58
fijalwhat sort of optimization changes it?13:58
Rhyolitewhich two are you comparing?13:59
fijalinline_laplace.cxx and laplace.cxx13:59
cfbolzfijal: yes, a unicode strategy is trivial to add14:00
cfbolzfijal: we should check how much one strategy adds to the size of the executable14:00
Rhyolitefijal: so the difference is scalar vs array for tmp?14:01
fijalRhyolite: the difference is modifying array in place vs from a copy14:01
fijalso there are definite differences14:02
fijalbut I kind of fail to observe what sort of optimization changes everything14:03
Rhyoliteyes, but if you change it in place, you are using the new values in the computation14:03
fijalye syes14:04
Rhyoliteyou're mixing steps14:04
fijalsure14:04
Rhyolitethat will affect convergence14:04
fijalit is a different algorithm, I said it before14:04
Rhyoliteokay14:04
fijalyes, hence a different number of steps14:04
fijalso on pypy the change of algo affects convergence, but it does not affect performance14:04
fijalwhere is the trick?14:05
Rhyolitesorry have to run14:05
fijalok14:05
gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) joined #pypy.14:08
kenaan12cfbolz int-tag-untag-as-operations 112c073a10379f 15/pypy/: merge default14:08
Nick change: Gulaway -> Gulopine14:11
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1872 [12Carl Friedrich Bolz, int-tag-untag-as-operations]14:17
stakkars__ (~tismer@g225039037.adsl.alicedsl.de) left irc: Quit: schnarch14:17
fprimex (~fprimex@brent-macbook.sc.fsu.edu) joined #pypy.14:17
whitelynx (~whitelynx@63.241.75.144) joined #pypy.14:18
Rhyolitefjial: back14:22
Rhyolitedid you look at the code produced by GCC?14:22
whitelynx (~whitelynx@63.241.75.144) left irc: Client Quit14:22
kenaan12l.diekmann default 11b326a8bec1a2 15/pypy/objspace/std/test/test_listobject.py: added some tests for listobject with floats14:23
whitelynx (~whitelynx@63.241.75.144) joined #pypy.14:24
stakkars__ (~stakkars@g225039037.adsl.alicedsl.de) joined #pypy.14:25
stakkars_ (~stakkars@g225039037.adsl.alicedsl.de) left irc: Read error: Connection reset by peer14:25
stakkars_ (~stakkars@82.113.106.113) joined #pypy.14:27
stakkars_ (~stakkars@82.113.106.113) left irc: Client Quit14:27
stakkars__ (~stakkars@g225039037.adsl.alicedsl.de) left irc: Ping timeout: 248 seconds14:30
amaury (~amaury_@74.125.57.34) left irc: Read error: Operation timed out14:31
Kaskuka (~John@osbk-4db16e3d.pool.mediaWays.net) left irc: Read error: Connection reset by peer14:34
Kaskuka (~John@osbk-4db16e3d.pool.mediaWays.net) joined #pypy.14:40
_aleksi (~aleksi@85.235.191.82) joined #pypy.14:41
Nick change: Gulopine -> Gulaway14:42
aleksi (~aleksi@85.235.191.82) left irc: Ping timeout: 248 seconds14:44
santagada (~leonardo@189.27.166.253.dynamic.adsl.gvt.net.br) joined #pypy.15:02
fijal (~fijal@197.106.194.131) left irc: Read error: Connection reset by peer15:04
fijal_ (~fijal@197.172.80.101) joined #pypy.15:04
Nick change: fijal_ -> fijal15:05
fijalRhyolite: you made a typo in my nick, I haven't seen it :)15:05
fijalRhyolite: I failed mostly15:05
fijalRhyolite: I tried, but c++ eludes me15:05
RhyoliteI'll try to look later15:06
RhyoliteI can imagine that the scalar temporary vs array provides different optimization opportunities15:06
fijalit's not about scalar temporary15:06
fijalit's about unrolling maybe?15:06
Rhyolitewhat options are you using?15:12
fijal-O315:12
Rhyolite-O3?  -funroll-loops?15:12
bbot24Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/1872 [12Carl Friedrich Bolz, int-tag-untag-as-operations]15:16
fijalno -f15:16
craigkerstiens (~craigkers@c-76-126-162-38.hsd1.ca.comcast.net) left irc: Quit: craigkerstiens15:18
__pvhow big is the difference? on a slow eee minilaptop, I see 0.035 iter/s (laplace) and 0.032 iter/s (inline_laplace) with -O3, -O0, and -O3 -march=native15:19
RhyoliteI assume he's testing on nehalem or sandy bridge15:20
Rhyolitenot atom15:20
fijalRhyolite: no, an older one15:20
fijali715:21
fijalL 62015:21
__pvon a less silly AMD 64, I get 0.0142 iter/s (laplace) and 0.023 iter/s (inline_laplace)15:21
Alex_Gaynori7 is naehelm or sandy bridge IIRC15:21
dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) left irc: Quit: Leaving15:22
mat^2 (~mathias@212.130.113.35) joined #pypy.15:23
Alex_Gaynorfijal: I've been thinking more about the forcing issue.  Basically we need refcounting :/15:23
fijalAlex_Gaynor: yes :/15:23
fijalAlex_Gaynor: also other stuff15:23
Alex_Gaynor(aka, requires more thought)15:23
fijalAlex_Gaynor: I have a JIT issue15:23
fijalfeel like investigating?15:24
Alex_GaynorI don't have a ton of time, but I guess sure15:24
fijalhttp://paste.pocoo.org/show/514951/15:24
Alex_Gaynorfijal: what's the issue?15:24
fijal (~fijal@197.172.80.101) left irc: Read error: Connection reset by peer15:25
Rhyolitefijal: I don't believe that loop unrolling is enabled by default at any optimization level15:25
fijal (~fijal@197.104.221.224) joined #pypy.15:26
fijalit generates nonsense15:27
Rhyolitefijal: I don't believe that loop unrolling is enabled by default at any optimization level15:27
Rhyolitefijal: basically, that big a difference means one probably is generating extra memory traffic15:28
Alex_Gaynorfijal: could it be the same issue as http://paste.pocoo.org/show/469313/15:28
Alex_Gaynor(https://bugs.pypy.org/issue859)15:28
kenaan12alex_gaynor numpy-dtype-refactor 112e67585de373 15/pypy/: merged default in15:30
kenaan12alex_gaynor numpy-dtype-refactor 1126a0320190db 15/pypy/: merged default in15:30
fijalcould be?15:30
__pvif it's a memory issue, valgrind's cachegrind might help verifying it15:30
fijalno, probably could not be15:30
fijal__pv: no, it cannot15:30
Alex_Gaynorfijal: well, this one crashes precisely one iteration after the JIT kicks in15:31
fijalAlex_Gaynor: well, this one is not about zeroing15:31
fijalit's about copying not working or so15:31
stakkars_ (~tismer@82.113.106.113) joined #pypy.15:32
__pvfijal: the performance issue, cache miss counts could be different15:32
stakkars_fijal: hi!15:32
fijal__pv: right15:32
fijalstakkars_: hi15:32
fijalAlex_Gaynor: so yeah, I spent the entire day chasing dudes like this, didn't have time to review anything15:33
stakkars_fijal: do you know how to use the extra parameters of the build bot "force build" page?15:33
fijalAlex_Gaynor: yours should be easy no?15:33
Alex_Gaynorfijal: on what iteration does yours crash?  it looks like mine works ok in the preamble, and fails in the first iteration of the loop15:33
Alex_Gaynorfijal: pff,I have no idea15:33
fijalstakkars_: what do you want to pass?15:33
fijalAlex_Gaynor: you look who calls what in asm15:34
Action: fijal does15:34
stakkars_I would like so set parameters, like "-x', to have all tests stop after the first failure15:34
Alex_Gaynorfijal: i44 = call(ConstClass(_ll_1_raw_malloc__Signed), i31, descr=<NonGcPtrCallDescr>); what more do you want?15:34
fijalstakkars_: I don't think you can do that15:35
fijalnice15:36
fijalAlex_Gaynor: so ll_1_raw_malloc__Signed happily ignores all the fuckin flags15:36
stakkars_I want kind of overview, but the BB spends too much time in useless tests which cannot work (i.e. setup errors)  and spoil the info that I need15:36
Alex_Gaynorfijal: you mean like zero=True?15:36
fijallike zero=True, add_memory_pressure=False15:36
fijalor True15:36
fijaletc.15:36
Alex_Gaynorpfffffff15:36
fijalpfffff indeed15:37
fijalI found it, feel like fixing? ;-)15:37
fijalI can fix it15:37
stakkars_ok, then I will add a bit to buildbot, for instance an auto-skip if there is a general setup error15:37
Alex_GaynorI gotta get ready and go to class in like 2 minutes, so if you could that'd be good15:37
antocunistakkars_: I think that your best option is to modify the testrunner directly in the branch15:38
fijalstakkars_: there be dragons15:38
fijalAlex_Gaynor: that would explain why zeros() in a loop is so slow :)15:38
fijalbecause it does not add memory_pressure15:38
stakkars_antocuni: ah, yes of course.15:38
Alex_Gaynorfijal: well, and there's tons of nonsense in there, e.g. find_shape isn't traced15:38
antocuniso that it runs py.test -x instead of py.test15:38
fijalbut it's also mess for things like hashlib etc.15:38
fijalnice...15:38
stakkars_fijal: "dragons" ??? :-)15:39
antocunibut then you have to remember not to merge it :-)15:39
Alex_Gaynorfijal: hashlib is "safe" since it isn't inlined15:39
fijalAlex_Gaynor: well, are you sure?15:39
fijalrsocket?15:39
Alex_Gaynorfijal: I'm sure it's an issue somewhere, just saying, not in hashlib15:39
fijalokey15:39
fijalnot that it helps15:39
fijalok, I'll fix it15:39
Alex_Gaynorthanks15:39
Action: fijal is sure there is an xxx somewhere in codewriter15:40
Alex_Gaynorfijal: why does it work in preamble, pure chance?15:40
fijaldunno15:40
Alex_Gaynorfijal: there's an invalid XXX in that function, but it's unrelated and wrong15:40
fijalI don't think it does15:40
Alex_Gaynorfijal: oh nvm, it works in tracing maybe15:40
fijalya15:40
stakkars_ok, I will also add something that lets test runner keep the temp files of failed tests.15:40
Alex_Gaynorthat's pure chance as well I guess15:41
stakkars_because whenever I want to look at something that fails on BB (but works locally), I don't see what is wrong with the tent files, which are gone through all the later tests15:42
fijalAlex_Gaynor: note that we need refcounting baaadly15:42
Alex_Gaynorfijal: let's find a better way to say that ;)15:42
Alex_GaynorI'll think on it.15:43
Action: Alex_Gaynor -> awayish15:43
setmeawayi think pypy doesn't consider shared-library version in ll2ctypes.py:get_ctypes_callable. is it intended one?15:43
fijalnice15:45
fijalthere are no raw_malloc tests in codewriter15:45
setmeawayfor example if it found libexpat.dll.a, then pypy may not assume dll is libexpat.dll because of version postfix.15:55
azanella (~azanella@189.6.80.207) joined #pypy.15:57
_aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection15:58
Alex_Gaynorfijal: of course not, if there were tests there wouldn't be bugs ;)15:58
aleksi (~aleksi@85.235.191.82) joined #pypy.15:59
fijal (~fijal@197.104.221.224) left irc: Read error: Connection reset by peer16:00
fijal (~fijal@197.174.48.226) joined #pypy.16:03
fijalpushing...16:05
fijalsantagada: ping16:06
santagadafijal, pong16:06
Alex_Gaynorfijal: is it just me or is pushing slower lately?16:06
fijalwhat do you need lxml for?16:06
fijalAlex_Gaynor: for me it takes ~1m16:06
fijal30s maybe16:06
fijalit's fast from tannit though16:06
fijal(???)16:06
santagadafijal, openerp uses lxml... I just wanted to test it with pypy16:06
fijalopenerp is...?16:07
santagadabut I think the only problems openerp has with speed is very badly written code16:07
santagadafijal, and ERP software16:07
fijalpypy does not fix those16:07
santagadayep16:07
santagadaso I don't think it will matter much16:07
fijalmy DNS is screwed though16:07
fijalI can't push16:08
fijal:/16:08
asmeurer__ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy.16:08
fijal (~fijal@197.174.48.226) left irc: Read error: Connection reset by peer16:08
santagadaI wish I could start using pypy daily16:08
fijal (~fijal@197.111.28.197) joined #pypy.16:09
aleksi (~aleksi@85.235.191.82) left irc: Ping timeout: 244 seconds16:09
fijalah no, that's pulling that's fast on tannit16:09
fijalAlex_Gaynor: so yes16:09
Alex_Gaynorfijal: ?16:09
kenaan12fijal default 1105689cbd7389 15/pypy/jit/codewriter/: raise an exception instead of producing bogus code. Probably would turn some stuff into calls instead of jitcodes16:09
kenaan12fijal default 11741dd1c718ca 15/pypy/jit/codewriter/: support some combination of flags, I hope it's good enough16:09
kenaan12fijal default 11f997f3ff2594 15/pypy/: merge16:09
fijalpushing is slow16:09
fijalarigato: ^^^16:09
Alex_Gaynorfijal: is it bitbucket or our hooks?16:10
fijalhooks run after no?16:10
Alex_Gaynormaybe16:10
fijalsantagada: http://en.wikipedia.org/wiki/Enterprise_resource_planning16:10
fijal?16:10
fijalis this for whoever you work for?16:10
amaury_ (~amaury_@74.125.57.34) joined #pypy.16:11
santagadafijal, yes, I'm working on a company that does OpenERP development16:11
fijalcool, maybe you can make them pay for lxml16:11
fijalreal is pretty strong these days, it would be cheap16:11
santagadathe problem is that running on pypy would buy us nothing... the orm on openerp is so bad that even if you rewrite the algos in assembly writting directly to memory it would still be slow16:13
cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) left irc: Ping timeout: 248 seconds16:13
santagadaIf I'm going to convince someone to pay anything for pypy is for numpy or better stackless support16:14
santagadaanother interesting thing would be gevent/gunicorn or uwsgi support16:14
fijaldoes it buy anything for your employer?16:14
Alex_Gaynorgunicorn+eventlet works, AFAIK16:14
Action: Alex_Gaynor -> class16:15
kkris (~kris@93-82-41-114.adsl.highway.telekom.at) joined #pypy.16:16
ousado (~ousado@31-18-122-38-dynip.superkabel.de) left irc: Changing host16:22
ousado (~ousado@unaffiliated/ousado) joined #pypy.16:22
Rhy0lite (dje@nat/ibm/x-gxezgyospokxjasm) joined #pypy.16:24
arigatoanyone wants to sponsor us rewriting cPickle? :-)16:25
arigatowe get good performance speed-ups from plain pickle.py, but still not quite up to CPython's cPickle level16:26
fijalarigato: we're not doing very well on "anyone wants to sponsor us doing ..."16:26
fijal[insert your thing here]16:27
arigatoyes, it's easier to go for "pay for your favourite feature and we'll implement it"16:27
arigatoto some extent16:27
fijalwell, maybe16:27
fijalwe don't quite know yet16:27
arigatoyes16:27
lucianit seems odd to me that companies that use python aren't jumping all over pypy16:28
santagadafijal, nope, but it would be cool as hell16:28
santagadaI think pickle is small enough that something like that would work16:29
arigatoyes, agreed16:29
santagadaarigato, any ideas on how much money would it take?16:29
arigatono clue16:29
santagadaI think zodb guys would pay it16:29
stakkars_arigato: btw, anyone wants to sponsor us supporting Windows 64bit?16:29
santagadathere are people really interested in zodb on pypy16:30
santagadaand pickle performance is the pinacle of zodb (and then the b-tree implementation)16:30
stakkars_I should seriously consider that. It is so much work16:30
santagadapersistence is probably fast now16:30
arigatostakkars_: maybe, but this comes with a risk too: I certainly won't accept money if the contract says implicitly "and you're going to maintain Win64 forever"16:31
santagadastakkars_, also another project that I think could work better than python 3/numpy16:31
santagadaarigato, good point16:31
arigatostakkars_: but if you are fine with that, then sure16:31
fijalsantagada: I would have an estimate of pickle for about a week of work16:32
arigatostakkars_: if you're getting a contract getting you money, then I'll be on the sidelines doing the cheering :-)16:32
fijalwhich means that when it comes to signing I would say 2 weeks16:33
craigkerstiens (~craigkers@204.14.152.118) joined #pypy.16:33
stakkars_arigato: well, if I can make a contract for this, then I will make sure that nobody of the PyPy crew will be forced to support Win64.16:34
Action: arigato -> dinner16:35
stakkars_At least I would separate that out in a way that nobody but maybe me gets forced, if at all.16:35
stakkars_arigato: I'd appreciate your cheering16:35
fijalstakkars_: I don't think you even can contractually sign anything that will force anyone else to do pretty mch anything :)16:36
fijala lot of any in this sentence16:36
bivab (~david@fwstups.cs.uni-duesseldorf.de) left irc: Quit: bivab16:36
arigato (~arigo@fwstups.cs.uni-duesseldorf.de) left irc: Quit: See you16:36
fijalwhat I meant is you can only promise what you'll do :)16:36
dmalcolm (david@nat/redhat/x-dkcptuhurkarjidq) joined #pypy.16:36
stakkars_fijal: maybe. :-)16:36
fijalas far as I know this is how it works :)16:37
fijalbut obviously you can lie to people ;-)16:37
fijaland make it their problem16:37
stakkars_fijal: I think I would reject to be forced into anything, and it never happened so far.16:38
fijalcool :)16:38
fijalstakkars_: well, windows 64 sounds like a really sane goal16:38
fijala paid goal even16:38
fijalbut I have no clue who is a potential customer, sorry :(16:39
stakkars_I didn't think of it, yet. But it is reasonable, but still much work.16:39
stakkars_I spent over a month now, and I guess it takes the same time again, if not more.16:39
kkris (~kris@93-82-41-114.adsl.highway.telekom.at) left irc: Quit: Leaving.16:40
stakkars_well, I think to write a bit about the problem, and the fact that I got "rpystonedalone" to run almost correctly.16:42
fijalstakkars_: I think it would be interesting to post a blog post on the pypy blog about that16:43
kenaan12hager ppc-jit-backend 1168ed886b303c 15/pypy/jit/backend/ppc/ppcgen/codebuilder.py: Ensure exlusive usage of r0 in b_abs16:43
kenaan12hager ppc-jit-backend 1197cfa93958c4 15/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py: Ensure exclusive usage of r016:43
kenaan12hager ppc-jit-backend 112da6b07d24ec 15/pypy/jit/backend/ppc/ppcgen/test/test_call_assembler.py: add test for direct call of assembler code16:43
kenaan12hager ppc-jit-backend 117f81c8cd30bc 15/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py: enable direct bootstrap code16:43
fijalstakkars_: so you're more than welcome to write something16:43
stakkars_doing a public request "I would like to finish that, I need XXX $$$, please donate"16:43
Trundle (~andy@python/site-packages/trundle) left irc: Remote host closed the connection16:44
fijalI think for "donate" it would be a bit more complex16:44
fijalbut we can always say "please contact Christian for more details"16:44
fijal"donate" is also doable16:44
stakkars_whatever irks, fine with me.16:44
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection16:44
kkris (~kris@93-82-41-114.adsl.highway.telekom.at) joined #pypy.16:44
fijalstakkars_: I have no clue myself, just saying :)16:45
fijalI think it's fine to leave it as in "contact christian"16:45
fijalbut we can also run an official campaign16:45
fijalthe correct guy to ask about this is bradley though16:45
fijalor pypy-z16:45
stakkars_why is "donate" complicated? I'm thinking of my success with Starship, where I financed a new server in no time. And everybody was listed on a "page of honor" :-)16:46
fijallucky you :)16:46
fijalwe had less luck with numpy & py3k so far16:46
stakkars_yes, which is sad.16:46
exarkunSomething like $8000 have been donated towards numpy and py3k16:47
exarkunIf you were only trying to buy a new server you'd have been done a long time ago16:47
stakkars_well, with Starship it was just 3000 bucks, and I asked only the PSA members (300 people)16:47
fijalexarkun: I guess also less people would get excited16:47
fijalexarkun: there is a lot of unsexy work16:47
fijallike I don't think buildbot maintenance would fly well16:48
santagadamaybe another approach to things would be to try to gather new people to work on pypy, writting blog posts is a good start16:48
stakkars_well, you must rap that work into other work. And not talk about it16:49
santagadaI think the blog is what made pypy visible to the outside world16:49
fijalsantagada: that's probably the best thing I ever did in pypy16:49
fijal[create the blog]16:49
santagadafijal, also your blog is very cool too16:49
stakkars_santagada: we need new people, but not an alternative to getting money ;-)16:49
santagadastakkars_, if a company donates a developer time, it is almost the same thing as money :)16:50
santagadastakkars_, better yet, you don't have to work on windows :D16:50
fijalsantagada: I disagree16:50
fijalI prefer money to people16:50
fijalbecause otherwise I have to go and find some other job16:51
santagadaah16:51
stakkars_fijal: you did that? That was absolutely correct and insaneously great to do16:51
stakkars_santagada: I'm talking about me. I have too much time ;-)16:51
santagadafijal, you should try to find a proper job that you can work on pypy16:51
fijalsantagada: fail so far16:51
santagadafijal, for example, google could hire you to work 50% on pypy or something16:51
stakkars_fijal: apropos: I'm in the progress of finding new people in Berlin.16:51
fijalgoogle wanted to hire me for 100% time on V8 so far16:52
elliottcable (~me@ell.io) left irc: Quit: best short-url ever. <http://ell.io/tt>16:52
fijalwriting C++16:52
stakkars_starting with a weekly meeting with an interested guy, who wants to work on PyPy.16:52
santagadafijal, on google you would have 20% to work on pypy16:52
fijalstakkars_: would be cool to have some people who want to pay for pypy :)16:52
fijalsantagada: except almost nobody does that16:52
elliottcable (~me@ell.io) joined #pypy.16:52
fijalanyway16:52
fijalthat's not the point16:52
Action: fijal off for dinner16:53
fijalI'll read logs later16:53
stakkars_fijal: thatks, I need motivation, and you did that16:53
fijalstakkars_: I think it's sellable now more than ever16:53
fijalbut still, I fail at doing so16:53
stakkars_fijal: well, I sold it almost, fortunately it did not work ;-)16:54
fijal:]16:54
stakkars_but I think win64 is sellable to CCP16:54
fijalya, might be16:55
fijalwe did stackless16:55
fijalstackless & jit integration might be as well16:55
stakkars_fijal: you know the need for speed sprint? I was so far that PyPy got invited16:55
rguillebertAFAIK they need to embed the interpreter16:55
stakkars_yes, it is really a different time where we have really sexy stuff to sell.16:56
stakkars_rguillebert: yes, at least they still thonk that. Wrong in the first place, but ok.16:56
rguillebertthey call python code that calls C code that call python code apparently16:57
G2P (~G2P@fw-asn1.ornis.com) left irc: Quit: Leaving.16:58
stakkars_but as far as pypy is, I'd like to figure out if they might write everything in PyPy and toss the whole C++ mess16:58
stakkars_rguillebert: I'm telling them since 12 years that they are producing their biggest problem.16:58
rguillebertI guess the 3D stuff still needs to be written in a GIL-less fast language16:59
rguillebert(unless you're talking of the server side)17:00
rguillebertand you probably are17:00
stakkars_rguillebert: server side is the first thing, because that was the reason why they demanded a 64bit psyco.17:02
stakkars_I have no clue how much stuff is on the server side that forces them to embed python?17:04
santagada (~leonardo@189.27.166.253.dynamic.adsl.gvt.net.br) left irc: Ping timeout: 248 seconds17:04
stakkars_will talk to them, soon.17:04
rguillebertif they use threads it's probably better17:04
stakkars_what do you mean with "it" and "better"?17:05
stakkars_both very ambiguous :-)17:05
rguillebertfor concurrency :)17:05
stakkars_what? threads better than what? Embedding better than what? Better in which quality?17:07
stakkars_no that is very unclear. Their reason to use Stackless since the beginning is to avoid threads.17:08
stakkars_And I'm the last one who recommends something else, naturally ;-)17:09
rguillebertyes if they don't use threads then extending is better17:09
stakkars_still, what do you mean? Better for peed of programs, better for speed of programming, better for server cost, better for finding skilled people, &. Seriously, there is no one-dimensional 'better'17:11
rguillebertperformance wise, because of the GIL17:12
rguillebertin the C code not called by python code, you don't have to care about it17:13
stakkars_and a compromise between directions of quality is a mapping of multi into one dimension. The weighting of this vector function then is what you need to try to estimate, to understand the customer. (sorry for quibbling)17:14
bobbyz (~bobbyz@c-24-9-15-58.hsd1.co.comcast.net) left irc: Ping timeout: 244 seconds17:14
rguillebertI'm not saying that it's better, I'm saying that it's debatable17:14
stakkars_ok, coming closer17:15
fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy.17:16
rguillebertI said "probably better" but I misspoke 17:16
logan` (~loganchie@140.112.30.132) joined #pypy.17:16
stakkars_my strategy is to roll the possible paths out with some estimates and try to let the customer conclude what I want...17:17
stakkars_well, leaving this. Too much theoretical talk, need to contact companies.17:20
rguillebert:)17:21
dimazest (~dimazest@balticom-202-59.balticom.lv) joined #pypy.17:21
stakkars_pay for pypy17:22
stakkars_paypy.org :-D17:22
kenaan12hager ppc-jit-backend 11eb0fdf36780a 15/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py: fixed offset bug in loading parameters from stack17:25
bobbyz (~bobbyz@107.24.107.221) joined #pypy.17:28
voidspace (~voidspace@python/psf/voidspace) left irc: Remote host closed the connection17:35
voidspace (~voidspace@python/psf/voidspace) joined #pypy.17:35
lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) left irc: Ping timeout: 258 seconds17:38
jnoller (~jnoller@vpn.nasuni.com) left irc: Quit: Leaving...17:40
ojii (~ojii@40-34.60-188.cust.bluewin.ch) left irc: Remote host closed the connection17:43
jnoller (~jnoller@vpn.nasuni.com) joined #pypy.17:44
asmeurer__ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) left irc: Quit: asmeurer__17:46
sven_hager (~sven@fwstups.cs.uni-duesseldorf.de) joined #pypy.17:46
apanda (~apanda@c-24-7-101-62.hsd1.ca.comcast.net) left irc: Remote host closed the connection17:47
asmeurer_ (~asmeurer@dhcp-baca-230.resnet.nmt.edu) joined #pypy.17:48
apanda (~apanda@c-24-7-101-62.hsd1.ca.comcast.net) joined #pypy.17:50
apanda (~apanda@c-24-7-101-62.hsd1.ca.comcast.net) left irc: Remote host closed the connection17:53
bobbyz (~bobbyz@107.24.107.221) left irc: Ping timeout: 248 seconds17:53
amaury_ (~amaury_@74.125.57.34) left irc: Ping timeout: 248 seconds18:01
arigato (~arigo@89.204.139.67) joined #pypy.18:01
Squarepy (~Squarepy@ip82-139-118-42.lijbrandt.net) joined #pypy.18:05
Squarepy (~Squarepy@ip82-139-118-42.lijbrandt.net) left irc: Changing host18:08
Squarepy (~Squarepy@unaffiliated/squarepy) joined #pypy.18:08
Squarepy (~Squarepy@unaffiliated/squarepy) left irc: Ping timeout: 248 seconds18:15
Squarepy (~Squarepy@ip82-139-118-42.lijbrandt.net) joined #pypy.18:16
kenaan12arigo default 11153c1281e1cb 15/pypy/jit/codewriter/: Add support for track_allocation=False (the default is True). We can't add many more flags while keeping the same s...18:16
Squarepy (~Squarepy@ip82-139-118-42.lijbrandt.net) left irc: Changing host18:16
Squarepy (~Squarepy@unaffiliated/squarepy) joined #pypy.18:16
stakkars_ (~tismer@82.113.106.113) left irc: Quit: schnarch18:19
chronitisis copying __doc__ strings directly from pypy acceptable or discouraged?18:19
chronitis*directly from python18:19
voidspaceto be recommended I would assume18:20
voidspaceand where you improve them please submit the improved version back to python :-)18:20
chronitisfair enough18:21
fijalchronitis: yes18:23
fijalwhat voidspace says :)18:23
kenaan12hakanardo jit-targets 110b4126532f16 15/pypy/jit/metainterp/optimizeopt/: hack to support aliased virtuals18:28
kenaan12hakanardo jit-targets 118dfc6aebd9b6 15/pypy/module/pypyjit/test_pypy_c/model.py: restrict match_by_id to ops in the peeled loop18:28
ericvrp_ (~ericvrp_@53550572.cm-6-6a.dynamic.ziggo.nl) left irc: Quit: ericvrp_18:31
etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum18:36
fijalhakanardo: ping18:37
hakanardohi18:38
fijalI have an issue with trace18:38
fijalI have an allocation that goes nowhere18:38
fijalthat's forced at the jump, but is not passed anywhere18:38
hakanardook, sounds bad18:39
fijalhow do you want me to show you that?18:39
hakanardodo you have a failing test?18:39
fijalno18:40
lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy.18:40
fijalbut I have a medium-size program18:40
fijalI can try to reduce it18:40
hakanardook, can you paste the trace?18:41
fijalyeah18:41
hakanardoI could stare at it for a while and hope for something to pop up...18:42
fijalhttp://paste.pocoo.org/show/515045/18:42
fijalyou can get the program from bitbucket/fijal/hack218:42
fijalhttps://bitbucket.org/fijal/hack2/src/default/bench/laplace/laplace.py18:43
fijalthis one18:43
fijaljust run it with no params18:43
apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy.18:44
hakanardowhich allocation is the problem?18:44
hakanardopypy 1.7 is too old to run it?18:46
Alex_Gaynorarigato: I don't think we should rewrite cPickle, let's try to improve pickle.py18:47
fijalhakanardo: yes, you need nightly or grab something from my pypy dir on tannit18:48
ericflo (~ericflo@75.103.8.110) joined #pypy.18:48
fijal/home/fijal/pypy/compiled/pypy-c-bef722513f6c-default18:49
fijalshould do18:49
fijalhakanardo: there is new_with_vtable in a loop that should not be there18:49
fijalof FloatObject18:49
aleksi (~aleksi@176.57.74.133) joined #pypy.18:49
hakanardowhich box in the trace you pasted?18:49
stakkars_ (~stakkars@82.113.106.113) joined #pypy.18:50
fijalhakanardo: can't you run it in jitviewer?18:50
fijalthe first one18:50
fijalp91 = new_with_vtable(37095496)18:50
CIA-1303jayqhacker 07roundup * 10#791/Simple wordcount is significantly slower and fatter than CPython: 18:51
CIA-13Since this is my pet issue, I will keep plugging it until it's faster than18:51
CIA-13CPython. :) I had high hopes for PyPy 1.7, but alas, only a moderate ... * 14https://bugs.pypy.org/issue79118:51
hakanardoit is used by the same_as op18:54
hakanardoisnt same_as optimized out?18:54
stakkars_arigato: I think this goes into the right direction. The need for cPickle is artificial. 18:54
fijalhakanardo: well, yes, but then again same_as result is not used18:54
hakanardobut the same_as op is in the optimized traced18:55
Alex_Gaynorfijal: isn't same_as killed in teh frontend?18:55
hakanardoso we have to produce the box to pass to same_as18:55
fijalapparently not18:55
fijalthis is happy nonsense18:55
Alex_Gaynorwhat's even the point of a same_as op?18:55
hakanardothe the same_as was optimized out it would probably not be forces18:55
ixokai (~ixokai@rrcs-24-199-8-246.west.biz.rr.com) joined #pypy.18:56
ixokai (~ixokai@rrcs-24-199-8-246.west.biz.rr.com) left irc: Changing host18:56
ixokai (~ixokai@pdpc/supporter/student/ixokai) joined #pypy.18:56
hakanardoso why is the same_as not optimized out?18:56
apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Read error: Connection reset by peer18:56
fijalhakanardo: did you notice it's forced by the jump?18:56
stakkars_arigato: if we manage to get pickle.py fast, then we have reached a new quality18:56
sven_hager (~sven@fwstups.cs.uni-duesseldorf.de) left irc: Quit: Leaving18:56
apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy.18:56
Alex_Gaynorstakkars_: we can always improve pickle.py itself, I have a patch that's worth 10-20% on it18:56
fijalstakkars_: we already have json encoding done that way18:56
hakanardoI think the forntend needs to same_as here to pass the same box in two places of the jump op18:57
fijalhakanardo: did you notice that none of them is doing that?18:57
hakanardoboth p91 and p91 are among the jumpars, right?18:57
fijalno?18:57
fijalah yes they're18:58
fijalso why is it not optimized away?18:58
hakanardodunno18:58
stakkars_arigato: because we then have managed to make an interpreter on top of the interpreter fast. I woult try this first, and then fall bach to RPython (==C)18:58
fijalhakanardo: it seems to me like this case is not handled correctly18:59
fijalwhen a virtual would appear in two places in the entry18:59
hakanardothere is no optimize_SAME_AS in optimizeopt/*.py?19:01
fijal:/19:01
stakkars_Alex_Gaynor: arigato: get me right, making the pickle engine fast on top of Python is the first multi-level JIT!!!19:01
hakanardohow are SAME_AS supposed to be removed?19:01
hakanardofijal: there are tests with something like jump(p1, p1) and p1 virtual, checking these kind of cases19:02
hakanardobut probably noone using SAME_AS...19:02
fijalapparently does not work19:02
fijalwith same_as19:02
fijalwhy is it using same_as anyway?19:03
hakanardobecause we never optimize out SAME_AS?19:03
fijalwhy we ever generate it is my first question19:03
stakkars_I think this generalisation really broadens the scope of Jit technology. 19:03
fijalstakkars_: I don't think so19:05
fijalJITs has been done19:05
etrepum (~bob@accessnat4.mochimedia.net) joined #pypy.19:06
hakanardofijal: no clue why it's generated, but adding a optimize_SAME_AS killing the SAME_AS should fix your issue :)19:06
fijalokey19:06
davisagli (davisagli@davisagli.com) left #pypy.19:06
stakkars_fijal: You think after the final Jot like now the end is reached?19:06
Alex_Gaynordef optimize_SAME_AS(self, op): self.make_equal_to(self.getvalue(op.getarg(0)), self.getvalue(op.getarg(1)))19:07
fijalAlex_Gaynor: with a test :)19:07
Alex_Gaynorfijal: pff, I'm not even sure this coe works19:07
stakkars_Like "one level up" is "every level up"? Not sure19:07
Alex_Gaynorit looks about right though19:07
fijalI have no clue how optimizeopt works19:07
Alex_Gaynorreally?19:08
stakkars_s/jot/jit/19:08
fijalAlex_Gaynor: I wrote the original one with armin, but it was rewritten at least twice :)19:09
Alex_Gaynorfijal: yes, now it's in more than one class for one ;)19:10
fijalit was always at least 219:10
fijal:)19:10
Alex_Gaynorfijal: well, since hakanardo's refactor it's much nicer19:10
jnoller (~jnoller@vpn.nasuni.com) left irc: Quit: Leaving...19:12
Action: arigato mentions a plug: http://armin-rigo.blogspot.com/19:13
rguillebertI guess I'm the first reader :p19:15
arigatono, it was read by various people already :-)19:15
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy.19:20
antocuniarigato: you have an "XXX find reference" in your post :-)19:20
fijalAlex_Gaynor: feel like implementing the same_as optimization?19:21
Action: fijal tried to read iqt19:21
fijalit19:21
arigatoantocuni: I know, but I didn't find it so far :-)19:21
stakkars_ (~stakkars@82.113.106.113) left irc: Ping timeout: 244 seconds19:24
stakkars_ (~tismer@88.130.164.59) joined #pypy.19:24
stakkars__ (~stakkars@82.113.106.145) joined #pypy.19:26
ixokai (~ixokai@pdpc/supporter/student/ixokai) left irc: Quit: Bye!19:30
bobbyz (~bobbyz@c-24-9-15-58.hsd1.co.comcast.net) joined #pypy.19:36
DanielHolth (~dholth@ip98-180-34-112.ga.at.cox.net) left irc: Ping timeout: 240 seconds19:43
jokey (~jokey@gentoo/developer/jokey) left irc: Remote host closed the connection19:43
Squarepy (~Squarepy@unaffiliated/squarepy) left irc: Quit: Leaving19:44
Alex_Gaynorfijal: in a bit, pycon meeting now19:45
antocuni (~antocuni@host200-125-dynamic.25-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds19:48
DasIch__ (~dasich@p3E9912D6.dip.t-dialin.net) joined #pypy.19:52
kenaan12hager ppc-jit-backend 11425b44c65d66 15/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py: use force index field as scratch field19:52
durin42pypy just sped up a utility script doing lots of computation from 25s to 9s :)19:53
Alex_Gaynoryay :)19:55
DasIch_ (~dasich@p3E990854.dip.t-dialin.net) left irc: Ping timeout: 244 seconds19:55
durin42oh, and 1.5 -> 1.7 shaved another 2 seconds off19:56
aleksi (~aleksi@176.57.74.133) left irc: Remote host closed the connection20:00
arigato:-)20:19
CIA-1303agaynor 07roundup * 10#859/numpy script has corrupted memory with JIT: [resolved] Fixed in 741dd1c718ca. * 14https://bugs.pypy.org/issue85920:22
stakkars_arigato: I have read your quantum mechanics paper two times now.20:24
stakkars_no problem with the math, but I have problems to see the essence of what you claim.20:25
stakkars_is your claim that the reduction should be done exactly this way?20:26
kkris (~kris@93-82-41-114.adsl.highway.telekom.at) left irc: Quit: Leaving.20:27
stakkars_I think to read it again a fees times to get the idea. A bit like relativity, where the math was known long before, but the interpretation was not obvious.20:29
fijalarigato: we found a missing (silly optimization)20:30
fijalwhich is20:30
fijalp = new()20:30
fijalp2 = same_as(p)20:31
fijaljump(p, p2)20:31
Alex_Gaynorfijal: how do you even get same_as though?20:31
fijalno idea20:31
stakkars_developers: How do I debug test_cpyext.py ?20:37
stakkars_do I need to use the switch between interp- and app level for this, and how to I get there, nowadays?20:39
ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) left irc: Quit: Leaving...20:39
stakkars_Heeeelp!20:41
apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection20:42
lizardo (~lizardo@189.2.128.130) left irc: Quit: Leaving20:45
arigatofijal: unsure how you want to do better20:45
arigatoit's possible but rather involved20:45
arigatoin any case it's not at all a missing silly optimization20:46
Alex_Gaynorarigato: yes it is, if you don't have a same_as the obj is virtualized across loop boundaries20:46
arigatoI doubt it, or did hakan implement it?20:46
arigatothe issue is not same_as, the issue is that it's passed twice20:47
Alex_Gaynoruhh, could be, although I saw a commit about hte aliasing today20:47
DasIch__ (~dasich@p3E9912D6.dip.t-dialin.net) left irc: Remote host closed the connection20:48
Rhy0lite (dje@nat/ibm/x-gxezgyospokxjasm) left irc: Quit: Leaving20:49
hruske (~Gasper@188-230-156-183.dynamic.t-2.net) left irc: Quit: Leaving20:49
stakkars_arigato: I'm again missing something. Trying to debug test_cpyext.py, put I cannot get at it. I cannot set any breakpoint at the various setup_class calls. How do you debug this?20:53
stakkars_s/put/but/20:53
arigatostakkars_: I'd recommend to regard cpyext as future work20:56
arigatoat least until you can get a working pypy-c20:57
arigatoyou should also start with a pypy-c with --no-allworkingmodules20:57
stakkars_sorry, no, I am just missing include files and want to fix this. There are lots of tests which break in the setup() phase. This is a real blocker. I don't want to fix cpyext, I just want failures, not errors.20:58
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Quit: Leaving20:59
arigatothen just skip all tests of cpyext for now, 20:59
stakkars_yes, just doing the setup?20:59
arigatoe.g. by adding  'import py; py.test.skip("later")'  as a first line of the file21:00
stakkars_aha! ?!21:00
Alex_Gaynorarigato: Does http://paste.pocoo.org/show/515096/ look ok to you?21:00
stakkars_arigato: thank you!21:00
stakkars_I'm really suffering tests which don't appear as tests, but as setup errors. That should me help to fix certain basics.21:01
stakkars_actually, this comes from the introduction of 'Signed" in the C source. I need to find out which include file is missing where and when ;-)21:02
mvt (~mvantelli@53530442.cm-6-4a.dynamic.ziggo.nl) left irc: Quit: Leaving21:07
stakkars_arigato: no, that evicts too much. I need to get at the point where C functions are compiled, and check their ECI's etc. 21:07
stakkars_well, I'll find out ...21:07
stakkars_actually wondering how you debugged this all!21:09
stakkars_And again the question: how do I set a breakpoint in AppLevel? Please don's say "too early", I must know that!21:10
lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 248 seconds21:14
kenaan12alex_gaynor default 1106acac97ffa5 15/pypy/jit/codewriter/support.py: simplify this code a bit.21:16
stakkars_arigato: sorry for bugging you gain. But I want to find out why I get no errors in win32 and missing stuff in win64, regardless of what test I'm running. I do adhere to your recommendations, but I cannot work with "do your groundwork and don't ask". Does not work, I will bail out then.21:17
stakkars_s/gain/again/21:17
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy.21:19
Action: stakkars_ getting grumpy21:22
arigatosorry, not really there21:24
arigatoyou can't easily set a breakpoint at applevel21:25
arigatotry to put it at interp-level at the start of some function that is invoked at the critical point21:25
arigatoI also think that it's a bit too early to even try to run all tests21:26
arigatoyou get just large amount of failures21:26
stakkars_ok. Sorry about my wording. You know me :-)21:27
arigatohow about instead to focus on specific tests and ignoring the others21:27
stakkars_I'm trying to reduce that, already modifying test runner.21:27
arigatoI'm not sure I see the point of modifying the test runner21:28
stakkars_even that does not help. There are some deeper things that prevent compilation.21:28
stakkars_well, already did, to stop after the first setup failure, for instance.21:28
arigatoyes21:29
arigatoour buildbot approach was developed after we already had all tests up and running21:29
arigatoso it's not really adapted to run tests when a large number of them fail21:29
stakkars_I am kind of coming too late with this ;-)21:29
arigatono, not really21:30
arigatoI'm just saying that buildbot is not the correct tool to use right now21:30
arigato(in my opinion at least)21:30
stakkars_and I was desperate, because I wanted to look at the C source in BB, but it is all gone after a few other tests.21:30
arigatoyes21:30
stakkars_So I'm doing a few local refinements.21:31
arigatoI think it really makes no sense to hack a lot to preserve these sources21:31
arigatoeven in normal usage, whenever we see a failure on buildbot, the #1 thing to do is try to reproduce it locally21:31
stakkars_I want to find where exactly I need to add an include file, then it is over.21:32
stakkars_yes, and locally it worked, which drives me nuts.21:32
arigatothen you need to work harder to understand why it works locally21:32
arigatomaybe it's because you have un-checked-in files?21:33
mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy.21:33
mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host21:33
mfoord (~anonymous@python/psf/voidspace) joined #pypy.21:33
arigatoor just local changes?21:33
arigatotry in a clean checkout21:33
stakkars_so right now I'm in a quite defensive mode, pulling teeth ;-)21:33
stakkars_all good, I just have one failure that fails locally. Therefore, debugging test_cpyext :-)21:34
stakkars_forget it, you can't stop me. But it helped, really.21:34
arigatoif you really want to look at files left behind by the buildbot run, the issue is that /tmp/usession-<number> only remembers the last 4 runs;21:34
arigatobut you can hack this number 4 if really you have no other way21:35
arigatopypy/tool/udir.py:2721:35
arigatosorry, it's 3 by default, not 421:35
stakkars_thanks a lot. Yeah, just found that spot, too.21:35
stakkars_what are numbers, after all?21:36
stakkars_ok, let me carry on, I'm getting the problem by its balls, right now21:37
stakkars_all good. (grumpy, but not at you)21:37
arigato:-)21:37
stakkars_feeling a bit like WALL-E21:40
stakkars_bye, eve21:41
stakkars_Waaaah, all good, got a grip at it!!!!!!21:42
stakkars_tracing windows.py upside down revealed the error.21:45
stakkars_I really should a reverse-tracing tool.21:45
stakkars_s//write/21:45
mat^2 (~mathias@212.130.113.35) left irc: 21:46
stakkars_it is the single, not-yet-handled case of compilation _without_ a make file, but producing a stand-alone exe.21:49
mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord21:51
fijal (~fijal@197.111.28.197) left irc: Read error: Connection reset by peer21:51
mwhudson (~mwh@linaro/mwhudson) left irc: Quit: Leaving21:52
mwhudson (~mwh@120.136.5.22) joined #pypy.21:53
mwhudson (~mwh@120.136.5.22) left irc: Changing host21:53
mwhudson (~mwh@linaro/mwhudson) joined #pypy.21:53
craigkerstiens (~craigkers@204.14.152.118) left irc: Read error: Connection reset by peer21:54
craigkerstiens (~craigkers@204.14.152.118) joined #pypy.21:54
craigkerstiens (~craigkers@204.14.152.118) left irc: Read error: Connection reset by peer21:59
arigatoI don't know if that was your intention, but now you triggered me into thinking about "undodb-gdb"21:59
fprimex (~fprimex@brent-macbook.sc.fsu.edu) left irc: Quit: http://www.fprimex.com21:59
arigatoI wonder what would be required to have a pure Python "undodb-pdb"22:00
arigatomore portable than undodb-gdb22:00
mfoord (~anonymous@python/psf/voidspace) joined #pypy.22:02
mjacob (~foobar@p57A8A282.dip.t-dialin.net) left irc: Quit: leaving22:03
lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy.22:06
stakkars_arigato: you are thinking of "how to find out where things come from"? I'm doing that since many days.22:07
stakkars_and what approach to take, without making it unbearably slow.22:07
arigatoundo-software.com22:07
stakkars_I'm thinking of a way that when a breakpoint is entered, analyzes whatever is on the stack, and triggers breakpoints which as precisely as possible try to capture a point before that happened.22:09
apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy.22:09
stakkars_that is much more efficient that breaking before-hand, when we don't know what we are looking for.22:10
lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 248 seconds22:12
stakkars_are they successful?22:13
lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy.22:13
stakkars_I suffered so much in Psyco that I would really work on a general solution22:13
stakkars_ha! debugging the error handler of compilation enabled tracing into the setup_class :-) :-)22:16
arigatoyes, undodb is seriously fast, but it doesn't always work, in the sense that it can crash or hang22:16
arigatoat least when trying it on pypy22:16
arigatoalso I never managed to get the 64-bit version of it running any code22:16
stakkars_do you have insight into how it works?22:17
arigatoonly what I read on the web site, but yes22:18
Action: stakkars_ going to tame that bastard, soon :-)22:18
arigatoit does regularly fork() the process, which let it keep in a copy-on-write old states22:18
stakkars_ok, the old heavy way.22:18
arigatothat's the basic idea, but then it's likely to be a huge pile of hacks e.g. to record all system calls and what they did22:19
arigatoin theory if you only record system calls, then you can replay everything from the start22:20
arigato(in practice there is for example the assembler instruction that gives you a timestamp --- no clue how they handle that)22:20
arigatodoing forks is just an optimization of this basic idea22:21
arigato(although, I'm sure, an essential one)22:21
stakkars_could actually be doing that pretty easily, albeit with a huge overheads, by a controller VM, where you can stop after any # of instructions.22:21
stakkars_controlled22:21
stakkars_would be incredibly easy, and veeeeery slow ;-)22:22
arigatonote that what I'm describing has basically no cost, apart from fully logging the system calls22:22
arigatothat's how they manage to have good performance22:22
craigkerstiens (~craigkers@204.14.152.118) joined #pypy.22:23
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Remote host closed the connection22:23
stakkars_but think of it. I'm working with VMs all day. You could re-run any snapshot22:24
stakkars_which is, of couse, very much. Hacking PyPy to record just the state needed would make a difference... 22:25
lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Quit: Leaving22:26
stakkars_and if they don't use system calls in a very long run?22:26
arigatothat's why fork() is a useful optimization22:27
tlynn (~tlynn@cpc6-cmbg14-2-0-cust121.5-4.cable.virginmedia.com) joined #pypy.22:28
arigatohum, you could hack pypy in the following way22:29
arigatoin normal run mode, all setfields and setarrayitems trigger a write barrier that records the operation22:30
arigatothen it should be possible to integrate the result with RPython operations, exposed to app-level e.g. in the __pypy__ module22:30
arigatoe.g.  capture_state(), returning a State object22:31
arigatowhich has a method "goback()"22:31
arigatofrom there you get build e.g. a sys.settrace() that captures the state every line22:33
arigatoso that it can be integrated with pdb to step backward22:33
mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord22:34
Action: arigato wonders if it's possible to do it in an otherwise-unmodified pypy22:34
arigatoby abusing the existing write barrier22:35
stakkars_would be a killer-feature for WING-Ide22:37
arigatocapture_state() would return a State object that represents the state at this point of time, but which is internally built lazily22:37
arigatowhen capture_state() is called, it sets a flag in the GC header of *all* objects22:37
arigatothis flag causes the write barrier to trigger22:37
arigatoand in the write barrier we record the old state of the object into the State object22:37
arigatosounds doable :-)22:37
stakkars_well, if I didn't find the culprit meanwhile, I might go for it.22:38
bbot2Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/73022:39
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/15522:39
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/96022:39
stakkars_but essentially, it would help PyPy a lot, wouldn't it?22:39
arigatoit still looks like several weeks of hacking22:39
arigatomore to do a nice integration into pdb, but I'm sure antocuni would be willing to help there :-)22:40
stakkars_instead of man-years wasted in trying tricks to catch errors?22:40
arigatoyes22:40
stakkars_is Anto the PDB guru?22:40
arigatoyes, he wrote pdb++22:40
chronitis (~chronitis@88-104-119-165.dynamic.dsl.as9105.com) left irc: Quit: Lost terminal22:40
stakkars_ah!!!22:40
aurojit (~apanda@dhcp-44-187.EECS.Berkeley.EDU) joined #pypy.22:41
arigatothe overall benefit for Python programs is definitely non-trivial22:41
apanda (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Read error: Connection reset by peer22:41
arigatofor Python *programmers*22:41
arigatobut it's still work22:41
arigatowell, I'll sleep on it first22:41
stakkars_we should ask for support for THAT, claiming that we will otherwise not continue at all! ??22:41
stakkars_sleep well22:41
arigatothank you22:42
stakkars_it would be a real contribution if people help us by supporting this22:42
arigatodon't spend the whole rest of the night on your issue :-)22:42
stakkars_no, got it already ;-)22:43
stakkars_g'night22:43
arigato:-)22:43
arigatobye22:43
arigato (~arigo@89.204.139.67) left irc: Quit: See you22:43
stakkars_thank you, bye22:43
bobbyz (~bobbyz@c-24-9-15-58.hsd1.co.comcast.net) left irc: Ping timeout: 252 seconds22:49
Sho_ (~EHS1@kde/hein) joined #pypy.22:54
Kaskuka (~John@osbk-4db16e3d.pool.mediaWays.net) left irc: Ping timeout: 248 seconds23:02
bobbyz (~bobbyz@107.24.107.221) joined #pypy.23:03
gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) left irc: Remote host closed the connection23:11
logan` (~loganchie@140.112.30.132) left irc: Ping timeout: 244 seconds23:37
aurojit (~apanda@dhcp-44-187.EECS.Berkeley.EDU) left irc: Remote host closed the connection23:38
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 258 seconds23:55
bobbyz (~bobbyz@107.24.107.221) left irc: Ping timeout: 248 seconds23:56
iko (iko@eskarina.iko.pp.se) joined #pypy.23:58
--- Thu Dec 1 201100:00

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