#pypy IRC log for Thursday, 2010-08-05

qbproger (~qbproger@251.229.102.97.cfl.res.rr.com) joined #pypy.00:14
Scriptor (~Scriptor@pool-98-117-19-57.hrbgpa.fios.verizon.net) joined #pypy.00:18
Scriptor (~Scriptor@pool-98-117-19-57.hrbgpa.fios.verizon.net) left irc: Quit: Scriptor00:29
Trundle (~andy@p5B14D2AA.dip.t-dialin.net) left irc: Remote host closed the connection00:44
Scriptor (~Scriptor@pool-98-117-19-57.hrbgpa.fios.verizon.net) joined #pypy.01:00
tlynn (~tlynn@82.6.96.85) left irc: Ping timeout: 265 seconds01:13
derfel (~derfel@host190-70-dynamic.0-87-r.retail.telecomitalia.it) left irc: Ping timeout: 265 seconds01:31
dialtone (~dialtone@unaffiliated/dialtone) left irc: Quit: leaving01:35
elventear (znc@ungoliant.antropoide.net) left irc: Quit: !@#$*$ NO CARRIER02:00
WildChild (~wildchild@modemcable152.12-179-173.mc.videotron.ca) left irc: Read error: Connection reset by peer02:00
WildChild (~wildchild@modemcable152.12-179-173.mc.videotron.ca) joined #pypy.02:00
qbproger (~qbproger@251.229.102.97.cfl.res.rr.com) left irc: Quit: Leaving02:07
ivan (~ivan@unaffiliated/ivan/x-000001) left irc: Quit: Coyote finally caught me02:29
ivan (~ivan@unaffiliated/ivan/x-000001) joined #pypy.02:32
verte (~verte@120.153.91.212) joined #pypy.03:04
nettok (~quassel@200.119.158.205) joined #pypy.03:42
dialtone (~dialtone@c-67-180-50-184.hsd1.ca.comcast.net) joined #pypy.04:17
dialtone (~dialtone@c-67-180-50-184.hsd1.ca.comcast.net) left irc: Changing host04:17
dialtone (~dialtone@unaffiliated/dialtone) joined #pypy.04:17
dialtone (~dialtone@unaffiliated/dialtone) left irc: Quit: leaving04:55
elventear (znc@ungoliant.antropoide.net) joined #pypy.05:20
Scriptor (~Scriptor@pool-98-117-19-57.hrbgpa.fios.verizon.net) left irc: Quit: Scriptor05:39
derfel (~derfel@host190-70-dynamic.0-87-r.retail.telecomitalia.it) joined #pypy.05:42
cwillu (~cwillu@cwillu.com) left irc: Remote host closed the connection05:50
cwillu (~cwillu@cwillu.com) joined #pypy.05:50
asabil (~asabil@237.211.16.62.customer.cdi.no) joined #pypy.05:53
nettok (~quassel@200.119.158.205) left irc: Ping timeout: 276 seconds05:58
nettok (~quassel@200.119.161.162) joined #pypy.06:01
hikoz (~hikoz@27.183.244.43.ap.yournet.ne.jp) joined #pypy.06:03
Nick change: hygienetone -> chesttone06:05
Scriptor (~Scriptor@pool-98-117-19-57.hrbgpa.fios.verizon.net) joined #pypy.06:10
Action: forrestv woot06:34
vertechesttone: rename success06:34
Nick change: chesttone -> successtone06:34
panni_ (hannes@ip-95-222-52-93.unitymediagroup.de) left irc: Quit: ( www.nnscript.de :: NoNameScript 3.81 :: www.XLhost.de )06:40
nettok (~quassel@200.119.161.162) left irc: Remote host closed the connection06:58
asabil (~asabil@237.211.16.62.customer.cdi.no) left irc: Ping timeout: 252 seconds07:09
mvt (~mvt@87.213.45.85) joined #pypy.07:12
fijal (~fijal@41-134-41-226.dsl.mweb.co.za) joined #pypy.07:12
Hodgestar (~Hodge@41-134-41-226.dsl.mweb.co.za) joined #pypy.07:14
jkwon (~jae@70-36-140-121.dsl.dynamic.sonic.net) joined #pypy.07:20
jkwonhello real people07:20
verte-deafening silence-07:20
jkwon:)07:21
jkwonwhat does LL mean in LLTypeSystem?07:21
jkwonlow-level?07:21
jkwonah seems right. llvm = low level vm.07:22
verteyes07:23
verteit's the type system used when interacting with platforms with pointers and structs rather than methods and classes07:23
jkwonah07:25
fijal (~fijal@41-134-41-226.dsl.mweb.co.za) left irc: Ping timeout: 240 seconds07:27
antocuni (~antocuni@host135-47-dynamic.116-80-r.retail.telecomitalia.it) joined #pypy.07:43
fijal (~fijal@41-134-41-226.dsl.mweb.co.za) joined #pypy.07:44
Ademan (~dan@adsl-75-61-234-71.dsl.pltn13.sbcglobal.net) joined #pypy.07:44
Hodgestar (~Hodge@41-134-41-226.dsl.mweb.co.za) left irc: Remote host closed the connection07:45
Hodgestar (~Hodge@41-134-41-226.dsl.mweb.co.za) joined #pypy.07:48
magciusjkwon: LLTypeSystem and LLVM don't have anything to do with each other07:58
magciusjkwon: and LLVM isn't actually a VM, although it started out that way. It's a compiler framework.07:58
jkwoni know, just noting that LL is a conventional shorthand for low-level. i figured it was a convention.07:58
jkwonyeah, i'm not about to dive into LLVM but it looks gnarly.07:59
jkwonin a way pypy is a compiler framework too huh07:59
Ademanthere's alot of overlap in the JIT area between PyPy and LLVM as best I can tell08:00
magciusAdeman: eh, sort of08:01
fijalAdeman: well, not at all08:01
magciusAdeman: PyPy's JIT strategy is a little different, but not anything new08:01
fijalthey both emit assembler08:01
fijalbut that's pretty much it08:01
Ademanboth have their own IR08:01
fijalllvm is something like assembler backend08:01
fijalmore than a jit08:01
magciusyep08:01
magciusit has the whole thing08:02
magciusparsing08:02
fijalAdeman: obviously08:02
magciusAST compilation and transformation08:02
magciusflow evaluators and anaylzers08:02
fijalmagcius: did you read what I read, "pypy jit" notably?08:03
magciusfijal: hm?08:11
magciusfijal: the last 5 sentences were about LLVM08:11
Ademanfijal: if I write code try: i = space.int_w(w_i) except OperationError, e: # check for type error  then do other things, in a trace can I trust it to look more like assert isinstance(w_i, W_IntObject) ? or does the exception handling ruin all of that?08:12
asabil (~asabil@62.70.2.252) joined #pypy.08:13
fijalAdeman: it's more complex than that08:13
fijalbecause trace depends what actually w_i is08:13
fijalif it's int08:13
fijalthen it'll be more like guard_class_nonnull(w_i)08:13
Ademanfijal: right, but I just want to know that the exception handling isn't aborting the JIT or something annoying like that08:14
fijalno08:14
fijalwhat made you think that?08:14
Ademanfijal: I figured it wasn't the case, but I remembered hearing about exceptions (maybe only applevel) aborting the JIT08:15
Ademanmaybe I heard wrong anyways08:15
fijalI think it's safe to assume you did08:15
Ademanheh08:15
fijal (~fijal@41-134-41-226.dsl.mweb.co.za) left irc: Ping timeout: 260 seconds08:53
ErKa (keryell@keryell.pck.nerim.net) joined #pypy.08:57
fijal (~fijal@41-134-41-226.dsl.mweb.co.za) joined #pypy.09:06
stakkars (~tismer@i59F7FE99.versanet.de) left irc: Ping timeout: 260 seconds09:11
antocunifijal: do you have any idea why speed.pypy.org shows data only until few days ago?09:14
stakkars (~tismer@i59F7F541.versanet.de) joined #pypy.09:17
oal (~oal@5.79-160-122.customer.lyse.net) joined #pypy.09:21
elmom_ (~elmom@a88-114-241-230.elisa-laajakaista.fi) joined #pypy.09:25
fijalantocuni: http://buildbot.pypy.org/waterfall09:40
fijalyes09:40
fijalbecause 64bit jit (I presume) merge introduce assembler crash which makes benchmarks unable to run09:40
antocuni (~antocuni@host135-47-dynamic.116-80-r.retail.telecomitalia.it) left irc: Read error: Connection reset by peer09:51
antocuni_ (~antocuni@host135-47-dynamic.116-80-r.retail.telecomitalia.it) joined #pypy.09:51
mvtam i supposed to be able to translate pypy on 64 bit since the recent merge?09:53
antocuni_mvt: I think so, but AFAIK you still cannot use our fast GC09:55
antocuni_so, performance will be suboptimal09:55
mvthttp://paste.pocoo.org/show/246207/09:56
Action: antocuni_ tries on his pc09:57
antocuni_mvt: no clue, it seems to work for me09:58
antocuni_mvt: which kind of system do you have?09:58
fijalmvt: didn't you run out of RAM?10:00
antocuni_fijal: no, note that the MemoryError comes from alloc(4096) in detect_sse210:00
mvthm mac osx core2duo10:00
fijalhm10:00
fijalit seems mmap didn't work10:01
hikoz (~hikoz@27.183.244.43.ap.yournet.ne.jp) left irc: Quit: Leaving...10:04
antocuni_mvt: could you try to apply this diff and see what error do you get? http://paste.pocoo.org/show/246213/10:06
Nick change: antocuni_ -> antocuni10:06
elmom_ (~elmom@a88-114-241-230.elisa-laajakaista.fi) left irc: Ping timeout: 240 seconds10:13
bsod1 (~osa1@83-244-236-119.cust-83.exponential-e.net) joined #pypy.10:14
ErKa (keryell@keryell.pck.nerim.net) left irc: Ping timeout: 265 seconds10:16
bsod1 (~osa1@83-244-236-119.cust-83.exponential-e.net) left irc: Ping timeout: 240 seconds10:19
bsod1 (~osa1@83-244-236-119.cust-83.exponential-e.net) joined #pypy.10:24
hpk (~hpk@HSI-KBW-085-216-105-248.hsi.kabelbw.de) left irc: Remote host closed the connection10:26
mvtsure antocuni 10:28
mvtantocuni: 12 Cannot allocate memory10:30
kursor (~kursor@p4FF2BFF4.dip.t-dialin.net) joined #pypy.10:30
bsod1 (~osa1@83-244-236-119.cust-83.exponential-e.net) left irc: Ping timeout: 258 seconds10:30
antocunimvt: I'm looking at this page: http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man2/mmap.2.html10:42
antocuniin particular, the ENOMEM section10:42
antocuniit's possible that it fails for you because of one of this cases, not sure which10:43
antocuniwell, it really seems that the system is telling you that you don't have enough memory, although I agree that it's a bit weird10:47
lizardo (~lizardo@189.2.128.130) joined #pypy.10:47
antocuninot to have 4 MB, I mean10:47
DasIch_ (~DasIch@p5DC5F0B2.dip.t-dialin.net) joined #pypy.10:50
DasIch (~DasIch@p5DC5F8B7.dip.t-dialin.net) left irc: Read error: Operation timed out10:51
ErKa (keryell@keryell.pck.nerim.net) joined #pypy.10:57
lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) joined #pypy.11:10
Trundle (~andy@p5B14DB5A.dip.t-dialin.net) joined #pypy.11:12
mvtantocuni: yeah hehe, i have 3gb so that should work11:14
fijal (~fijal@41-134-41-226.dsl.mweb.co.za) left irc: Ping timeout: 260 seconds11:24
Ademan (~dan@adsl-75-61-234-71.dsl.pltn13.sbcglobal.net) got netsplit.11:25
successtone (~elbowtone@starship.python.net) got netsplit.11:25
Hodgestar (~Hodge@41-134-41-226.dsl.mweb.co.za) left irc: Ping timeout: 264 seconds11:25
Hodgestar (~Hodge@41-134-41-226.dsl.mweb.co.za) joined #pypy.11:28
elbowtone (~elbowtone@starship.python.net) joined #pypy.11:29
Ademan (~dan@adsl-75-61-234-71.dsl.pltn13.sbcglobal.net) returned to #pypy.11:30
Hodgestar (~Hodge@41-134-41-226.dsl.mweb.co.za) left irc: Ping timeout: 245 seconds11:32
Hodgestar (~Hodge@41-134-41-226.dsl.mweb.co.za) joined #pypy.11:34
successtone (~elbowtone@starship.python.net) got lost in the net-split.11:36
fijal (~fijal@41-134-41-226.dsl.mweb.co.za) joined #pypy.11:37
lizardo (~lizardo@189.2.128.130) left irc: Ping timeout: 240 seconds11:58
GoGi (~gogi@2001:8d8:81:1839::2) left irc: Remote host closed the connection12:00
lizardo (~lizardo@189.2.128.130) joined #pypy.12:01
elmom_ (~elmom@a88-114-241-230.elisa-laajakaista.fi) joined #pypy.12:15
jcreigh (~jason@adsl-219-216-84.asm.bellsouth.net) joined #pypy.12:55
fijaljcreigh: hey12:55
jcreighhey12:56
fijalhow's bug hunting?12:56
jcreigheh, I didn't have a handy pypy-c translated, so I was working on other stuff last night while one built. So I'm just starting on the zlib thing this morning.13:01
fijalk13:01
fijalI could have written you a test, you know :)13:01
jcreighoh, great, the specific failure mode varies randomly13:17
fijalyeah13:18
fijalbut it generally boils down to the same thing13:18
fijalthe only difference is whether ValueError is caught and reraised at applevel or not13:19
fijalwhat you should write is a test that calls function with doubles as args13:19
fijaland pass there jit-time constants (but not compile-time constants obviously)13:19
fijaljcreigh: sorry, I should have told you the amount of debugging I did :)13:21
jcreighheh heh13:21
elmom_ (~elmom@a88-114-241-230.elisa-laajakaista.fi) left irc: Ping timeout: 260 seconds13:27
ErKa (keryell@keryell.pck.nerim.net) left irc: Read error: Connection reset by peer13:33
Nick change: DasIch_ -> DasIch13:33
lmoura (~lauromour@200.184.118.130) left irc: Ping timeout: 258 seconds13:34
voidspace (~voidspace@87-194-212-65.bethere.co.uk) joined #pypy.13:38
panni_ (hannes@ip-95-222-52-93.unitymediagroup.de) joined #pypy.13:39
lmoura (~lauromour@200.184.118.130) joined #pypy.13:39
voidspace (~voidspace@87-194-212-65.bethere.co.uk) left irc: Client Quit13:39
paskma (~paskma@62.168.14.62) joined #pypy.13:41
paskma_ (~paskma@62.168.14.62) joined #pypy.13:41
paskma_ (~paskma@62.168.14.62) left irc: Client Quit13:42
ErKa (keryell@keryell.pck.nerim.net) joined #pypy.14:03
Arfrever (~Arfrever@gentoo/developer/Arfrever) joined #pypy.14:08
lmoura (~lauromour@200.184.118.130) left irc: Ping timeout: 276 seconds14:14
panni_ (hannes@ip-95-222-52-93.unitymediagroup.de) left irc: Read error: Connection reset by peer14:16
lmoura (~lauromour@200.184.118.130) joined #pypy.14:19
elmom_ (~elmom@2001:67c:15c:8099:222:43ff:fe46:ac90) joined #pypy.14:46
witulski (~stupsi@ip-95-223-166-128.unitymediagroup.de) joined #pypy.15:14
antocuni (~antocuni@host135-47-dynamic.116-80-r.retail.telecomitalia.it) left irc: Ping timeout: 276 seconds15:23
mvt (~mvt@87.213.45.85) left irc: Quit: Leaving15:25
Hodgestar (~Hodge@41-134-41-226.dsl.mweb.co.za) left irc: Quit: Zwoop.15:25
ErKa (keryell@keryell.pck.nerim.net) left irc: Read error: Connection reset by peer15:29
lizardo (~lizardo@189.2.128.130) left irc: Quit: Leaving15:29
lizardo (~lizardo@189.2.128.130) joined #pypy.15:41
paskma (~paskma@62.168.14.62) left irc: Quit: Leaving15:47
Hodgestar (~Hodge@196-215-32-183.dynamic.isadsl.co.za) joined #pypy.15:47
asabil (~asabil@62.70.2.252) left irc: Ping timeout: 240 seconds15:57
bsod1 (~osa1@83-244-236-119.cust-83.exponential-e.net) joined #pypy.16:01
bsod1 (~osa1@83-244-236-119.cust-83.exponential-e.net) left irc: Read error: Operation timed out16:03
Alex_Gaynor (~alex@cpe-65-186-209-164.insight.res.rr.com) left irc: Quit: Ex-Chat16:08
romao (~romao@unaffiliated/errado) joined #pypy.16:12
santagada (~santagada@189.27.254.245.dynamic.adsl.gvt.net.br) joined #pypy.16:13
verte (~verte@120.153.91.212) left irc: Quit: ~~~ Crash in JIT!16:15
panni_ (hannes@ip-95-222-52-93.unitymediagroup.de) joined #pypy.16:22
Misto (~Misto@adsl-75-38-17-208.dsl.irvnca.sbcglobal.net) joined #pypy.16:38
santagada (~santagada@189.27.254.245.dynamic.adsl.gvt.net.br) left irc: Quit: Get MacIrssi - http://www.sysctl.co.uk/projects/macirssi/16:38
Alex_Gaynor (~alex@cpe-76-181-160-196.columbus.res.rr.com) joined #pypy.16:40
nettok (~quassel@200.119.155.102) joined #pypy.16:54
elmom_ (~elmom@2001:67c:15c:8099:222:43ff:fe46:ac90) left irc: Ping timeout: 276 seconds16:58
hruske (Gasper@89-212-104-197.dynamic.dsl.t-2.net) left #pypy ("Leaving").16:58
asabil (~asabil@237.211.16.62.customer.cdi.no) joined #pypy.17:09
witulski (~stupsi@ip-95-223-166-128.unitymediagroup.de) left irc: Ping timeout: 260 seconds17:10
Misto (~Misto@adsl-75-38-17-208.dsl.irvnca.sbcglobal.net) left irc: Quit: Misto17:11
antocuni (~antocuni@host135-47-dynamic.116-80-r.retail.telecomitalia.it) joined #pypy.17:16
oal (~oal@5.79-160-122.customer.lyse.net) left irc: Read error: Operation timed out17:17
hpk (~hpk@HSI-KBW-085-216-105-248.hsi.kabelbw.de) joined #pypy.17:17
witulski (~stupsi@ip-95-223-166-128.unitymediagroup.de) joined #pypy.17:23
Topic changed on #pypy by fijal!fijal@41-134-41-226.dsl.mweb.co.za: PyPy, the flexible snake (IRC logs: http://www.tismer.com/pypy/irc-logs/pypy/?C=M;O=D ) | "we used to have a mess with an obscure interface, now we have mess here and obscure interface there. progress" Samuele Pedroni on pypy sprint17:27
Topic changed on #pypy by fijal!fijal@41-134-41-226.dsl.mweb.co.za: PyPy, the flexible snake (IRC logs: http://www.tismer.com/pypy/irc-logs/pypy/?C=M;O=D ) | "we used to have a mess with an obscure interface, now we have mess here and obscure interface there. progress" pedronis on a pypy sprint17:28
Alex_Gaynorfijal: eh, there's a sprint?17:32
fijalno17:33
oal (~oal@5.79-160-122.customer.lyse.net) joined #pypy.17:34
bsod1 (~osa1@83-244-236-119.cust-83.exponential-e.net) joined #pypy.17:39
oal (~oal@5.79-160-122.customer.lyse.net) left irc: Ping timeout: 265 seconds17:44
oal (~oal@5.79-160-122.customer.lyse.net) joined #pypy.17:58
kursor (~kursor@p4FF2BFF4.dip.t-dialin.net) left irc: Quit: kursor18:02
kenaan03hakanardo 10r7648614 pypy/branch/interplevel-array/pypy 07M(assembler.py test_pypy_c.py itertype.py): pypy-c tests ...18:04
fijaloh right18:05
fijalI can look into your branch18:05
fijalbut I'll refrain from merging until some failures on trunk are fixed18:05
hakanardook18:06
fijalmakes sense?18:07
hakanardoit sure doess18:07
fijaldid you run coverage btw?18:08
hakanardono, whats that?18:08
fijalshows you how your test run covers your code18:09
fijalpytest-coverage (google)18:09
nettok (~quassel@200.119.155.102) left irc: Ping timeout: 265 seconds18:13
ambroff (~ambroff@c-76-114-18-14.hsd1.ca.comcast.net) joined #pypy.18:25
ambroff (~ambroff@c-76-114-18-14.hsd1.ca.comcast.net) left irc: Read error: Connection reset by peer18:26
hakanardo96% coverage on interp_array.py18:32
fijalgreat!18:32
exarkunpretty good18:32
fijalAlex_Gaynor: upload your slides somewhere18:32
fijalfor a guy who have just learned what a coverage is, that's pretty impressive18:33
Alex_Gaynorfijal: I did :) http://www.scribd.com/doc/35240506/Making-Python-Fast-PyPy-and-Unladen-Swallow18:33
fijalyeah18:33
fijalbut to a place where I can downlaod them18:33
fijal(a request on pypy blog)18:33
fijalantocuni: we should implement different so naming than cpython18:33
antocunihave we ever tried to run pytest-coverage on the whole pypy?18:33
antocunifor cpyext you mean?18:33
Alex_Gaynorfijal: There's a download button on the right, would you like me to put it on my own server or something?18:33
fijalAlex_Gaynor: I would like you to point that guy to this button18:34
fijalantocuni: yes18:34
fijalantocuni: there was a thread on python-dev about that18:34
antocuniah, I don't follow python-dev18:34
antocunibut yes, it's a good idea18:34
fijal                if mytype.typecode == 'u':18:35
fijal                    myiter = space.unpackiterable18:35
fijal                else:18:35
fijal                    myiter = space.listview18:35
fijalthat's nonsense18:35
fijalspace.listview would do18:35
fijalbesides, it's not technically correct18:36
fijal(I can write code that makes this explode)18:36
bsod1 (~osa1@83-244-236-119.cust-83.exponential-e.net) left irc: Read error: Connection reset by peer18:36
fijalby having a len that lies18:37
fijaland resizing it during the iteration18:37
fijalI think the latter is enough18:37
fijalah18:37
fijalI see18:37
fijalok sorry sorry18:37
fijalyou can't call arbitrary code there18:37
hakanardoI'm afraid you lost me...18:38
Alex_Gaynorhakanardo: within space.listview you should never callback to arbitrary python code is the idea I think18:39
fijalI lost myself in the first place18:39
fijalit's correct as far as I know :)18:39
fijalhakanardo: can you remove all the interp_* that are not used?18:40
fijalis app_array ever used?18:40
hakanardosure18:40
hakanardono18:40
hakanardoit's only interp_array.py and __init__.py thats used now18:41
fijalalso, benchmarks should probably go somewhere else18:41
fijalremove the rest :)18:41
hakanardowhere do you want the benchmarks?18:41
fijaltests are not pep818:41
fijaldepends how useful they're18:41
fijalbut not in the pypy tree18:41
fijalthey can be in main pypy benchmarks, if you think they're generally useful18:42
fijalotherwise I would suggest to park them in your user directory18:42
hakanardona, they ar probably too simple18:42
fijalwell, if you really want, you can have module/array/benchmark directory18:42
fijalwith README that explains what they do18:42
hakanardook, that makes sens18:42
fijalwould be good to strip platform-specific tests18:43
fijal(like /dev/zero is unlikely to be on windows)18:44
fijalby say using py.test.ensuretemp18:44
fijalor udir18:44
fijalor something18:44
Alex_Gaynor (~alex@cpe-76-181-160-196.columbus.res.rr.com) left irc: Ping timeout: 276 seconds18:44
fijal        try:18:45
fijal            a[1:3]=[5,6]18:45
fijal            assert False18:45
fijal        except TypeError:18:45
fijal            pass18:45
fijalthere is py.test.raises18:45
fijalor simply raises if it's an apptest18:46
hakanardoAre you on the head of the branch, I've pep8:ifyed those lines?18:47
fijalups, no18:48
fijalindeed :)18:48
Alex_Gaynor (~alex@cpe-65-186-209-164.insight.res.rr.com) joined #pypy.18:52
lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) left irc: Remote host closed the connection18:55
magciusAlex_Gaynor: woah, how does that globals/builtins work?19:03
magciusAlex_Gaynor: on your slides.19:03
Alex_Gaynormagcius: because you reassign len in global scope, so it impacts everything in the module19:03
magciusAlex_Gaynor: I didn't know Python that was crazy.19:03
magciusAlex_Gaynor: yeah, but, but19:04
magciusAlex_Gaynor: isn't the global scope saved when you enter a function like f?19:04
magciuslike wow19:04
Alex_GaynorA reference to the globals is saved on function creation, but obvious the globals are mutable.19:04
magciusAlex_Gaynor: how many people were confused/amazed at the slide on that19:04
magciusAlex_Gaynor: also, can I hide that frickin bouncy bar at the bottom?19:05
Alex_GaynorA decent amount, I think people intellectually know you can do that stuff, but don't think about it because you'd be crazy to do something like this.19:05
Alex_Gaynormagcius: there's a download button on the right if the scribd UI is bad :/19:05
magciusAlex_Gaynor: how do I stop it from bouncing up and down?19:06
magciusaha19:06
magciusthe switch on the right19:06
magciusAlex_Gaynor: it's also confusing to the eye because the "for" fooled me19:06
magciusAlex_Gaynor: I thought I was in a different scope: "uh, why isn't a global len needed?"19:06
HodgestarAlex_Gaynor: Is this just a "def f(a): return len(a) ; def len(a): return 'foo'" sort of thing?19:07
magciusHodgestar: yes, except more crazy19:07
Alex_GaynorHodgestar: sort of, except compounded by changing it during a running generator: def foo(a): for i in a: yield len(i)19:07
HodgestarOh, I see. Modifying globals while the generator is executing.19:08
magciusHodgestar: http://codepad.org/T2u0TxGq19:10
magciusAlex_Gaynor: uh, tracing JIT isn't looking for loops19:10
magciusAlex_Gaynor: that's a standard JIT, AFAIK19:10
lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) joined #pypy.19:11
magciusAlex_Gaynor: a tracing JIT takes traces of paths (a common path of functions in code, for let's say 5 functions in the call stack), and emits machine code for all those functions in one pass19:11
Alex_Gaynorhttp://morepypy.blogspot.com/2009/03/applying-tracing-jit-to-interpreter.html19:11
HodgestarThe result isn't that surprising. Now I'm wondering if it is possible to write a decorator that avoids it and what happens when you decorate a generator.19:12
magciusAlex_Gaynor: TraceMonkey is different then19:12
magciusAlex_Gaynor: because Trace Trees are different19:12
Alex_GaynorHodgestar: http://code.activestate.com/recipes/277940-decorator-for-bindingconstants-at-compile-time/?in=user-17812319:13
magciusAlex_Gaynor: "Similar to outer loops, method calls are inlined into a trace tree19:13
magciusinstead of appearing as an actual method invocation instruction.19:13
magciusWhereas a static method invocation has exactly one target method19:13
magciusthat will be inlined, virtual and interface method dispatches can19:13
magciusinvoke different methods at runtime, depending on the actual type19:13
magciusof the receiver object.19:13
magciuswhoops19:13
magciusAlex_Gaynor: the technique is completely different than Dynamo: http://www.ics.uci.edu/%7Efranz/Site/pubs-pdf/ICS-TR-06-16.pdf19:14
magciusAlex_Gaynor: well, not completely different, but the UV Irvine technique is a pretty complicated modification/extension of Dynamo such that it can't really be called the same method19:15
fijalmagcius: it's not19:17
fijaltrace trees also close at some point19:17
magciusfijal: ehh19:17
HodgestarAlex_Gaynor: That does quite a bit more than I was imaging but it's pretty cool.19:17
Alex_GaynorHodgestar: raymond is a pretty smart guy :)19:18
magciusfijal: does PyPy use a trace-tree based method?19:22
fijalyes19:22
Alex_Gaynorwell we don't ever compile a tree though19:23
Alex_Gaynorwe use bridges instead19:23
fijaland bridges are what?19:23
antocunimagcius: if you are interested in how the pypy jit works, you might find useful to read chapters 5 and 6 of my thesis: http://codespeak.net/svn/user/antocuni/phd/thesis/thesis.pdf19:23
fijalhow they're different?19:23
fijalthere is also a place on the website that explain19:23
fijals19:23
Alex_Gaynorfijal: well a bridge cna be recompiled without needing to touch the loop it lives in19:24
antocunifijal: I think that the terminology found in the literature is "trace stitching" for what pypy does, and "trace tree" when you recompile the whole tree every time you add a branch19:24
Alex_Gaynorantocuni explained it much better than me :)19:24
antocuniwell, I discovered this terminology only recently, i.e. after writing my thesis :-)19:25
magciusI just thought the big speedup with TraceMonkey/UV Irvine was that several methods were inlined and compiled into machine code when that specific path becomes "hot"19:25
fijalin our case compiling and tracing is kind of expensive19:26
fijalso O(n^2) would kill us19:26
Alex_GaynorO(n^2) what are we talking about?19:26
fijalif you recompile the whole tree each time you have a new trace, it's O(n^2)19:27
fijalon number of operations19:27
Alex_Gaynorah yeah19:27
ayerarcuturs (~shawn@c-67-163-140-226.hsd1.pa.comcast.net) joined #pypy.19:32
kenaan03hakanardo 10r7648814 pypy/branch/interplevel-array/pypy/module/array 05A(/benchmark/ Makefile README intimg.c intimgtst.c intimgtst.py loop.c loop.py sum.c sumtst.c sumtst.py) 06D(app_array.py interp_array_multiclass.py interp_ar ...19:37
fijalAlex_Gaynor: anyway, not sure about the JVM part, but note that most JS benchmarks is ridiculously simple19:39
fijalsun spider is pretty much a joke19:39
Alex_Gaynorfijal: what are we talking about?19:39
fijalabout recompilation19:40
Alex_Gaynorah19:40
Alex_Gaynorfijal: dromaeo is the only JS benchmark I use19:43
fijalI don't care what do *you* use19:43
Alex_Gaynor:)19:43
fijalI care what people writing blogs use19:43
Alex_GaynorWell dromaeo aggregated sunspider, v8, and added it's own19:43
Alex_GaynorAnyway, it's not like I'm writing a JS VM19:44
fijalthat's still pretty basic19:44
fijal(like it does not cover recompilation time at all)19:44
lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) left irc: Remote host closed the connection19:44
fijalI'm just saying that things like translate.py are really *hard* benchmarks19:45
fijaleven things like chaos are relatively hard19:45
fijalor telco19:45
Alex_Gaynoryeah, translate.py is a stressful benchmark19:45
Alex_Gaynorat least it doesn't have regex :D19:46
kenaan03jcreigh 10r7649014 07M(pypy/trunk/pypy/jit/backend/x86/test/test_runner.py): add test for calling function from JIT with ConstFloat arguments ...19:50
lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) joined #pypy.19:53
kenaan03jcreigh 10r7649114 pypy/trunk/pypy/jit/backend/x86 07M(assembler.py regalloc.py regloc.py): fix for r76490, calling functions in JIT with const float arguments. (somewhat ugly) ...19:53
kenaan03hakanardo 10r7649214 07M(pypy/branch/interplevel-array/pypy/module/array/test/test_array.py): try except => raises ...19:54
ronnyhum hum, thanks for the ssh - i actually needed a python2.3 - ssh codespeak.net has it19:55
hakanardo (~hakan@h59ec009e.seluldx.dyn.perspektivbredband.net) left irc: Quit: Leaving20:06
Arfrever (~Arfrever@gentoo/developer/Arfrever) left irc: Quit: Ex+re (KVIrc 4)20:09
kenaan03jcreigh 10r7649314 pypy/trunk/pypy/jit/backend/x86 07M(assembler.py regalloc.py regloc.py): revert r76491 (grr, doesn't translate) ...20:27
jcreighbloody hell I'm bad at this. :-(20:27
jcreighor maybe I could externalize the blame on rpython...20:27
Ademanjcreigh: :-p just look at the language spec... oh wait :-p20:33
jcreigh (~jason@adsl-219-216-84.asm.bellsouth.net) left irc: Quit: Leaving20:40
witulski (~stupsi@ip-95-223-166-128.unitymediagroup.de) left irc: Quit: Leaving.20:49
lizardo (~lizardo@189.2.128.130) left irc: Quit: Leaving20:52
jkwon (~jae@70-36-140-121.dsl.dynamic.sonic.net) left irc: Ping timeout: 252 seconds20:58
romao (~romao@unaffiliated/errado) left irc: Quit: BRB!21:04
asabil (~asabil@237.211.16.62.customer.cdi.no) left irc: Quit: Ex-Chat21:04
dialtone (~dialtone@70.36.244.244) joined #pypy.21:07
dialtone (~dialtone@70.36.244.244) left irc: Changing host21:07
dialtone (~dialtone@unaffiliated/dialtone) joined #pypy.21:07
dialtone (~dialtone@unaffiliated/dialtone) left irc: Client Quit21:08
dialtone (~dialtone@70.36.244.244) joined #pypy.21:09
dialtone (~dialtone@70.36.244.244) left irc: Changing host21:09
dialtone (~dialtone@unaffiliated/dialtone) joined #pypy.21:09
bsod1 (~osa1@83-244-236-119.cust-83.exponential-e.net) joined #pypy.21:33
ayerarcuturs (~shawn@c-67-163-140-226.hsd1.pa.comcast.net) left irc: Quit: Leaving21:35
Alex_Gaynorjcreigh, for when you return (if you read logs): the commit you reverted appears to have translated fine, and fixed the zlib and random issues21:40
Alex_Gaynorhttp://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/35321:40
lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) left irc: Remote host closed the connection22:00
kenaan03getxsick 10r7649414 07M(pypy/branch/fast-ctypes/pypy/rlib/rjitffi.py): add cache argument to CDLL.get ...22:13
kenaan03getxsick 10r7649514 07M(pypy/branch/fast-ctypes/pypy/rlib/test/test_rjitffi.py): use cache in tests ...22:14
Scriptor (~Scriptor@pool-98-117-19-57.hrbgpa.fios.verizon.net) left irc: Quit: Scriptor22:30
antocuni (~antocuni@host135-47-dynamic.116-80-r.retail.telecomitalia.it) left irc: Ping timeout: 276 seconds22:36
nettok (~quassel@proxy.galileo.edu) joined #pypy.22:42
bsod1 (~osa1@83-244-236-119.cust-83.exponential-e.net) left irc: Ping timeout: 245 seconds22:50
nettok (~quassel@proxy.galileo.edu) left irc: Read error: Operation timed out22:56
kenaan03getxsick 10r7649614 07M(pypy/branch/fast-ctypes/pypy/rlib/rjitffi.py): use bargs as a local list ...23:10
oal (~oal@5.79-160-122.customer.lyse.net) left irc: Remote host closed the connection23:11
pybot (~pybot@stackless.com) left irc: Ping timeout: 265 seconds23:14
-ERROR from server- Closing Link: stackless.com (Ping timeout: 265 seconds)23:14
CTCP VERSION: from frigg (~frigg@freenode/utility-bot/frigg)23:14
pybot joined #pypy.23:15
-ChanServ (ChanServ@services.)- [#stackless] Welcome to #stackless. This channel is for the discussion of matters relating to Stackless Python. Remember that others in this channel may not be in the same timezone as you, so stick around for an answer (even if only in your channel history) if you ask a question. The mailing list is also recommended as being a faster place to get help (http://www.stackless.com/mailman/listinfo/stackless).23:15
lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) joined #pypy.23:25
jkwon (~jae@67.107.174.230.ptr.us.xo.net) joined #pypy.23:29
bsod1 (~osa1@83-244-236-119.cust-83.exponential-e.net) joined #pypy.23:34
ambroff (~ambroff@c-76-114-18-14.hsd1.ca.comcast.net) joined #pypy.23:47
--- Fri Aug 6 201000:00

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