#pypy IRC log for Tuesday, 2012-01-03

exarkunmcdonc_: twisted.web00:09
antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) joined #pypy.00:15
mcdonc_python 300:15
nettok_ (~quassel@200.119.160.241) joined #pypy.00:21
nettok (~quassel@200.119.150.91) left irc: Ping timeout: 248 seconds00:23
exarkunyou might as well say "java"00:27
mcdonc_guess pypy better stop accepting donations for it then00:27
Goron (~LC@h171.163.191.173.dynamic.ip.windstream.net) left irc: Ping timeout: 248 seconds00:28
lahwranhow's pypy doing on speed tests vs java?00:29
lahwranlast I heard, java was wicked fast, enough to make python seem like a child's toy in speed comparisons00:29
lahwranbut I haven't done any benchmarking of pypy vs java00:29
mutux (~muratux@139.179.151.91) joined #pypy.00:41
moreati (~alex@5ad0d588.bb.sky.com) left irc: Remote host closed the connection00:41
mikefc2 (9665bcc5@gateway/web/freenode/ip.150.101.188.197) joined #pypy.00:48
timotimolahwran: the JVM has a huge head start on pypy with regards to JIT and garbage collectors00:53
lahwranso yes, java would still ace any speed test, then00:54
timotimomaybe not any - and i can't really tell how jvm and pypy-python compare WRT data structure sizes00:55
timotimoi'm guessing any time java can make use of concurrency (dunno if a parallel GC is the default for the jvm), it can potentially kick pypys ass00:56
Rhyolitetimotimo: avg java object is 6-8 words00:56
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) left irc: Ping timeout: 240 seconds00:58
timotimoRhyolite: do you have an idea what that number would be for pypy with either of the standard GCs?01:00
Rhyolitetimotimo: sorry, I don't have equivalent for pypy01:01
Rhyolitebut GCs for Java are all over the place01:01
Rhyolitemeaning there are ones that run concurrently01:01
Rhyoliteones that one incrementally01:01
nettok_ (~quassel@200.119.160.241) left irc: Ping timeout: 240 seconds01:01
timotimohm, the concurrent pypy gc branch has been abandoned, has it not?01:02
antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds01:07
Goron (~LC@h171.163.191.173.dynamic.ip.windstream.net) joined #pypy.01:23
nedbat (~nedbat@python/psf/nedbat) joined #pypy.01:27
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/19201:28
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/2001:30
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Computer has gone to sleep.01:46
furrykef (furrykef@ip68-12-180-167.ok.ok.cox.net) left irc: Ping timeout: 276 seconds01:46
aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy.01:49
bbot24Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/76401:49
PiotrSikora (~none@nginx/adept/piotrsikora) left irc: Excess Flood01:58
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/190902:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/32602:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/66102:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/31502:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/66402:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/118002:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/84702:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/149902:00
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/77402:00
PiotrSikora (~none@nginx/adept/piotrsikora) joined #pypy.02:01
nettok (~quassel@190.143.179.87) joined #pypy.02:02
jacob22 (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) left irc: Ping timeout: 240 seconds02:02
nettok (~quassel@190.143.179.87) left irc: Remote host closed the connection02:24
derdon (~derdon@p5DE8BC89.dip.t-dialin.net) left irc: Remote host closed the connection02:27
mikefc2 (9665bcc5@gateway/web/freenode/ip.150.101.188.197) left irc: Ping timeout: 258 seconds02:45
Shanita (~John@osbk-4db155a1.pool.mediaWays.net) joined #pypy.03:03
Kaskuka (~John@osbk-4db15f17.pool.mediaWays.net) left irc: Ping timeout: 240 seconds03:04
mikefc3 (9665bcc5@gateway/web/freenode/ip.150.101.188.197) joined #pypy.03:07
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/100103:10
dracman (~draco@212.255.40.92) left irc: Ping timeout: 252 seconds03:18
nettok (~quassel@200.119.184.79) joined #pypy.03:23
lambacck (~chris@d24-150-124-118.home.cgocable.net) left irc: Ping timeout: 276 seconds03:25
dracman (~draco@212.255.38.134) joined #pypy.03:25
ericflo (~ericflo@75.103.8.110) left irc: Quit: ericflo03:29
rhiebert (~rhiebert@24.104.139.205) joined #pypy.03:57
bbot23Success: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/190904:12
Goron (~LC@h171.163.191.173.dynamic.ip.windstream.net) left irc: Ping timeout: 276 seconds04:12
tponthieux (~tponthieu@ip70-179-5-71.sd.sd.cox.net) joined #pypy.04:27
rguilleberttimotimo, it's one of the potential sprint subjects so I guess not04:29
lambacck (~chris@d24-150-124-118.home.cgocable.net) joined #pypy.04:30
timotimoah, neat04:33
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy.04:34
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds04:35
Count_Niedar (~nnscript@ip68-231-248-182.hr.hr.cox.net) joined #pypy.04:40
Niedar (~nnscript@ip68-231-248-182.hr.hr.cox.net) left irc: Ping timeout: 276 seconds04:44
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.04:48
Goron (~LC@h171.163.191.173.dynamic.ip.windstream.net) joined #pypy.04:52
anish (anish@nat/redhat/x-xbtenkabncibjcum) joined #pypy.05:07
Nick change: anish -> Guest5036905:08
Goron (~LC@h171.163.191.173.dynamic.ip.windstream.net) left irc: Ping timeout: 268 seconds05:14
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/84705:16
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/149905:19
Ademan (~dan@adsl-71-141-224-79.dsl.snfc21.pacbell.net) joined #pypy.05:23
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/66405:24
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/118005:36
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/66105:43
whyking (~quassel@p5B3DD489.dip.t-dialin.net) joined #pypy.05:48
espes (espes@2001:470:1f05:ca1::) left irc: Read error: Connection timed out05:52
espes (espes@2001:470:1f05:ca1::) joined #pypy.05:52
whyking (~quassel@p5B3DD489.dip.t-dialin.net) left irc: Ping timeout: 240 seconds06:00
mutux (~muratux@139.179.151.91) left irc: Remote host closed the connection06:03
stakkars_ (~tismer@p5DDB7A14.dip.t-dialin.net) joined #pypy.06:05
stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) left irc: Read error: Connection reset by peer06:05
Nick change: stakkars_ -> stakkars06:05
Goron (~LC@h171.163.191.173.dynamic.ip.windstream.net) joined #pypy.06:19
whyking (~quassel@p4FFB66A5.dip.t-dialin.net) joined #pypy.06:20
davisagli (~davisagli@davisagli.com) left irc: Excess Flood06:27
davisagli (~davisagli@davisagli.com) joined #pypy.06:27
gutworth (~benjamin@64-131-9-52.usfamily.net) left irc: Ping timeout: 240 seconds06:38
bbot23Success: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/77406:44
tponthieux (~tponthieu@ip70-179-5-71.sd.sd.cox.net) left irc: Remote host closed the connection06:47
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/32606:48
whyking (~quassel@p4FFB66A5.dip.t-dialin.net) left irc: Ping timeout: 240 seconds07:04
espes (espes@2001:470:1f05:ca1::) left irc: Read error: Connection timed out07:19
espes (espes@2001:470:1f05:ca1::) joined #pypy.07:20
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) joined #pypy.07:22
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 244 seconds07:27
JaRoel|4d (~jaroel|4d@2001:980:7133:1:69cd:db5d:7ebe:3291) left irc: Remote host closed the connection07:28
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy.07:29
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.07:29
Sinker (~thinker@218-167-101-106.dynamic.hinet.net) joined #pypy.07:33
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Ping timeout: 240 seconds07:33
Nick change: Guest50369 -> anish07:35
Nick change: anish -> Guest3083407:35
Nick change: Guest30834 -> __anish__07:36
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/31507:40
fijal (~fijal@197.108.48.1) joined #pypy.07:53
fijalhi07:53
fijalAlex_Gaynor: ping08:02
nettok (~quassel@200.119.184.79) left irc: Remote host closed the connection08:03
rhiebert (~rhiebert@24.104.139.205) left irc: Remote host closed the connection08:17
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) joined #pypy.08:22
zain (~textual@cpe-68-173-70-124.nyc.res.rr.com) joined #pypy.08:35
fijallahwran: I know examples where java is slow08:36
danchr (~danchr@cl-848.chi-02.us.sixxs.net) left irc: Read error: Operation timed out08:38
danchr (~danchr@cl-848.chi-02.us.sixxs.net) joined #pypy.08:38
zain (~textual@cpe-68-173-70-124.nyc.res.rr.com) left irc: Quit: Computer has gone to sleep.08:45
fijal (~fijal@197.108.48.1) left irc: Read error: Connection reset by peer08:58
bivab (~david@fwstups.cs.uni-duesseldorf.de) joined #pypy.09:00
kenaan12bivab extradoc 11abf475e17259 15/sprintinfo/leysin-winter-2012/people.txt: Add myself09:02
Goron (~LC@h171.163.191.173.dynamic.ip.windstream.net) left irc: 09:04
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) left irc: Ping timeout: 240 seconds09:06
mikefci also posted a monstrously simple .ndim attribute patch on https://bugs.pypy.org/issue977 if anyone wants to commit it.09:17
antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) joined #pypy.09:17
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 240 seconds09:25
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.09:40
G2P (~G2P@fw-asn1.ornis.com) joined #pypy.09:42
fijal (~fijal@41.54.157.233) joined #pypy.09:45
Arach (~arach@128-75-128-45.broadband.corbina.ru) joined #pypy.09:45
fijalmikefc: hey09:47
CIA-5303fijal 07roundup * 10#977/numpypy ndim attribute (patch attached): [resolved] Applied in ac51513392d3, thanks! * 14https://bugs.pypy.org/issue97709:49
Nick change: espes -> bgespes09:50
kenaan12fijal default 11dfdc41ac371c 15/pypy/: minor simplifications and fixes that were laying around in my wc09:50
kenaan12fijal default 11ac51513392d3 15/pypy/module/micronumpy/: (mikefc) add an ndim attribute09:50
fijalapplied09:50
fijalthanks for the patch!09:50
mikefcnp09:51
Nick change: bgespes -> espes09:51
mikefcI also put a patch for numpypy.cross() on bugs.pypy.   But it's at applevel. And only currently works on 1D.  But it was in response to someone who needed it for something, so I thought "better something than nothing"09:51
fijalI'll look into having a more generic reduce functions on axes-based things09:52
fijal1D is the equivalent of sum, isn't it?09:52
mikefccross() is a cross-product and doesn't really iterate.09:53
fijalI'll look just after I'm done with whatever I promised to alex :)09:53
fijaluh09:53
fijalsorry09:53
fijalI read cumsum09:53
mikefccumsum is just the cumulative sum. which should possibly be one interp level line.09:54
mikefcmaybe a few more if we actually respect the 'axis' argument.09:54
fijalwe have 16 open branches for numpy, will take some time to cleanup :/09:54
fijalyes09:54
Action: mikefc goes branch browsing09:58
mattip (2e7457c3@gateway/web/freenode/ip.46.116.87.195) joined #pypy.09:58
fijalmattip: hi09:59
mattipfhi09:59
fijalmattip: did you implement numpy.cross on *some* branch?09:59
fijalno, that was numpy.dot right?09:59
mattipno, it's a patch mike sent to the list I think09:59
fijalmikefc: cross should be implemented on interp-level since otherwise the performance sucks09:59
fijalyou are iterating over vectors right?09:59
mikefcfijal: cross really doesn't iterate :)10:00
fijalwell, how it doesn't?10:00
fijalit reads all the values right?10:00
mikefcbut i guess interp level would be better, but I don't know how yet.10:00
lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) joined #pypy.10:01
fijallook how say dot is implemented10:01
lesshastehi fijal 10:01
mikefcdot just calls sum.10:01
fijallesshaste: hi10:01
lesshasteI got hold of laurie10:01
lesshasteturns out we knew each other quite well :)10:01
fijalright :)10:01
fijalmikefc: so no, not dot10:02
fijal_any or _all are good examples10:02
fijalmikefc: try first without a jit driver10:02
fijaland I'll explain how to add one later10:02
lesshastefijal: so... if I understand correctly... the steps to implement a new language are a) write a brilliant interpreter for it in rpython b) run that through pypy c) work out how to make it faster using the pypy jit10:03
mikefcok. thanks. looking now...10:03
fijalI'll also try to write some documentation maybe10:03
lesshasteis that a reasonable summary? :)10:03
fijallesshaste: "brilliant" as in?10:03
lesshastefijal: really good :)10:03
lesshastefijal: perfectly designed and wonderfully efficient10:03
fijaleh10:03
fijalthis is not how our python interpreter is written10:03
lesshasteah :)10:04
fijalit sacrificies performance for ease of implementation in a lot of places10:04
fijalwe hope to invent some magic later on :)10:04
lesshastedid you write anything about the design of your python interpreter?10:04
fijalyes10:04
fijalthere are old EU reports10:04
lesshasteI should read those10:04
fijaland docs about multimethods and objspaces10:04
fijalalthough I would recommend against using multimethods in hindsight :)10:04
fijalanyway, it's not optimized10:04
lesshasteI am at a really basic level. Do you have a special bytecode you invented for example?10:04
fijaland in fact, fast interpreter with clever tricks might not be a good jit target10:05
fijalno, we just reused the python one10:05
fijalit's not very relevant for the JIT10:05
lesshasteok that's interesting10:05
fijalso you invent bytecode whatever pleases you10:05
fijaland then write as-simple-as-possible interpreter10:06
fijalclever optimizations can be done later10:06
fijalanyway10:06
Action: fijal off for surf10:06
fijalI'll be back in 2-3h10:06
lesshasteI was reading http://norvig.com/lispy.html for inspiration10:06
lesshasteok bye10:06
lesshastefijal: reused the python bytecode?10:07
fijalyes, the cpython one10:08
lesshasteah10:09
mattipfijal: I'l try to catch you for code review in ~6 hours, if you're around and interested.10:09
mattipnumpy-axisops10:10
mattipnumpypy-repr-fix10:11
fijalmattip: yop10:11
fijalnumpypy-repr-fix looks good10:11
mattipOK, I will merge numpypy-repr-fix to default later, unless someone does it first. mikefc should get most of the credit10:13
forrestvwhat disadvantage is there to writing a pure-python version of numpy? what optimizations can compiling it do that the jit can't?10:19
mikefcmattip: your patch looks nothing like what i suggested :)10:20
mikefcforrestv: that is probably a question for fijal 10:20
Sinker (~thinker@218-167-101-106.dynamic.hinet.net) left irc: Remote host closed the connection10:21
mattipmikefc: my kids don't look like me either, but I always get the blame when they screw up.10:21
mikefcforrestv: fwiw, i think doing lots of it in purepython would get most things up and running pretty quickly.  Some of it can't be done in pure python because of the way the fast array class is written (i.e. at the level of the interpreter).  10:23
mikefcforrestv: I would be a fan of "mostly done pure python numpypy with rewrites for speed as needed"10:24
mikefcbecause I think more people need to see it as being complete-ish10:24
mikefcwhen we don't have a cross() function or an ndim attribute, i think people would worry that numpypy is mostly incomplete.10:25
mattip (2e7457c3@gateway/web/freenode/ip.46.116.87.195) left irc: Quit: Page closed10:26
mikefcwhereas mattip/fijal/etc are spending their time on getting the (very important!) guts working correct.10:26
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 240 seconds10:31
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.10:45
mvt (~mvantelli@87.213.45.85) joined #pypy.10:46
voidspace (voidspace@python/psf/voidspace) left #pypy.10:49
lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) left irc: Ping timeout: 240 seconds11:05
fijalforrestv: hey11:08
fijalforrestv: first of all, python does not have all the necessary types11:08
fijalthere is no int8 or int32 at python level11:08
fijalsecond, there is no way to express "a dense array of int32" at app level11:08
fijalthird, numpy gets a special JIT which compiles stuff down to assembler11:09
fijalso all numpy expressions are unrolled and compiled11:09
mikefcfijal: you should put all that in a FAQ11:10
forrestvah, okay, i wasn't thinking about of all of numpy's types11:10
mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy.11:11
fijalmikefc: yes, this is 17th on the list of things to do today11:11
mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host11:11
mfoord (~anonymous@python/psf/voidspace) joined #pypy.11:11
forrestvi guess you could emulate them... (a+b)%2**32 ...and theoretically the jit could detect that :P11:11
fijalyou can't for the storage11:13
fijaland C libraries require storage to be precise11:13
fijaletc.11:13
forrestvmm, thanks11:13
fijalanyway, numpy is close enough to bare metal that it makes sense11:14
fijalfor example implementing efficient numpy using SSE (somehow) does not sound like a good thing to do in python11:14
fijalnumpy is one of the very few libraries that allow that11:14
fijaler11:15
fijalthat need that11:15
kenaan12hakanardo jit-usable_retrace_2 1196d5bc2c492d 15/pypy/jit/metainterp/: Generalize a bit harder by killing intbounds and constants at end of bridges forcing retracing.11:16
kenaan12hakanardo jit-usable_retrace_2 118fc4e9a20794 15/pypy/jit/metainterp/test/test_send.py: fix test11:16
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/662 [12hakanardo, jit-usable_retrace_2]11:17
kenaan12fijal default 119a896c04e85a 15/pypy/module/micronumpy/: (mattip) merge numpy-repr-fix11:18
kenaan12fijal numpypy-repr-fix 11cef73b42fc52 15/: close merged branch11:18
mikefc"generalize harder"11:19
mikefci like that :)11:19
hakanardomikefc: our optimizer typically specializes as much as as it can just about everywhere11:22
hakanardohere I made it generalize again to make retracing more likely to succeed11:23
kenaan12hager ppc-jit-backend 112044da143a09 15/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py: fix broken offset in PPC64 direct bootstrap code11:25
kenaan12hager ppc-jit-backend 114da195ede6a6 15/pypy/jit/backend/ppc/ppcgen/opassembler.py: fix wrong guard condition in CALL_ASSEMBLER11:25
mikefchakanardo: "generalize harder" has a cool ring to it.  sounds like a 'Die Hard' movie :)11:31
hakanardo:)11:34
k_bx (~k_bx@195.20.130.1) joined #pypy.11:50
fijalmeh, writing hooks for the jit is hard :/11:53
nedbat (~nedbat@python/psf/nedbat) joined #pypy.11:58
witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy.12:01
kenaan12fijal better-jit-hooks 11ec5dfe7d9d1a 15/: merge default12:04
kenaan12fijal better-jit-hooks 117f549487e540 15/pypy/rlib/jit.py: remove unnecessary imports12:04
witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy.12:06
nlogax (nlogax@unaffiliated/nlogax) left #pypy ("WeeChat 0.3.6").12:07
fijaljit.py contains 775 LOC :/12:07
k_bxfijal: ping12:10
fijalk_bx: pong12:11
k_bxfijal: hi, I wanted to ask you about your unit-test tweet (about comment "also fix XXX" when writing integrational test).12:11
fijalyes?12:11
k_bxfijal: well, could you "tell little more" on that? From what I understood, you mean that when you do functional/integrational test and it fails, non-integrational tests (test of those units) should fail too. Or when you fix functional/integrational test, your unit-tests will fail just because semantic change or something. So why writing # XXX: also fix bla-bla-bla12:13
k_bxfijal: also I didn't understand what precicely you will write at "also fix bla-bla-bla" (what's instead of bla-bla-bla)12:13
fijalyes, sec12:17
k_bxfijal: offtopic: I wanted to open and read that tweet (to remember) and opened https://twitter.com/#!/fijal What can I say, you've changed your haircut? :)12:18
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/662 [12hakanardo, jit-usable_retrace_2]12:19
fijalheh :)12:19
fijal (~fijal@41.54.157.233) left irc: Read error: Connection reset by peer12:22
jacob22 (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) joined #pypy.12:23
lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) joined #pypy.12:25
fijal (~fijal@197.169.31.106) joined #pypy.12:34
fijalk_bx: ok, I can explain now12:34
fijalk_bx: the particular problem was that unit tests didn't get updated12:34
fijalso the piece of software was valid12:34
fijalbut the input was no longer the same12:34
fijalso it did not do the job12:34
kenaan12hager ppc-jit-backend 11997593f72e51 15/pypy/jit/backend/ppc/ppcgen/opassembler.py: fix another bug in CALL_ASSEMBLER12:36
derdon (~derdon@p5DE89A12.dip.t-dialin.net) joined #pypy.12:37
asmeurer (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) left irc: Quit: asmeurer12:41
kenaan12fijal better-jit-hooks 11a8dc9a3fd739 15/pypy/rlib/jit.py: work out the API12:43
squiddy (~squiddy@f053083118.adsl.alicedsl.de) joined #pypy.12:56
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 255 seconds12:57
nedbat_ (~nedbat@python/psf/nedbat) joined #pypy.13:01
cfbolz (~cfbolz@wlan.dagstuhl.de) joined #pypy.13:02
cfbolzhello13:02
fijalcfbolz: hi!13:02
fijalhow's the conference?13:02
cfbolzso far mostly peaceful13:03
cfbolzfijal: do you know where the pypy video processing demos are living?13:03
fijalis it a good or a bad thing?13:03
cfbolzfijal: a good thing13:03
kenaan12fijal better-jit-hooks 11f7c24c0067c5 15/pypy/jit/: progress - have some more information on on_abort hook, kill some unnecessary clutter13:03
kenaan12fijal better-jit-hooks 11fb9acc31d2e9 15/pypy/module/pypyjit/: adjust pypyjit module to use the new API13:03
fijalyes, iwtc1113:03
fijalor iwtc2011 in extradoc/talk/13:03
fijaland then demos/image or something13:03
fijalextradoc/talk/iwtc11/benchmarks/image13:04
fijalto be precise13:04
fijalcfbolz: I'm having fun with the JIT hooks13:04
fijalcfbolz: how cool would it be to be able to write an optimization at applevel?13:04
cfbolzfijal: sobel seems broken for me13:04
fijalwhat does it do?13:05
cfbolzthe output is black13:05
fijalworks for me13:05
cfbolzhmpf13:05
fijalplays a simple demo13:05
fijalare you doing sobel.py tv://13:06
hakanardothe mplayer hack used to display video does not work with to recent mplayers13:06
fijalor just sobel.py?13:06
cfbolzhakanardo: any way to fix that?13:06
hakanardoI have a diffrent hack somewhere...13:06
hakanardoor grab an older mplayer...13:06
cfbolzhakanardo: sounds like too much work13:07
hakanardoI should fix the demos I suppose...13:07
cfbolzhakanardo: would be cool, it's still the best demo for pypy we have13:09
cfbolzfijal: I think optimizations at applevel would be cool for prototyping13:10
fijalcfbolz: or demos :)13:10
fijalit would end up slightly more rigid than it is now13:10
antocunifijal: +1 for writing optimizations at applevel :-)13:11
fijalbut more importantly you would be able to check if optimization X is worth it13:11
fijalif you're careful about measurments at least13:11
fijalyou can even have a GUI where you move boxes "what happens if..."13:13
fijalanyway, I'm trying to do that13:13
Nick change: nedbat_ -> nedbat13:26
kenaan12hakanardo extradoc 118bce6bae2607 15/talk/iwtc11/benchmarks/image/io.py: adjust mplayer hack to also work with more modern mplayer13:28
hakanardocfbolz: it should work with newer mplayer now...13:29
cfbolzhakanardo: thnk you very much13:29
kenaan12hager ppc-jit-backend 11be5c3642001f 15/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py: (bivab, hager): make test_memoryerror pass, factor out return code13:29
kenaan12cfbolz extradoc 11806e6da58235 15/planning/jit.txt: this was done by the list-strategies branch13:30
kenaan12cfbolz extradoc 11f5f38f08d90d 15/talk/icooolps2011/talk/talk.tex: typo in talk slides13:30
kenaan12cfbolz extradoc 11a88377852aa3 15/: merge13:30
kenaan12hager ppc-jit-backend 110529ccad7c00 15/: merge13:41
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) joined #pypy.13:45
k_bxfijal: yes, so what you've ment is that unit-tests without functional/integration tests don't mean that anything work, it's truth. but I am interested in that comment about "XXX: fix ... when broken". Never saw something like that before :)13:45
mvt (mvantelli@87.213.45.85) left #pypy ("Leaving").13:53
kenaan12hager ppc-jit-backend 11d3d90edc432a 15/pypy/jit/backend/: changes due to merge14:03
lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) left irc: Ping timeout: 244 seconds14:08
mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord14:18
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds14:27
cfbolz (~cfbolz@wlan.dagstuhl.de) left irc: Ping timeout: 260 seconds14:32
Count_Niedar (~nnscript@ip68-231-248-182.hr.hr.cox.net) left irc: Read error: Connection reset by peer14:33
Niedar (~nnscript@ip68-231-248-182.hr.hr.cox.net) joined #pypy.14:34
__anish__ (anish@nat/redhat/x-xbtenkabncibjcum) left irc: Quit: Leaving14:36
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) joined #pypy.14:37
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) left irc: Quit: Konversation terminated!14:52
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) joined #pypy.14:54
cfbolz (~cfbolz@wlan.dagstuhl.de) joined #pypy.14:54
cfbolz (~cfbolz@wlan.dagstuhl.de) left irc: Client Quit14:54
whitelynx (~whitelynx@63.241.75.144) joined #pypy.14:59
aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy.15:04
mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy.15:23
mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host15:23
mfoord (~anonymous@python/psf/voidspace) joined #pypy.15:23
mfoord (~anonymous@python/psf/voidspace) left irc: Client Quit15:24
mfoord (~anonymous@python/psf/voidspace) joined #pypy.15:24
gutworth (~benjamin@64-131-9-52.usfamily.net) joined #pypy.15:24
Rhy0lite (dje@nat/ibm/x-gzcwiynioutnvpxf) joined #pypy.15:25
Rhy0litehi15:30
Rhy0litebivab: hi15:35
bivabRhy0lite: hi15:35
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Ping timeout: 244 seconds15:35
Rhy0liteI see some more progress on PPC64 backend15:35
Rhy0liteis Sven around?15:35
sven_hager (~sven@fwstups.cs.uni-duesseldorf.de) joined #pypy.15:37
bivabah, there he is15:37
sven_hagerhello15:37
Rhy0litehi, sven15:37
Rhy0liteI hope that both of you had a nice holiday15:38
Rhy0liteI see you made some more progress on the ppc64 backend for memoryerror15:38
sven_hageryep, thank you15:38
sven_hageryes, this morning all tests were passing15:38
sven_hagerthank you for your help15:39
Rhy0liteppc32 or ppc64?15:39
sven_hagerboth15:39
sven_hagercurrently, we are merging to the default branch15:39
Rhy0liteyou fixed test_assembler_call as well?15:40
sven_hageryes, there was a bug in the direct bootstrap code15:40
Alex_Gaynorfijal: pong15:40
sven_hagerbut it runs now15:40
sven_hagerunfortunately, currently nothing passes15:40
sven_hagerbecause of the merge15:40
Rhy0liteyeah15:40
Rhy0liteI just discovered that 15:41
sven_hagerbut we are working on it15:41
Rhy0liteokay15:41
Rhy0litelet me know if you need help15:41
sven_hagerok, thank you =)15:41
Rhy0litegreat work!15:41
sven_hagerafter the merge, we wanted to start with the implementation of floats15:41
Rhy0liteokay15:41
sven_hagerand in between, we will try do translate the RPython15:42
Rhy0liteMaciej mentioned that we should try running random15:42
Rhy0liteexactly, we can try a translation of a simple interpreter15:42
sven_hageryes, I agree15:42
Rhy0liteI improved the PPC64 call sequence slightly15:43
Rhy0liteto make it more efficient and match the intended style15:43
sven_hagerah ok15:43
furrykef (furrykef@ip68-12-180-167.ok.ok.cox.net) joined #pypy.15:44
Rhy0litebut there is some additional knowledge we can bring15:44
Rhy0litebecause all of the calls are heavy-weight15:44
sven_hagerI saw that you refactored many parts in the code which only worked on PPC3215:44
sven_hagerespecially calls15:45
sven_hagerwhat do you mean by heavy-weight ? 15:45
Rhy0liteThe PPC64 call is fairly expensive because it assumes that it will can call a function in another module15:45
Rhy0litewith a different base for addressibility15:45
Rhy0litewe can improve the ppc64 backend code by knowing which "calls" only will call other pypy code15:46
sven_hagerah ok15:46
Rhy0liteversus calls that will jump to external code15:46
sven_hagercan you give an example ? 15:46
Rhy0litelet's go to the pypy-ppc channel15:47
bivab (~david@fwstups.cs.uni-duesseldorf.de) left irc: Quit: bivab15:47
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Quit: Leaving15:50
furrykefUgh. Anybody want to help me make a 'pypy2exe'? I just made some changes to my assembler and now it runs slower with Psyco than without (too many closures, I guess), but it's still fast with PyPy...15:50
aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy.15:51
jacob22You should probably put your call for help on the mailing list. Some of the people who can help you are not paying attention to the IRC channel right now.15:59
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) left irc: Ping timeout: 240 seconds16:00
kenaan12hager ppc-jit-backend 1159f9ad63fcbc 15/pypy/jit/backend/ppc/ppcgen/test/test_stackframe.py: (edelsohn, hager): corrected diagram of stackframes16:06
lahwranfurrykef: dunno if you're on the pypy mailing list, but it's quite active16:15
lahwranyou're quite likely to get a response if you drop the list a line16:16
sven_hager (~sven@fwstups.cs.uni-duesseldorf.de) left irc: Quit: Leaving16:25
kenaan12hager ppc-jit-backend 11c0bb80a287e9 15/pypy/jit/backend/ppc/ppcgen/test/test_stackframe.py: fixed typo in diagram16:28
antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds16:29
EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) left irc: Ping timeout: 252 seconds16:31
k_bx (~k_bx@195.20.130.1) left irc: Remote host closed the connection16:35
kenaan12alex_gaynor default 111946d8c1d887 15/pypy/module/micronumpy/: small beautification16:36
andrewfr (~andrew@modemcable211.101-70-69.static.videotron.ca) joined #pypy.16:37
andrewfri have some questions about stm and setting up pypy with virtualenv16:38
__import__ (~import@python/builtins/import) joined #pypy.16:40
mattip (~chatzilla@bzq-79-176-117-44.red.bezeqint.net) joined #pypy.16:43
mattipfijal: feel like looking at numpypy-axisops?16:44
tilgovi (~randall@rrcs-184-74-190-214.nyc.biz.rr.com) joined #pypy.16:46
tilgovi (~randall@rrcs-184-74-190-214.nyc.biz.rr.com) left irc: Changing host16:47
tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy.16:47
lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) joined #pypy.16:53
rhiebert (~rhiebert@24.104.139.205) joined #pypy.16:54
JaRoel|4d (~jaroel|4d@office.fourdigits.nl) left irc: Remote host closed the connection16:58
lucian (~lucian@93-97-174-114.zone5.bethere.co.uk) left irc: Ping timeout: 276 seconds17:02
dmalcolm (~david@c-24-61-12-82.hsd1.ma.comcast.net) joined #pypy.17:07
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 240 seconds17:14
G2P (~G2P@fw-asn1.ornis.com) left irc: Quit: Leaving.17:15
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) joined #pypy.17:17
rhiebert (~rhiebert@24.104.139.205) left irc: Remote host closed the connection17:19
fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy.17:21
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy.17:22
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.17:29
fprimex (~fprimex@brent-macbook.sc.fsu.edu) joined #pypy.17:32
`fox` (~fox@host142-107-dynamic.45-79-r.retail.telecomitalia.it) joined #pypy.17:33
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Remote host closed the connection17:39
Nick change: mfoord -> voidspace17:41
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 252 seconds17:49
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.17:52
kkris (~kris@93-82-39-94.adsl.highway.telekom.at) joined #pypy.17:58
andrewfr (~andrew@modemcable211.101-70-69.static.videotron.ca) left irc: Quit: Leaving.17:58
antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) joined #pypy.18:04
Goron (~LC@h171.163.191.173.dynamic.ip.windstream.net) joined #pypy.18:09
lahwranhttp://speed.pypy.org/changes/18:14
lahwranwait, what18:14
lahwrana fixed test and updated copyright years caused changes in performance? ._.18:14
Alex_Gaynornoise18:14
lahwran..right18:14
etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum18:15
yati (~chatzilla@122.163.20.161) joined #pypy.18:21
fijal (~fijal@197.169.31.106) left irc: Read error: Connection reset by peer18:22
furrykefMost of those involve times so small I imagine it's difficult to measure them reliably.18:22
lahwranright18:22
yatiHi! can I find a high level architecture of PyPy? I'd like to know more about the internals. Where do I start?(I know the sources are the best bet, but a gentler, more abstract intro could help:))18:26
ojii (~ojii@50-57-189-190.static.cloud-ips.com) left irc: Quit: ZNC - http://znc.sourceforge.net18:26
ojii (~ojii@50-57-189-190.static.cloud-ips.com) joined #pypy.18:27
antocuniyati: http://doc.pypy.org/en/latest/index.html18:28
antocuniin particular, the "Project documentation" section down in the page18:28
yatioooh lala! exactly what I wanted! thanks a ton antocuni !!18:29
fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) left irc: Quit: fzzzy18:30
EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) joined #pypy.18:31
voidspace (~anonymous@python/psf/voidspace) left irc: Quit: voidspace18:33
ericflo (~ericflo@75.103.8.110) joined #pypy.18:38
`fox` (~fox@host142-107-dynamic.45-79-r.retail.telecomitalia.it) left irc: Ping timeout: 240 seconds18:39
mwhudson (~mwh@249.184.225.49.dyn.cust.vf.net.nz) joined #pypy.18:41
mwhudson (~mwh@249.184.225.49.dyn.cust.vf.net.nz) left irc: Changing host18:41
mwhudson (~mwh@linaro/mwhudson) joined #pypy.18:41
fzzzy (~donovan@nat/mozilla/x-mipslegvshgfteqw) joined #pypy.18:49
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy.18:51
etrepum (~bob@accessnat4.mochimedia.net) joined #pypy.18:51
ssbr (~ssbr@python/site-packages/ssbr) left irc: Ping timeout: 268 seconds18:51
mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 240 seconds18:57
lesshastehere is a dumb question but.. when implementing a new language what is the disadvantage of writing the interpreter in python (and using pypy to run it) rather than rpython?19:03
EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) left irc: Ping timeout: 260 seconds19:03
ssbr (~ssbr@python/site-packages/ssbr) joined #pypy.19:03
exarkunit's easier19:04
mwhudson (~mwh@linaro/mwhudson) joined #pypy.19:04
lesshasteisn't it easier to write an interpreter in python than rpython?19:04
rguillebertlesshaste, you can't get a JIT and it's slower19:04
bfirsh (u1308@gateway/web/irccloud.com/x-uzjlpwgwmvgoxzwq) left irc: Remote host closed the connection19:04
hongminhee (u295@gateway/web/irccloud.com/x-muooeydowgqwbonx) left irc: Remote host closed the connection19:04
oal (u4126@gateway/web/irccloud.com/x-kqltsiarqlcvmgev) left irc: Remote host closed the connection19:04
alexsuraci (u1962@gateway/web/irccloud.com/x-tjiivangckhudhak) left irc: Remote host closed the connection19:04
lesshasterguillebert: sounds like a good answer :)19:05
lesshasterguillebert: so pypy would be the jit for python... but I take your point that it would be slower19:05
lesshasteI am just trying to understand the route for implementing a non-python language using pypy19:06
rguillebertyou can run PyPy on top of PyPy (or CPython) and you will see the advantage of translating :)19:06
lesshasterguillebert: ok.. so next question.. could one compile python to rpython ?19:07
rguillebertno19:08
lesshasteI am trying to avoid writing an interpreter in rpython :)19:08
lesshasterguillebert: how come?19:08
rguillebertrpython is a subset of python19:08
lesshasterguillebert: sure..you can compile C to assembly :)19:08
lesshastebut I was hoping it might be easier to compile python to rpython than that19:08
Rhy0literguillebert: I think he means translate19:08
lesshasteI do19:08
Rhy0liteand emulate the features that rpython does not directly support19:09
Rhy0litealthough I'm not sure of the advantage he hopes to achieve19:09
lesshasteRhy0lite: I want to make it easier to implement new languages19:09
lesshastewriting an interpreter in python is quite easy19:09
lesshasteit's not clear to me how easy it is in rpython19:09
rguillebertlesshaste, can you compile Python code to C with the speed of C ?19:09
Rhy0litewe haven't found RPyhon to be overly constraining19:10
rguillebert(the answer is no)19:10
lesshasterguillebert: of course not :) I was hoping rpython might be an easier fit19:10
lesshasteRhy0lite: ok.. in case it's interesting. I would like to have a go at R19:10
lesshasteand putting that into the pypy framework19:10
rguillebertrpython is python code minus stuff that can't be statically compiled efficiently19:10
Rhy0litelesshaste: and remember that you can write Python -- sort of19:11
Rhy0litein the sense that you can write Python that generates RPython that is translated19:11
alexsuraci (u1962@gateway/web/irccloud.com/x-mlfztzslyrlfzbko) joined #pypy.19:11
Rhy0liteyou can meta-program19:11
Rhy0litefor some features19:11
lesshastesure19:11
lesshasteok .. another question19:11
lesshasteR has about 700 "primitive functions"19:11
hongminhee (u295@gateway/web/irccloud.com/x-mfozvlkzreawkyvp) joined #pypy.19:11
lesshastethere will be written in C and perfectly fast19:11
lesshastemight it be possible to use the existing C rather than reimplement them in rpython?19:12
lesshastes/there/these19:12
exarkunPyPy can't JIT through code in C19:12
lesshasteI think I saw something along these lines to do with scipy19:12
lesshasteon the blog19:12
exarkunSure, there's severalw ays.19:12
exarkunYou might as well write in Python and use ctypes, though.19:13
lesshastethis would be great and would even make the project plausible to do19:13
lesshasteexarkun: well I would like to avoid implementing all 700 functions19:13
lesshastemaybe I didn't understand " write in Python and use ctypes"19:14
rguillebertyou can use rffi to call C code in rpython but you don't get the JIT19:14
rguillebert(you can implement some of them in rpython)19:14
exarkunlesshaste: you know what "write in Python" means right?  and you know what ctypes is?19:15
lesshasteexarkun: yes :)19:15
exarkunthen I think you understand.19:15
bfirsh (u1308@gateway/web/irccloud.com/x-qgqdwwoyjivsucqk) joined #pypy.19:16
oal (u4126@gateway/web/irccloud.com/x-icsmsdfcxuezfibg) joined #pypy.19:17
lesshastewhen you say you don't get the JIT19:20
lesshastedo you mean that the JIT doesn't work for any of the code or it just doesn't speed up the part written in C?19:20
lesshasteexarkun: what I didn't understand was that the aim is to have a faster R implementation19:21
lesshasteexarkun: how could you write in Python and use ctypes to acheive that?19:22
lesshasteachieve19:22
lesshastesorry I am new to this.. as you can see19:22
exarkunlesshaste: You can't.  That's the point.  That's what "you might as well" means - it'll be just as slow whether you use Python/ctypes or crazy scipy embedded C hacks.19:23
exarkunrffi is somewhat faster than ctypes, but you still lose the JIT if you go through external arbitrary C APIs, so it's still not going to be as fast as you want.19:24
fijal (~fijal@197.104.28.197) joined #pypy.19:24
timotimowhat keeps pypy from tracing the machine code of the functions that are externally called and optimise out branching and other things? :)19:25
timotimoafter all, x86 is just another kind of bytecode, although a seriously fucked up kind of bytecode19:25
exarkuntimotimo: The lack of a virtual x86 implementation, I guess.19:26
timotimoOK, that's a seriously huge hurdle. x86 is big and ugly :\19:26
lesshasteexarkun: I don't understand why you lose the JIT completely19:27
exarkunlesshaste: You don't lose it completely.19:27
lesshasteexarkun: to be more precise.. I don't understand why you *have to* lose the JIT completely19:27
lesshasteexarkun: oh...19:27
exarkunThe JIT will still work for any code that doesn't use _any_ of the external functions you're talking about.19:27
exarkunIt didn't sound like you cared about such code though.19:27
lesshasteexarkun: ok let me try to understand.. say I have a simple piece code with a loop that uses nothign external and a loop that does19:28
lesshasteexarkun: why can't the first loop be jitted?19:28
Alex_Gaynorboth loops are jit'd19:28
Alex_Gaynorhowever you can't trace through an external call19:28
Alex_Gaynorso it can't be optimized with the rest of the code19:28
lesshasteAlex_Gaynor: ok so the rest of the code will be optimised? Just not the external call part? And if so, what is a part?19:29
lesshasteAlex_Gaynor: also, could an external call just be regarded as an atomic operation like any other that rpython has?19:29
lesshasteAlex_Gaynor: err.. I see the problem with that suggestion.. :(19:30
lesshastebut do you see what I mean? I was hoping an external call would just be a black box that the jit can't understand and just ignores for the purposes of optimsation19:31
lesshastethereby still optimising everything that isn't an external call in the same piece of code19:31
Alex_Gaynorit is a black box19:31
Alex_Gaynorbut it's not ignored19:31
Alex_Gaynorit's basically assumed to be able to mutate any non-GC memory19:31
exarkunit's a black box filled with poison19:31
Alex_Gaynorbasically :)19:31
lesshastemy point being that you don't want to optimise the external call most likely as they are already fast19:32
rekamso (~textual@67.51.82.66) joined #pypy.19:32
lesshasteoh... re: poison19:32
lesshasteI am naively thinking of external calls that are functions with no side effects19:33
lesshastewhich is the only case I care about here19:33
exarkunlesshaste: What makes you think calling one of these functions doesn't change the values stored in some registers?19:33
lesshasteexarkun: ok so I get that.. so a wrapper that restores the state would be needed?19:34
lesshasteexarkun: I mean saves it before the call and restores it after19:34
exarkunlesshaste: There is such a wrapper already, in rffi.19:35
lesshasteok.. then why doesn't the rest of the code get optimised :)19:35
lesshaste?19:35
Alex_Gaynorthe rest of the code is optimized, as I've said.19:35
exarkunsaving and restoring registers isn't free19:35
lesshasteoh!19:35
exarkunthe wrapper has a cost19:35
lesshasteok19:35
exarkuna cost you'd probably avoid if you were calling an equivalent rpython function 19:36
exarkunnot to mention the savings of inlining19:36
exarkunand whatever other cool stuff the jit does that I have no idea about19:36
lesshasteok thanks19:36
lesshasteso I think I get it now.. basically rffi implements a simple method to allow the jit to do it's work but has some cost19:37
lesshastes/it's/its19:37
lesshasteso this is a possible first step for implementing R19:37
Alex_Gaynorwell, it depends entirely on what R's APIs look like19:37
lesshastethen you have to weigh up the theoretical speedup from moving entirely to rpython against the possibility of some amazingly optimised C code one can't compete with 19:37
lesshastehttp://code.google.com/p/renjin/wiki/TOC is my resource for this19:38
exarkunlesshaste: the real, _known_ cost of an external call vs the hypothetical, _unknown_ cost of not using the super-genius C implementation of the R APIs19:39
lesshasteright19:39
exarkunin my experience, most super-genius C isn't all that fast19:39
lesshasteor correct :)19:40
exarkunI don't know anything about R specifically though.19:40
lesshasteit's not so much that I believe their C code will be so fast really19:40
lesshasteit's more trying to make a project that can deliver something19:41
lesshasteand then be improvable19:41
lesshastewith limited manpower19:41
lesshasteand it would be nice to support all existing R code quickly19:42
lesshasteand then speed things up piecemeal19:42
mattipfijal: ping19:43
lesshastea virtual x86 implementation in rpython?19:43
lesshastewas that suggested? :)19:43
ronnylesshaste: i dont think that would be sensible and sane in any way19:44
lesshasteno.. mostly because you then have to simulate hardware too I assume19:45
ronnylesshaste: orderes of magnitudes of speed degraions are to be expected19:45
ronny+d19:45
lesshasteright19:45
lesshasteI was looking at http://bellard.org/jslinux/tech.html19:46
lesshastethanks everyone for your help19:50
mimi (~mimi@97-88-28-179.dhcp.roch.mn.charter.com) left irc: Ping timeout: 260 seconds19:52
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) left irc: Ping timeout: 240 seconds19:52
moreati (~alex@5ad0d588.bb.sky.com) joined #pypy.19:53
Shanita (~John@osbk-4db155a1.pool.mediaWays.net) left irc: Remote host closed the connection19:55
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 276 seconds19:58
Kaskuka (~John@osbk-4db155a1.pool.mediaWays.net) joined #pypy.20:02
lesshasteI suppose you don't strictly need to save the state20:03
lesshasteyou can just write something known but that probably is terrible for optimisation20:03
lesshastemaybe :)20:03
mimi (~mimi@97-88-28-179.dhcp.roch.mn.charter.com) joined #pypy.20:03
mtigas (~mtigas@users.spokesman.com) joined #pypy.20:04
yati (chatzilla@122.163.20.161) left #pypy.20:06
etrepum (~bob@accessnat4.mochimedia.net) left irc: Remote host closed the connection20:12
etrepum (~bob@accessnat4.mochimedia.net) joined #pypy.20:12
fijalmattip: pongish20:19
lahwran<lvh> lahwran: try this expression: (lambda: None).func_globals["__builtins__"].__import__("new").function((lambda: None).func_globals["__builtins__"].__import__("new").code(0, 5, 8, 0, "KABOOM", (), (),(), "", "", 0, ""), {})()20:20
lahwran<lvh> lahwran: That throws an exception in the untranslated interpreter20:21
lahwranthat have anything to do with the JIT?20:21
fijaluntranslated interpreter has no JIT20:21
lahwranI mean the expression. supposedly causes a segfault on translated pypy20:21
fijalit's entirely possible20:21
fijalit segfaults CPython as well20:22
lahwranhe was giving it to me as a reason not to trust the sandbox20:22
fijalit won't segfault the sandbox20:22
lahwranhowever, it crashes the sandbox with a rpython exception, not a segfault20:22
fijalsandbox have extra things compiled in20:23
fijalthis is very likely say null-reference20:23
fijalwhich is not really exploitable20:23
fijallahwran: tell lvh we thought harder about sandbox20:23
fijalwhich channel btw?20:24
lahwran#python20:24
Alex_Gaynorfijal: you ping'd earlier?20:25
fijalAlex_Gaynor: yeah20:25
fijalAlex_Gaynor: I'm playing with jit hooks20:25
Alex_Gaynorfijal: cool, I'm modeling stuff for the database20:25
mattipfijal: numpypy-axisops ?20:33
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) left irc: Ping timeout: 240 seconds20:34
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) joined #pypy.20:35
antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds20:38
lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) joined #pypy.20:41
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Quit: Computer has gone to sleep.20:54
fijalmattip: yes20:57
mattipso I created a Reduce class along the lines of Call1 in interp_numarray20:59
mattipand promoted AxisIterator to a fully functional iterator20:59
mattipand added default arguments for axis to reduce calls (sum, prod, max, min)21:00
Rhy0lite (dje@nat/ibm/x-gzcwiynioutnvpxf) left irc: Quit: Leaving21:00
mattipAlong the way, I sorted out some problems with the way sum() promotes /doesn't promote to float21:01
furrykef (furrykef@ip68-12-180-167.ok.ok.cox.net) left #pypy.21:02
christophler[5~21:02
mattipI tried to write tests for it all. That pretty much sums up the intention. 21:02
fijalmattip: did you check the coverage by chance?21:02
mattipuhh, some kind of --coverage to pytest.py?21:03
mattipNo.21:03
fijalyeah21:04
fijal--cov-report=html --cov=.21:04
fijalor so21:04
Action: mattip trying it21:05
fprimex (~fprimex@brent-macbook.sc.fsu.edu) left irc: Quit: http://www.fprimex.com21:17
mikefcAlex_Gaynor:  "small beatification":   +        # numpy actually raises an AttributeError, but numpypy raises an21:17
mikefc+        # AttributeError21:17
gutworth (~benjamin@64-131-9-52.usfamily.net) left irc: Ping timeout: 252 seconds21:18
Alex_Gaynor80 char lines21:18
mikefcnumpypy actually raises a typeerror (as seen in the raise()21:18
Alex_Gaynoreh, I didn't mean to change that21:18
mikefcyou didn't21:18
mikefci must've written a shit comment21:18
mikefcoriginally21:18
Da_Blitz (~Da_Blitz@203.56.250.63) left irc: Ping timeout: 260 seconds21:18
fijalmattip: if you want to help, can you merge default and resolve conflicts?21:19
lahwrancan pypy be compiled for ARM?21:19
fijalthey're trivial21:19
kenaan12alex_gaynor default 11ece227c225ab 15/pypy/module/micronumpy/test/test_numarray.py: fix comment21:19
fijallahwran: almost21:19
fijallahwran: the JIT21:19
lahwranjust curious about running it on android21:19
lahwranmost android phones run on ARM :P21:20
mattipOK, I'll merge, check coverage, and get back tomorrow or so. Bed time.21:21
mattip (chatzilla@bzq-79-176-117-44.red.bezeqint.net) left #pypy.21:21
fijalmattip: ok21:22
CIA-5303ltratt 07roundup * 10#978/metainterp bug: 21:25
CIA-53[new] With the latest Converge RPython VM, it's possible to trigger this assertion in21:25
CIA-53the JIT:21:25
CIA-53RPython traceback:21:25
CIA-53File "jit_metainterp_ ... * 14https://bugs.pypy.org/issue97821:25
kkris (~kris@93-82-39-94.adsl.highway.telekom.at) left irc: Quit: Leaving.21:28
lucian (~lucian@cpc1-newc15-2-0-cust84.gate.cable.virginmedia.com) left irc: Ping timeout: 240 seconds21:31
lesshastelahwran: is there even a fully working python for android yet?21:36
lahwranyes21:36
lesshastelahwran: I thought it was something non-compatibale21:36
lahwranhas been for more than a year21:36
lesshasteI must be wrong :)21:36
lahwransl4a21:36
lahwranbeen dead for ages21:36
lesshasteok.. does the new stuff support numpy etc?21:36
lahwranbut it did produce a functional python21:36
lahwranon android? doubtful21:37
lahwrannumpy would have to be compiled for it21:37
lesshasteoh.. so what is there?21:37
lahwranthe standard cpython library21:37
lesshastedo you mean http://code.google.com/p/python-for-android/ ?21:37
lahwranuh, no, actually21:38
lesshastedo you have link for what you have in mind?21:38
lahwranhttp://code.google.com/p/android-scripting/21:38
lesshastethe link I gave works with s4la :)21:39
lesshastesl4a21:39
lesshasteso what has been " dead for ages" ?21:40
lesshastehttp://stackoverflow.com/questions/3346970/starting-with-android-java-or-python-sl4a is pretty negative about it 21:42
Action: lesshaste is OT.. sorry21:42
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds21:43
fijallesshaste: it's fine, nothing else happens here right now21:44
lesshaste:)21:44
fijallahwran: pypy's story on mobile devices is not great21:44
fijalI would not put any effort into that *right now*21:44
lesshastein that case.. perhaps I can ask an interpreter question21:44
fijalthere are ideas, but personally I'm trying to focus on one thing21:44
fijallesshaste: yes?21:44
lesshasteI will eventually be writing an interpreter for R21:44
gutworth (~benjamin@64-131-9-52.usfamily.net) joined #pypy.21:44
lesshasteis there some reason to invent a bytecode?21:44
lesshastewhat advantage does that give?21:45
CIA-5303mattip 07roundup * 10#964/numpypy.zeros([]) returns wrong result: [resolved] changeset merged to default. * 14https://bugs.pypy.org/issue96421:45
lesshastethis is for pypy of course :)21:45
fijalover say directly interpreting AST?21:45
lesshasteright21:45
gutworthbytecode is usually faster21:46
fijalgutworth: is it?21:46
fijal[citation needed]21:46
gutworth[mri]21:46
lesshastehttp://en.wikipedia.org/wiki/Interpreter_%28computing%29#cite_note-4 21:46
lesshaste:)21:46
fijallesshaste: sometimes it makes sense, because you work on a different level21:47
fijalbut it should be mostly irrelevant in the case of JIT21:47
lesshasteok thanks21:47
lahwranfijal: I figured as much21:48
Alex_Gaynor"For example, for the block { x++; }, the interpreter would first visit the block node {&}, which did nothing"21:48
Alex_Gaynorgrumble21:48
fijallesshaste: yeah, don't worry about that21:49
fijallesshaste: from my experience changing JS interpreter from AST to bytecode did nothing special21:49
fijalexcept you sometimes can map stuff better because you have an extra layer21:50
fijalbut that's about it21:50
fijalit certainly did not improve performance (those were pre-jit days)21:50
etrepum (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 244 seconds21:50
mikefcgiven i have w_a, w_b and w_c (which are ndarrays) how do I write: c[0] = a[1]*b[2] - a[2]*b[1]21:53
Action: mikefc hasn't been able to find anything to cheat off in interp_numarray21:54
mattip (~chatzilla@bzq-79-176-117-44.red.bezeqint.net) joined #pypy.21:54
fijalmikefc: oh, does it work only on 2-element 1-d arrays?21:56
Nick change: ivan -> Vladimir_K21:56
fijaloh sorry21:57
fijalmikefc: it can be clearly implemented at applevel :/21:57
mikefc2 or 3 element 1d arrays. as well as  N*3 and N*2 arrays.21:57
mikefcoh21:57
Alex_GaynorFYI numpy.cross is pure python21:57
fijalwhat does N*3 and N*2 arrays do?21:57
Alex_Gaynor(if that's what you're working on)21:58
fijalif so then we should just copy21:58
fijaland not reimplement such stuff21:58
mikefcAlex_Gaynor: i know. I stole it from numpy21:58
Alex_Gaynorso we don't need to reimplement it, just reuse it21:58
mikefcand commented out the higher dimensions stuff that needs .swapaxes()21:58
fijalcan we just introduce lib_pypy/numpy and pull whatever is there?21:59
mikefcfijal: if it's a (say) 4x3 array, it will just calculate 4 1d cross products.21:59
fijalrename micronumpy to _numpypy21:59
mikefcit would be great if we could just 'steal' all that applevel stuff21:59
fijalyes21:59
fijalAlex_Gaynor: feel like doing something with gzip-benchmark pull request?22:00
Alex_Gaynorfijal: uh, it's fine, except no one ever resolved the issue of "if /tmp isn't memory mapped it's file system dependent"22:01
fijaluh ok22:01
fijalso well, close it if noone is willing to?22:01
Alex_Gaynorfijal: well, I'd rather merge it and have it be a bit noisy than close it22:02
Alex_GaynorI don't even know if the tarfile module supports memory files22:02
fijalok22:02
fijaldo it the n:)22:02
kenaan12jonashaag benchmarks 11783f9a3c79e7 15/own/bm_gzip.py: Added GZip benchmark22:03
Alex_Gaynorfijal: ok, you'll have to do whatever setup on teh server22:03
Alex_Gaynorfijal: pff, any objection to unrolling ll_mul (on rlist) if isconstant(len(l)) and isconstant(factor)?22:04
kenaan12mattip numpypy-axisops 1120bacb9bb86a 15/: merge with default22:04
mattipfijal: How do I show you my pretty html pages of coverage?22:05
Alex_Gaynormattip: no need to show it to us, just review it to make sure there aren't missing tests22:05
squiddy (~squiddy@f053083118.adsl.alicedsl.de) left irc: Quit: Leaving22:07
fijalno22:11
gutworth (~benjamin@64-131-9-52.usfamily.net) left irc: Ping timeout: 252 seconds22:16
mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 252 seconds22:16
gutworth (~benjamin@64-131-9-52.usfamily.net) joined #pypy.22:16
lesshasteIf only I knew how they got bbc basic to be so damned fast :)22:17
lesshastewhich was interpreted if I recall correctly22:17
mwhudson (~mwh@linaro/mwhudson) joined #pypy.22:18
mattip (~chatzilla@bzq-79-176-117-44.red.bezeqint.net) left irc: Ping timeout: 252 seconds22:18
rekamsois pypy completely lacking SSL support?22:22
Nick change: Vladimir_K -> ivan22:22
Alex_Gaynorimport ssl works22:23
Alex_Gaynorso I'd say no22:23
rekamsomust be specific to twisted22:29
mattip (~chatzilla@bzq-79-176-117-44.red.bezeqint.net) joined #pypy.22:30
gutworthyes, twisted needs pyopenssl22:31
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) joined #pypy.22:39
EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) joined #pypy.22:39
gtaylor (~gtaylor@108-196-160-156.lightspeed.tukrga.sbcglobal.net) left irc: Quit: Konversation terminated!22:40
fijalrekamso: pyopenssl should work with a nightly22:41
rekamsoI'll try it out :o22:41
kenaan12mattip numpypy-axisops 116c64bd2290f9 15/pypy/module/micronumpy/test/test_numarray.py: add test to cover no identity value in reduce22:45
mattipfijal: coverge seems OK except for line 23 here http://paste.pocoo.org/show/529555 22:48
mattipwhich I think predates my changes.22:48
Alex_Gaynormattip: yes, it does22:48
Alex_Gaynorfijal: promised me he'd add tests for it, but never did ;)22:48
fijalbad fijal no cookie22:50
Da_Blitz (~Da_Blitz@203.56.250.63) joined #pypy.22:54
Goron (~LC@h171.163.191.173.dynamic.ip.windstream.net) left irc: Ping timeout: 252 seconds22:57
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/19323:00
bbot2Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/76523:00
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/100223:00
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/2123:00
etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy.23:01
tilgovi (~randall@couchdb/developer/tilgovi) left irc: Ping timeout: 252 seconds23:02
asmeurer (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) joined #pypy.23:02
kenaan12fijal pypy.org[extradoc] 110236eec67b94 15/: update individual donations23:06
kenaan12fijal pypy.org[extradoc] 11ce65b7d4c181 15/: merge23:06
mattipuhh, I think that code can never be reached, at least not with the current logic.23:06
fijalkillit23:07
mattipThe chunks arg is only used if res_shape is different than self.shape23:07
mattipBut then array_sig in BaseArray will return a ViewSignature, not an ArraySignature.23:08
mattipahh, by killit you mean killit. I need to read while I write :)23:09
kenaan12mattip numpypy-axisops 11e27a9330285a 15/pypy/module/micronumpy/: kill dead code, with an assert and a comment23:12
mattipg'night23:12
mattip (~chatzilla@bzq-79-176-117-44.red.bezeqint.net) left irc: Quit: ChatZilla 0.9.88 [Firefox 8.0/20111115183158]23:13
ssbr (~ssbr@python/site-packages/ssbr) left irc: Read error: Connection reset by peer23:18
mtigas (~mtigas@users.spokesman.com) left irc: Quit: mtigas23:21
whitelynx (~whitelynx@63.241.75.144) left irc: Quit: Ex-Chat23:22
fzzzy (~donovan@nat/mozilla/x-mipslegvshgfteqw) left irc: Quit: fzzzy23:23
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) joined #pypy.23:25
kennethreitz (~kennethre@static-71-166-241-209.washdc.east.verizon.net) joined #pypy.23:33
stakkars_ (~tismer@p5DDB7A14.dip.t-dialin.net) joined #pypy.23:38
stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) left irc: Read error: Connection reset by peer23:38
Nick change: stakkars_ -> stakkars23:38
fzzzy (~donovan@76-198-130-19.lightspeed.mtvwca.sbcglobal.net) joined #pypy.23:39
antocuni (~antocuni@host117-71-dynamic.58-82-r.retail.telecomitalia.it) joined #pypy.23:42
JaRoel|4d (~jaroel|4d@sink.jaroel.nl) left irc: Remote host closed the connection23:46
asmeurer (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) left irc: Quit: asmeurer23:52
--- Wed Jan 4 201200:00

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