#pypy IRC log for Saturday, 2010-02-06

Ademananyone around?00:03
xorAxAxjust ask00:06
victorpoluceno (~victorgp@189.31.103.200) left irc: Ping timeout: 256 seconds00:09
Nick change: headtone -> tonguetone00:10
victorpoluceno (~victorgp@187.5.148.107) joined #pypy.00:10
AdemanxorAxAx: well in pypy.objspace.sliceobject.W_SliceObject there's a method indices4() which I think would be very useful as a free function (for use in conjunction with space.decode_index) and I was wondering where I should put it (i wouldn't remove it from W_SpaceObject obviously)00:29
xorAxAxyou want to duplicate code!?00:29
xorAxAxmove it somewhere into rlib00:29
AdemanxorAxAx: hah, don't implicate me!00:30
xorAxAxyou said you wouldnt remove it :-P00:30
Ademanmove the implementation to wherever then call it in W_SpaceObject.indices4 for compatibility, sheesh! :-p00:30
xorAxAxah, thats something entirely different, my bad!00:31
voidspace (~voidspace@87-194-212-65.bethere.co.uk) joined #pypy.00:45
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) left irc: Ping timeout: 240 seconds00:46
Nick change: voidspace -> fuzzyman00:46
amaury_ (~4dc55519@gateway/web/freenode/x-rieodjbqlfnihivn) left irc: Quit: Page closed01:03
zejn (~Gasper@internet-213-229-208-113.narocnik.mobitel.si) left irc: Ping timeout: 252 seconds01:11
Nick change: magcius_ -> magcius01:12
hpk (~hpk@HSI-KBW-095-208-109-209.hsi5.kabel-badenwuerttemberg.de) left irc: Ping timeout: 245 seconds01:30
Misto (~Misto@ppp-229-88.32-151.iol.it) left irc: Quit: Misto01:39
Misto (~Misto@ppp-229-88.32-151.iol.it) joined #pypy.01:40
nettok (~netto@200.119.151.10) joined #pypy.01:45
devinus (~devinus@65.107.181.222.ptr.us.xo.net) left irc: Ping timeout: 265 seconds01:49
fijal (~fijal@cpe-76-181-86-5.columbus.res.rr.com) joined #pypy.01:53
fijalhi01:54
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) left irc: Read error: Operation timed out01:56
Alex_Gaynorevening fijal 01:56
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) joined #pypy.01:56
Misto (~Misto@ppp-229-88.32-151.iol.it) left irc: Quit: Misto01:57
fijalAlex_Gaynor: hi01:58
[mathias] (~mathias@0x573e8631.esnqu2.dynamic.dsl.tele.dk) joined #pypy.02:03
devinus (~devinus@cpe-66-25-177-158.austin.res.rr.com) joined #pypy.02:06
devinus (devinus@cpe-66-25-177-158.austin.res.rr.com) left #pypy.02:08
ebo^ (~ebolad@233.195.116.85.dsl.manitu.net) left irc: Quit: Verlassend02:28
magciusWhere did the lang folder go?02:32
fijalto lang directory :)02:33
fijalup one or two levels02:34
Ademanfijal: i want to move W_SpaceObject.indices4 into a "globally accessible" location (so that it can be used in conjunction with space.decode_index) where should i put it?02:52
magcius (~jstpierre@c-24-61-243-212.hsd1.ma.comcast.net) left irc: Remote host closed the connection02:52
AdemanW_SliceObject*02:52
Trundle (~andy@p5B132E8A.dip.t-dialin.net) left irc: Quit: ...02:52
magcius (~jstpierre@c-24-61-243-212.hsd1.ma.comcast.net) joined #pypy.02:52
fijalAdeman: hm02:54
fijalprobably a helper on space would be the best place02:54
fijalAdeman: why you can't use a method on W_SliceObject?02:55
Ademanfijal: well, i thought decode_index was quite nifty, i'll show you what i'm currently doing02:56
fijalwould be good, yes :)02:56
fijalhow was improving the test coverage?02:56
fijalI can run coverage report for you if you like02:56
Ademanfijal: well i found some truly horrifying bugs while trying to fix regressions i created02:57
Ademanit looks like nonsquare matrices break multidimarrays now...02:58
fijalgood02:59
fijalplease write test for each thing you do02:59
Alex_Gaynorpossibly even befor eyou do it :)02:59
Ademanfijal: so http://paste.pocoo.org/show/174456/ is sdarray.py  line 24 is the stolen W_SliceObject.indices4 code, and 174 is an example usage02:59
Ademanfijal: can you tell the other guy? it wasn't my code...03:00
fijalbasically I would like you to commit things one by one, each with test03:00
fijaldid the other guy's code break tests?03:01
Ademanno but it added new, insufficiently tested features (the nonsquare matrices thing is a new development)03:01
Ademani wrote a test that will catch it though03:01
Ademani'll try and avoid monilithic commits like i'll be doing soon... in the future03:02
fijalhow about doing it now?03:03
fijalthen revert it03:04
fijalbasically write a test and revert this with sufficient commit message03:04
fijal"this commit came with no tests and it's broken, see skipped test"03:04
fijalpersonally, I would like solid features first03:04
fijaland then new03:04
fijalAdeman: really, start avoiding monolithic commits just now03:05
Ademanyeah, although i'm excited to have a translatable implementation in the repository... and i've been busting my butt to do it too...03:05
fijaltake your working copy03:05
fijaland commit each feature you added by doing tedious diffing03:05
fijaleach one with a test03:05
fijalhow about that?03:05
Ademan:-/ fine03:05
fijalAdeman: I hope I'm not mean, I'm more trying to get you going with our development practices03:05
fijalwhich I think are superior :)03:06
Ademani understand, you're just frustrating sometimes :-p03:06
fijalsorry about that03:06
Ademanhahah i'm jk03:06
fijalI'm really trying to be nice :)03:06
Alex_Gaynoroh hey I started translating pypy earlier03:06
Alex_Gaynorforgot about that03:06
fijalI'm just not a nice person03:06
fijalAlex_Gaynor: takes a while, heh?03:07
Alex_Gaynorfijal: dunno, I svn up'd when I got back from class, started translating and then I worked for the rest of the afternoon.  I have one shell with many tabs and I forgot about it03:07
fijalAdeman: in exchange, I can review each commit, deal?03:08
Alex_Gaynorfijal: who do you work for?03:08
fijalAlex_Gaynor: merlinux, sometimes03:09
fijalwhy do you ask?03:09
Alex_Gaynorjust curious, you seem to have tons of time to work on pypy :)03:09
Alex_GaynorI figured either you have an awesome job, or very good time management skills03:09
fijalor I'm just very poor03:09
fijalor have rich parents03:10
Ademanfijal: haha only if you have time03:10
Alex_Gaynorfijal: it's not polite to ask those questions ;)03:10
Ademani wish i had more time03:10
fijalAlex_Gaynor: tbh, I don't even have a car03:10
Ademanfijal: so would it be acceptable if I added the test on top of the current HEAD ? rather than reverting and commiting it together with the test?03:11
raymondh (~chatzilla@cpe-75-82-47-224.socal.res.rr.com) joined #pypy.03:11
fijalAdeman: is current head broken?03:11
Ademanfijal: according to the tests i've written, i'm fairly certain03:12
Ademani'd need to try out my tests on a clean working copy03:12
Ademanto be sure03:12
fijalI would rather have no features than buggy features03:12
fijala revert then sounds fine03:12
fijalprovided that a commit message explains it correctly03:12
raymondhIf you guys see Laura in the chatroom today, please encourage her to run for the PSF board.  Today is the last day to self-nominate.03:13
Ademani haven't seen her for a long time...03:13
raymondhHmm.03:14
fijalraymondh: how about writing her a mail?03:14
fijalshe's probably sleeping, though you never know03:14
raymondhI wrote to her yesterday but didn't have a response yet.03:16
Ademanfijal: alright well i'll try out the test on a fresh working copy03:16
fijalraymondh: not sure what else we can do03:16
fijalraymondh: you can write to samuele pedroni, who is in direct contact03:16
fijalI'm in the US03:16
raymondhWill do.  Thx.03:17
gutworthI'd vote for her :)03:18
AdemanI'm sure there's a clean way to accomplish all this with svn, but staging commits from your working copy is one thing git does quite well03:19
Alex_GaynorIf I had a vote I'd vote for Tim Peters, he understands that python is too big to fail and that we need TARP money03:19
ousado_ (~ousado@port-92-206-117-14.dynamic.qsc.de) left irc: Ping timeout: 260 seconds03:22
ousado_ (~ousado@port-92-206-52-109.dynamic.qsc.de) joined #pypy.03:22
Ademanbrb making dinner03:25
[mathias] (~mathias@0x573e8631.esnqu2.dynamic.dsl.tele.dk) left irc: 03:43
raymondh (~chatzilla@cpe-75-82-47-224.socal.res.rr.com) left irc: Ping timeout: 256 seconds03:47
gonsor (~quassel@kel30.kel.stud.uni-goettingen.de) left irc: Ping timeout: 264 seconds03:47
ivan` (~ivan@unaffiliated/ivan/x-000001) left irc: Ping timeout: 240 seconds04:08
ivan` (~ivan@unaffiliated/ivan/x-000001) joined #pypy.04:14
victorpoluceno (~victorgp@187.5.148.107) left irc: Ping timeout: 256 seconds04:41
Electronic[sleepAdeman, hi.04:51
Electronic[sleepWhy indices4 is not suitable for you?04:52
Electronic[sleepBecause we need to check space.is_true(space.isinstance(w_index, space.w_slice)) ?04:53
Electronic[sleepAnd behaivour of decode_index...04:53
Electronic[sleepWhy do you check stop==0? If i want empty slice 0:0, what will you do?04:54
Electronic[sleepBTW have you done many new features? I've done operators for multidimensional arrays.04:55
Electronic[sleepIt may be time to merge.04:55
Nick change: Electronic[sleep -> ElectronicRU04:56
engla (~ulrik@wikipedia/Sverdrup) left irc: Ping timeout: 276 seconds05:01
AdemanElectronicRU: well most of what you did isn't valid rpython, including your handling of slices, so it has to change either way, decode_index is a nice way to accomplish it that IS RPython05:21
ElectronicRUindices4 is not rpython? It is used in listobject.py!05:24
ElectronicRUAnd afaik there is no task now to compile pypy. I won't compile anyway.05:25
Ademannot indices4, your entire slice implementation05:27
ElectronicRUcompute_slices() ?05:28
ElectronicRUOr creating new objects for storing slices?05:28
ElectronicRUOr what?05:28
Ademanwell first of all calling indices4 on a W_Root object05:29
ElectronicRUHmmm... Is there a way to explicitly typecast it to slice?05:34
ElectronicRUWell, we can use decode_index, but in 'if space.is_true(... w_slice)):'05:35
ElectronicRUBecause of 0:0 :)05:35
Ademanwell, if step is 0 it's an invalid slice anyways right? so testing step for 0 instead of stop would be correct05:40
fijalassert05:49
fijalexplicit cast is an assert isinstance(x, W_SliceObject)05:49
fijalElectronicRU: 71014 came with no test05:50
fijalit's usually enough to revert without looking05:50
fijaldo you feel like writing tests for that checkin?05:50
Ademanfijal: so that'll down cast?05:51
Action: Ademan learned something05:51
fijalyeah05:51
Ademanthe annotator is interesting lol05:51
fijalthat'll let you call methods of W_SliceObject05:51
fijalElectronicRU: or at least test coverage is not enough05:52
ElectronicRUAll stuff I done I tested.05:53
ElectronicRUAlthough my blame is using square array for test.05:53
ElectronicRUAdeman, if x:0:0 we must raise; if x - return. If x:0:0 we will return self[x], which is not valid.05:54
Ademansquare is fine, but be sure to test nonsquare too, i was working on that but if you want to do it yourself you're welcome to05:54
pemryan (~pem@2001:cc0:201e:107:221:86ff:fe1a:e5aa) left irc: Read error: Connection reset by peer05:54
ElectronicRUfijal, thanks for explicit typecast. W_SliceObject is is the same place where W_Root?05:54
Ademanpypy.objspace.std.sliceobject05:55
Ademanalso: fair enough, just do the explicit cast then05:55
fijalElectronicRU: can you run py.test -p figleaf and stare at generated html?05:56
fijalElectronicRU: obvious thing is that you added __rmul__ although no test exercises that05:57
ElectronicRUThere was use case for __radd__ (value+array) in test.05:57
ElectronicRUSo I've added all __r__'s.05:58
fijalis it tested?05:58
Ademani should also note that ufunc.py isn't rpython anymore (since a long time ago...) because arrays can now be different types05:58
ElectronicRUIt equicode with __*__'s.05:58
fijalin general (not blaming you particular) I'm not too happy about test coverage of micronumpy05:59
fijalAdeman: let's ignore being RPython for now05:59
ElectronicRUAdeman, No module named std.sliceobject05:59
ElectronicRUWhere is W_SliceObject05:59
fijalElectronicRU: in pypy/objspace/std/sliceobject.py05:59
ElectronicRUOh, i have written pypy.interpreter.06:00
Ademanfijal: we're so close to completely rpython though... :-/ but fine06:02
ElectronicRUSo, I'm going out. But ===WARNING=== could not import plugin 'pytest_figleaf', reason: "could not import 'figleaf.annotate_html'"06:02
fijalElectronicRU: install figleaf python package06:03
fijalhttp://codespeak.net/~fijal/html/index.html06:04
fijaluploaded coverage run06:04
fijalhttp://codespeak.net/~fijal/html/_home_fijal_lang_python_pypy-micronumpy_pypy_module_micronumpy_sdarray.py.html06:04
fijal__setitem__ coverage is not good for example06:04
fijalanyone every iterates in test single dim array, or is this figleaf getting wrong data?06:04
Ademanfijal: well that looks like an old revision06:05
fijalfixed06:06
fijalElectronicRU, Ademan: in general, I'm not too happy about the coverage. I would like to improve this first before adding more features06:06
fijaland yes, I appreciate the work you're both doing, don't get me wrong :)06:07
AdemanElectronicRU: do you want to write the test for mdarray or do you want me to? it sounds like that's the first thing we need to do06:13
Ademani still need to update my version of py.test so that i can properly figleaf though...06:15
nshepperd (~nshepperd@2001:44b8:61::23) joined #pypy.06:17
fijaleh06:22
fijalI'm sort of sorry, I should have spent more time on numpy06:22
fijalbut as usual, I'm sort of busy06:22
Ademanfijal: it's alright, i'm probably not as busy as you, but between school and work, i've had little time myself06:23
kenaan03dan 10r7112214 07M(pypy/branch/micronumpy/pypy/module/micronumpy/test/test_numpy.py): Added tests for non-square multi-dimensional arrays, currently skipping them. ...06:53
kenaan03dan 10r7112314 pypy/branch/micronumpy/pypy/module/micronumpy 07M(mdarray.py test_numpy.py): Converted mdarray.shape to tuple. Un-skipped test that depended on it. ...06:56
voidspace (~voidspace@87-194-212-65.bethere.co.uk) joined #pypy.07:49
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) left irc: Ping timeout: 256 seconds07:51
Nick change: voidspace -> fuzzyman07:51
joe_mp_ (~joe@e179115046.adsl.alicedsl.de) joined #pypy.07:57
joe_mp (~joe@e179163184.adsl.alicedsl.de) left irc: Ping timeout: 256 seconds07:59
panni_ (hannes@ip-95-222-52-93.unitymediagroup.de) left irc: Read error: Connection reset by peer08:12
Ademancan closed-over functions that are at the module level reference closed over class instances?08:29
nshepperd (nshepperd@2001:44b8:61::23) left #pypy.08:50
mwhudsonAdeman: not completely sure what you mean, but probably yes09:13
Ademanmwhudson: one sec i'll make a paste09:17
Ademanmwhudson: http://paste.pocoo.org/show/174494/09:18
Ademannotice how result() needs to be able to access result_factory09:19
mwhudsonAdeman: i think that should be fine09:19
Ademanthanks mwhudson i'm holdin you to it :-p09:21
mwhudsonAdeman: i'm willing to provide a full refund if i turn out to be wrong :-)09:21
Ademanhahah09:22
Ademanmwhudson: the class is redundant... isn't it?09:23
mwhudsonwell, in this case probably09:23
Alex_Gaynor (~alex@nidoran-37.dynamic.rpi.edu) left irc: Quit: Ex-Chat09:23
Ademanyeah, vestigial of when result_factory was at the module level09:24
bja (~bja@c-98-222-1-220.hsd1.il.comcast.net) left irc: Ping timeout: 256 seconds09:29
kenaan03dan 10r7112414 pypy/branch/micronumpy/pypy/module/micronumpy 07M(dtype.py mdarray.py sdarray.py): Shortened array factory code. ...09:38
Ademani just realized, are lambdas rpython in the first place? or does it matter in that case since it's created at import time?09:55
nettok (~netto@200.119.151.10) left irc: Quit: Ex-Chat09:59
mwhudsonAdeman: right, you can't define new functions at runtime10:01
mwhudsonyou can get away with all kinds of crazy stuff at import time though10:01
pemryan (~pem@159.226.35.246) joined #pypy.10:02
lucian (~lucian@cpc6-newc9-0-0-cust64.gate.cable.virginmedia.com) joined #pypy.10:11
hpk (~hpk@HSI-KBW-095-208-109-209.hsi5.kabel-badenwuerttemberg.de) joined #pypy.10:14
Misto (~Misto@ppp-229-88.32-151.iol.it) joined #pypy.10:23
voidspace (~voidspace@87-194-212-65.bethere.co.uk) joined #pypy.10:37
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) left irc: Ping timeout: 256 seconds10:37
Nick change: voidspace -> fuzzyman10:37
ElectronicRUAdeman, let me do it. Anyway, I should test already-written operators for mdarray.11:08
antocuni (~antocuni@host239-125-dynamic.24-79-r.retail.telecomitalia.it) joined #pypy.11:08
ElectronicRUfijal, does annotator takes in mind what conditions are in 'if'? I've thought that instead of checking space.isinstance and asserting isinstance I may just check isinstance(W_SLiceObject).11:10
ElectronicRU<mwhudson> Ademan: right, you can't define new functions at runtime11:11
ElectronicRUNested functions are unallowed too?11:11
antocuniElectronicRU: nested functions are fine, as long as you create them at translation time11:19
antocuniElectronicRU: and yes, the annotator know how to deal with "if isinstance(xxx)"11:20
ElectronicRUThanks.11:20
ElectronicRUAnd what about case of mixedmodule?11:20
ElectronicRUTheir functions are called runtime, eh?11:21
antocuniElectronicRU: I'm not sure to understand the question11:22
Action: antocuni tries to write a minimal example11:22
antocuniElectronicRU: http://paste.pocoo.org/show/174511/11:24
ElectronicRUhttp://pastebin.com/ff7f6d1d NOT_RPYTHON?11:25
ElectronicRUOh, nothing to worry about.11:26
ElectronicRUThis function is used translate-time.11:26
antocuniElectronicRU: indeed, if it's called at translation time it's fine11:27
ElectronicRUhttp://pastebin.com/f2f9e2e3e11:27
ElectronicRUThis won't work?11:27
antocuniElectronicRU: I think it should work, but it's too long to read it carefully :-)11:30
ElectronicRUmain issue is in function dot: there is function _dotit.11:31
antocuniah right11:31
antocuniyes, it won't compile11:32
antocuniElectronicRU: why can't you just move _dottit outside dot?11:32
ElectronicRUOh, I shold pass space, two arrays... Oh my! But if it's necessary...11:33
antocuniyes, it is :-)11:38
Trundle (~andy@p5B133932.dip.t-dialin.net) joined #pypy.11:57
nsf (~nsf@jiss.convex.ru) left irc: Quit: WeeChat 0.3.1.112:28
engla (~ulrik@90-229-231-23-no153.tbcn.telia.com) joined #pypy.12:37
engla (~ulrik@90-229-231-23-no153.tbcn.telia.com) left irc: Changing host12:38
engla (~ulrik@wikipedia/Sverdrup) joined #pypy.12:38
nsf (~nsf@jiss.convex.ru) joined #pypy.13:18
lucian (~lucian@cpc6-newc9-0-0-cust64.gate.cable.virginmedia.com) left irc: Remote host closed the connection13:39
ebo^ (~ebolad@233.195.116.85.dsl.manitu.net) joined #pypy.13:46
voidspace (~voidspace@87-194-212-65.bethere.co.uk) joined #pypy.13:51
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) left irc: Ping timeout: 252 seconds13:52
Nick change: voidspace -> fuzzyman13:52
antocuni (~antocuni@host239-125-dynamic.24-79-r.retail.telecomitalia.it) left irc: Ping timeout: 276 seconds13:57
hpk (~hpk@HSI-KBW-095-208-109-209.hsi5.kabel-badenwuerttemberg.de) left irc: Ping timeout: 265 seconds14:04
ElectronicRU (~Electroni@pppoe2478.mv.ru) left irc: Ping timeout: 252 seconds14:15
gonsor (~quassel@kel30.kel.stud.uni-goettingen.de) joined #pypy.14:24
oroep (giangran@sirio.di.unipi.it) joined #pypy.15:02
antocuni (~antocuni@host239-125-dynamic.24-79-r.retail.telecomitalia.it) joined #pypy.15:17
magciusPyPy interprets Python code, right? Like, I could just compile the PyPy interpreter and pass it a string of Python code at runtime, right?15:25
Nick change: froosch_ -> froosch15:26
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) left irc: Ping timeout: 240 seconds15:31
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) joined #pypy.15:31
kindly (~david@cpc3-lewi8-0-0-cust995.bmly.cable.ntl.com) joined #pypy.15:36
hpk (~hpk@HSI-KBW-095-208-109-209.hsi5.kabel-badenwuerttemberg.de) joined #pypy.15:44
antocuni (~antocuni@host239-125-dynamic.24-79-r.retail.telecomitalia.it) left irc: Quit: Leaving15:44
fijalmagcius: yeah15:48
fijalAdeman: weren't you supposed to kill all the result factory stuff?15:48
magciusOkay, how is the PyPy interpreter supposed to know about files and such under another VM?15:58
magcius(What if the VM doesn't support file reads/writes?)15:58
fijal"under another VM"?15:59
fijalwhat do you mean?15:59
magciusLike JVM or CLI16:02
magcius(or Tamarin)16:02
pedronis (~user@c-d149e353.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy.16:03
fijalyou have to fake it I guess16:06
fijalpedronis: hi16:07
pemryan (~pem@159.226.35.246) left irc: Remote host closed the connection16:09
magciusfijal, I'm asking where/how it translates file objects16:09
magciusOr where there's support for that in the interpreter.16:10
magciusIIRC files are very important to PyPy.16:10
fijalfor example cli has a directory called src16:10
fijalthere are external functions that are supported by cli16:10
magciusI didn't see anything file-related in there, but I'll check again16:11
magciusOh. I misspoke16:11
magciusSorry16:11
fijalthere is ll_os16:12
pedronisit's all a bit of a kludge because we assume file descriptors16:14
magciusyeah, I only see two references to it in the *.py files in the cli directory, neither of them apparently are related to loading the modul16:14
magciuse16:14
magciuswhich are rte.py and database.py16:14
fijalmagcius: you have to look at cli files16:14
fijalnot py files16:14
fijalin src directory16:14
magciusfijal, yeah, but where is this module loaded at runtime?16:15
fijalthe module is all written in rpython you don't have to worry16:15
fijalyou have to provide os.open and friends basically16:15
gonsor (~quassel@kel30.kel.stud.uni-goettingen.de) left irc: Ping timeout: 265 seconds16:15
magciusAnd how do I "link" the two together?16:16
fijalthe two being?16:17
fijalyou have to provide os.open which returns a file descr (a number)16:17
fijalthat can be passed to os.read16:17
fijala bit tedious, I know16:17
magciusAnd I provide os.read too?16:17
magciushow do I link the support file I make and the rpython module together?16:17
magciusohhh16:23
magciusit does generator.call_primitive("ll_os", "read") or whatever.16:24
pedronisyes16:26
magciusokay, okay16:28
Action: xorAxAx hands magcius the scroll of grep16:30
magciusxorAxAx, I was using rgrep16:30
magciusxorAxAx, I was grepping for "ll_os", not "pypy.builtin"16:30
pedroniswell the relevant code starts in oosupport/metavm.py _Call and get_primitive_name16:35
magciusyeah16:39
ElectronicRU (~Electroni@pppoe2478.mv.ru) joined #pypy.16:54
fijalElectronicRU: hey16:58
ElectronicRUHello.17:01
gonsor (~quassel@kel30.kel.stud.uni-goettingen.de) joined #pypy.17:06
lucian (~lucian@cpc6-newc9-0-0-cust64.gate.cable.virginmedia.com) joined #pypy.17:31
tav (~tav@89.241.155.169) left irc: Ping timeout: 264 seconds17:40
tav (~tav@78.144.194.84) joined #pypy.17:44
kindly (~david@cpc3-lewi8-0-0-cust995.bmly.cable.ntl.com) left irc: Quit: Leaving17:46
nettok (~netto@200.119.151.11) joined #pypy.18:05
ehmo (nope@chello089173023218.chello.sk) left irc: Read error: Connection reset by peer18:06
ehm (nope@chello089173023218.chello.sk) joined #pypy.18:06
nettok (~netto@200.119.151.11) left irc: Ping timeout: 264 seconds18:14
nettok (~netto@200.119.151.7) joined #pypy.18:18
nettok_ (~netto@200.119.151.11) joined #pypy.18:21
kenaan03fijal 10r7112814 07M(pypy/benchmarks/own/gcbench.py): fix comment ...18:22
nettok (~netto@200.119.151.7) left irc: Ping timeout: 248 seconds18:23
kenaan03fijal 10r7112914 pypy/benchmarks 05A(spitfire.py) 07M(benchmarks.py): Add running the original version of spitfire, named spitfire and ...18:44
panni_ (hannes@ip-95-222-52-93.unitymediagroup.de) joined #pypy.18:51
engla (~ulrik@wikipedia/Sverdrup) left irc: Quit: leaving19:04
nettok_ (~netto@200.119.151.11) left irc: Quit: Ex-Chat19:11
hpkfijal:  could you give the "slower" benchmarks a red rounding or so? 19:12
hpkand did you get to do the second version with pypy-c? 19:12
fijalcan you explain what means "red rounding"?19:13
fijalnope, didn't get to it19:13
hpki mean a red frame, instead of the grey one - or some other easy-to-detect marker that a benchmark is slower 19:13
hpki mean pypy-c-jit is slower than cpython19:13
hpkwell, maybe it's fine - i just look for the red "slower" i guess19:14
fijalI would say red slower is fine19:14
hpkcan you make the title be closer to its belonging box? 19:15
hpkthe titles are almost closer to the wrong box 19:15
fijalwell, it's the CSS question19:15
hpkin my firefox 3.519:15
fijalit's a css question even19:16
hpkum, yes, so what? 19:16
fijalI don't know :)19:16
fijaldo you know any css?19:16
Action: Ademan does19:16
hpka bit - but i am sure there are people here who know a lot more :) 19:17
Action: Ademan needs to get to work, but if it's unresolved in 8 hours I'll be happy to help19:17
fijalthere should be some margin thingie, lemme have a look...19:18
Ademanmargin-bottom19:18
magciusI know CSS.19:18
hpkgah. firefox is behaving worse and worse for me - in terms of hanging, not restarting and other fun behaviour 19:18
Action: Ademan returns to uselessness19:18
magciusfijal, what's the HTML file?19:19
fijalmagcius: in http://codespeak.net/svn/pypy/build/bot2/jsplot/19:19
fijalplotsummary.html19:19
magciusCan I see it in use?19:20
fijalhttp://buildbot.pypy.org/plotsummary.html19:20
magciusThanks.19:20
gutworth (~benjamin@64-131-1-181.usfamily.net) left irc: Ping timeout: 240 seconds19:20
fijalit's about the margin between text and a graph19:20
magciusAnd what do you want to do?19:20
magciusMake the background red for those that say "slower"?19:20
hpka text usually belongs to the box below it, and it should be closer to it 19:20
magciusarrgh firefox19:21
gutworth (~benjamin@64-131-1-181.usfamily.net) joined #pypy.19:21
magciusIt's a table.19:22
magciusmargin doesn't work on tables19:22
kenaan03fijal 10r7113014 07M(pypy/build/bot2/jsplot/css/main.css): an attempt to put text closer to graphs ...19:23
hpkmuch better in my browser now 19:23
magciusoh19:24
magciusokay19:24
fijalhpk: good :)19:24
magciusput margin: 0; in .smallcaption19:24
magciusyeah, that's what you did19:24
hpkfijal:  sorting by speed would also be nice, maybe - then the "red" issue just vanishes 19:24
hpki.e. have the slowest ones first or last 19:24
fijalmaaaybe19:25
fijalhowever, I don't want order to swap19:25
fijalat random points in time19:25
fijalI'm happy with alphabetical order19:25
hpkwell, this would mean that pypy performance randomly swaps which would be interesting to notice, wouldn't it? :) 19:25
magciusfijal, mind making the td have a class "slower" when it's slower?19:25
fijalheh19:25
fijalmagcius: why?19:26
hpkfijal:  i claim it's actually interesting information, the ordering by speed, whereas alphabetical is pointless 19:26
magciusfijal, you could make them have a background color for better visual stats.19:26
fijalhonestly, I don't have opinions a bit on that19:28
Alex_Gaynor (~alex@nidoran-37.dynamic.rpi.edu) joined #pypy.19:28
hpkfijal:  why not say flat right you don'T want to change things and leave it the way *you* like it? :) 19:28
hpkthanks anyway for the moving of the text :) 19:29
fijalhpk: I'm more on to "feel free to hack on it if you like, I won't oppose"19:29
fijalit's a bit irreleveant to me19:29
exarkunIt probably will be a simple change, yes.  What I'm mostly interested in is what it will break, and whether there is a way to have an intermediate period where the behavior is still provided, by anyone relying on it gets warned that it's going away.19:29
exarkunoops, wrong window19:29
hpkapplicable maybe anyway :) 19:30
fijalexarkun: it actually fits in the mood though :)19:30
fijalhpk: in fact, I would be more than happy if more people get their grip on that stuff :)19:30
exarkunheh19:30
hpkfijal:  naturally, we all have bits we care for where we would like others to help as well :) 19:31
fijalyeah19:31
fijalhpk: do you stay for pycon sprints?19:32
fijalat least a bit?19:33
hpkintend to leave on monday, so no 19:33
hpkmy GF is with me, and being around tutorials, the conf is already quite some occupied time (she'll attend the conf as well, is interested in things) 19:33
fijalok19:34
hpkwe haven't booked our fly away from atlanta yet, so maybe i stay a day longer or so - what are your plans? 19:34
fijalso no chance sitting on sandboxed gw :)19:34
fijalI stay for whole sprints19:35
hpkhum, let's see how things evolve 19:35
hpki'd like to spend some hours with you on that 19:35
fijalhpk: I'll do the pypy-c no-jit run today, just will wait for run to finish19:35
hpkcool - do you know already the results? 19:36
fijalof pypy-c-nojit run?19:36
fijalno19:36
hpkah - and "today" means something different now i realize :) 19:36
fijalheh, yes :)19:37
hpktonight is a shuttle start i think, a couple of hundred kms away from you 19:38
stakkars (~tismer@i59F7C15A.versanet.de) left irc: Ping timeout: 246 seconds19:42
fijalhpk: you can actually buy a shuttle19:46
fijalfor the price of taking it away or something19:46
stakkars (~tismer@i577B42F7.versanet.de) joined #pypy.19:47
kenaan03fijal 10r7113114 07M(pypy/build/bot2/pypybuildbot/builds.py): Add a step that runs benchmarks agains pypy without jit as well ...19:49
gutworthwhat is testrunner anyway?19:50
hpkfijal:  there certainly are people going for that - and they certainly don't get all the electronics with it 19:50
fijalhpk: it's very costly to take it away19:51
fijalactually, it's restricted to "US educational organization"19:51
fijalor something like this19:51
hpkgutworth:  IIRC it's for running tests in separate processes per-directory - it was written by samuele 19:52
gutworthah19:54
pedronisreally me+iko19:58
gutworthis it used for anything?20:13
fijalfor nightly runs20:13
pedronisfor our own tests runs20:15
pedronisit parallizes tests and does other things like catch segfaults etc20:15
nsfhttp://shootout.alioth.debian.org/which-programming-language-is-fastest.php - omg, LuaJIT2 is about 4x faster than google Go on benchmarks.. :P20:15
Action: nsf thought that it is impossible20:16
fijalnsf: those benchmarks are a bit overly numeric to compare real-world usage20:16
fijalnsf: why, because go's folks said "it's awesome"?20:17
nsfi mean beat statically-typed compiled language with dynamic JIT :)20:17
nsffijal: well, it's still an impressive result :)20:17
fijalbesides, computer language shootout is not very good at running benchmarks20:17
MostAwesomeDudensf: You must be new here. :320:17
xorAxAxnsf: brainfuck on .net vm is a few times faster than a native version of it20:17
xorAxAxnsf: (compiled brainfuck)20:17
nsfMostAwesomeDude: yep20:17
nsfxorAxAx: :D20:17
fijalnsf: I was unable to repeat their results to a large degree20:17
nsfhe-he20:18
fijaland also was unable to contact them20:18
Action: gutworth worries a lot about bf preformance20:21
voidspace (~voidspace@87-194-212-65.bethere.co.uk) joined #pypy.20:21
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) left irc: Ping timeout: 246 seconds20:22
Nick change: voidspace -> fuzzyman20:22
xorAxAxgutworth: apparently MS did :)20:22
kenaan03fijal 10r7113214 07M(pypy/build/bot2/jsplot/js/plot.js): A hack to allow displaying nonjit results. We might want further integration ...20:23
fijalhpk: http://buildbot.pypy.org/plotsummary.html?nojit20:25
fijalyou might need to C-refresh some of your JS urls20:25
fijalhttp://buildbot.pypy.org/js/plot.js20:25
fijallike this one20:25
Alex_Gaynorfijal: I assume the purpose of this is to see how the run time compares?20:26
hpkfijal:  the legend is wrong, it still says pypy-c-jit 20:27
hpkso to begin with: AI gets twice as slow with the jIT 20:28
hpkno, wrong, sorry20:28
fijalAlex_Gaynor: I'm not sure yet what's the purpose20:28
Alex_Gaynorhehe20:29
fijalAlex_Gaynor: it's frustrating that perf.py does not support more than two interpreters20:29
Alex_Gaynorfijal: yes, would be nice for it to do more, no reason it can't though20:30
fijal"it's work" reason20:30
Alex_Gaynor:)20:30
hpkfijal:  ok, so pypy-c-jit is faster than pypy-c everywhere - maybe it makes more sense to compare pypy-c against pypy-c-jit after all, that's at least what i was interested in 20:31
hpki guess that would be a trivial change 20:31
hpkunless mechanics make it hard :) 20:31
hpkand eventually pypy-c-jit against unladden swallow - such 3 different pages would cover the basic needs and interests IMO 20:33
Alex_Gaynorhpk: it should really only be one page though20:33
hpkyes, maybe - but mostly those are three different angles of comparing and if having more than 2 is difficult/too-much-work than i'd be fine with 3 pages 20:34
fijalhpk: except then we would need to nightly build US20:34
pedronisfijal: so we are marginally slower on spitfire and faster on spitfire_cstringio20:34
fijalor something20:34
fijalpedronis: yes20:35
pedronisamazing20:35
fijalpedronis: I'm about to use stringbuilder a bit more in places20:35
hpkfijal:  sure, don't want to rush you - just i think that comparing pypy-c and pypy-c-jit makes more sense, is that easier to do? 20:36
Alex_Gaynorfijal: I'll work on a patch for perf.py to run multiple interpretters20:37
hpkhtml5lib is a high contender to flip from slower to faster :) 20:38
fijalhpk: as of now, it requires further fiddling in places which I don't like20:38
fijalhpk: I would like to have it nicely on one graph, however, I don't feel like doing it "right" as of now20:38
fijalAlex_Gaynor: that would be awesome20:38
hpkapart from ai is meteor also using generators a lot? 20:39
pedroniswell ai is using tuple(genexp) which is even worse20:40
kenaan03hpk 10r7113314 06D(pypy/testresult/): remove very old unused dir ...20:43
gutworthwhy does fixedview() copy what ever is returned from unpackiterable?20:43
hpkwhere are the benchmarks actually? 20:44
fijalhpk: plotting or running20:44
fijal?20:44
hpkrunning, the code20:44
fijalhpk: http://codespeak.net/svn/pypy/benchmarks/20:44
fijalgutworth: because of resizable/unresizable list20:44
fijalwe don't have a cast between those20:45
fijalthe only way is to copy a list20:45
gutworthoh right20:45
fijalI know it's a bit stupid :-/20:45
fijalhowever the model is as it is right now20:45
gutworthsince unpack iterable already copies :(20:46
pedronisnot always20:46
fijalyeah20:46
fijalbut you don't know if it copied or not20:46
fijalpedronis: unpackiterable always copies I think20:46
pedronisbut fixedview has shortcuts no20:47
pedronisin the std space20:47
fijalpedronis: yes, but in case you do fixedview on a list20:47
fijalyou effectively get two copies20:47
fijal(I think)20:47
pedronisno20:48
pedronisbecause there's a shortcut20:48
pedronisso you get only one20:48
pedronisjust wondering which fixedview gutworth is starting at20:48
fijalpedronis: ok20:48
fijalpedronis: but in case you have something else than a list, you get two copies20:48
fijal(say dict or set or something)20:49
fijalwell, in fact we should have a cast from resizable -> unresizable20:49
fijaland the other way around20:49
fijalwhich would be used here20:49
pedronisyou mean an explict op20:50
pedronis?20:50
fijalyes20:50
fijalwhich would have a trivial rtyping20:51
pedronis?20:51
fijalone would simply dereference pointer20:51
fijalthe other would allocate a small wrapper around20:51
fijalcast_resizable_to_non_resizable(listobj)20:51
pedroniswell is not really a cast20:51
fijalno20:51
fijalbut there are places which could use that20:52
fijalgutworth: lists in rpython are a mess, unfortunately20:53
gutworth:P20:53
pedronisalso I'm confused20:54
pedronisthere is over allocation20:54
pedronisso you cannot simply read out the fixed list20:54
fijalbah20:54
fijalindeed20:54
fijalok, so copying is the only way it seems20:55
nsfomg, just ported my hackerish C declaration parser (for documentation system) to pypy.. uses pygments and ply: http://jiss.convex.ru/cdecl.pypy (there is also .py version, uses CPython, see Version string on the page)20:55
nsfit works! :)20:55
nsf1.1.0 a bit slow though20:55
fijalnsf: well, use svn trunk20:56
fijalpypy 1.1.0 does not contain the jit20:56
gutworthat least we can congratulate ourselves for having good gcs :)20:57
fijalgutworth: you mean because we copy stuff a bit all over the place?20:57
nsffijal: yep, I know that.. the problem is - I have 1gb of ram only :D so.. I ask friend to build pypy for me, when 1.2 will come out I'll ask him again :D20:57
gutworthyes20:57
fijalheh20:58
fijalgutworth: a bit, yes :)20:58
pedroniswe lose more when things are too big or pressure tenures stuff20:59
kenaan03fijal 10r7113414 07M(pypy/trunk/pypy/objspace/std/stringobject.py): Use stringbuilder for string join ...21:03
Alex_Gaynorfijal: so can I expect django templates to magically get faster with your latest commit :)21:04
fijalI don't know21:04
fijalI'll kick the buildbot21:04
Alex_GaynorI'll start work on perf.py now21:04
Action: Alex_Gaynor is supposed to be sprinting on django21:05
pedronisfijal: did you see that our app test (without jit) segfaulted last time21:05
fijalpedronis: nope21:05
pedronisunhappy21:05
fijaldoes not look too good21:05
pedronisctypes maybe21:06
fijalamaury did ctypes work21:07
pedronisyes21:07
pedronisit's ctypes tests that died21:07
fijalbummer21:07
hpkAlex_Gaynor:  you are, indirectly, aren't you? :) 21:13
Alex_Gaynorhpk: haha, "I'm making all of your projects faster... 2 years from now"21:14
hpkexactly :) 21:14
gonsor (~quassel@kel30.kel.stud.uni-goettingen.de) left irc: Read error: Operation timed out21:15
pedronisthat's 2012, we wil have jetpacks (maybe not)21:20
Alex_GaynorDjang on Jetpacks?  I'd +1 that21:21
gutworthgrrr. another place attribute lookup is duplicated...21:23
fijalAlex_Gaynor: django is easy to make faster21:23
frooschcode duplication might be for redundancy purposes21:24
pedronisfijal: ?21:25
fijalpedronis: as of django developer21:25
fijalnot as of VM developer21:25
pedroniswell we are speeding up the benchmark "django" whatever that means21:28
fijalit's not 'django'21:29
fijalat all21:29
fijalalthough it gives good publicity21:29
fijalshould be named "cheetah"21:29
pedronisdeceptive marketing, we are evil or what21:29
hpkfroosch:  you mean like for fail-over? :) 21:32
magciusfijal, stringbuilder?21:36
fijalmagcius: ?21:36
fijalmagcius: I would appreciate if you use longer sentences, thanks21:36
magciusfijal, is that a PyPy thing, or is it a C/CLI/JVM thing?21:36
fijalit exists in both cases21:36
kenaan03benjamin 10r7113514 pypy/trunk/pypy/objspace/std 07M(test_typeobject.py typeobject.py): fix type.__getattr__ to only respect data descriptors if they have __get__ ...21:39
kenaan03benjamin 10r7113614 07M(pypy/trunk/pypy/objspace/std/objspace.py): kill unused import ...21:40
Alex_Gaynorfijal: I have it sort of working: http://paste.pocoo.org/show/174708/21:48
fijalAlex_Gaynor: honestly, I'm not the one responsible for this code, can you make it so it's pushed upstream?21:48
Alex_Gaynorfijal: absolutely, as you can see from the output it's not quite ready, but it's almost there.  I'm going to take a break and then work some more21:49
[mathias] (~mathias@0x573e8631.esnqu2.dynamic.dsl.tele.dk) joined #pypy.21:54
gonsor (~quassel@kel30.kel.stud.uni-goettingen.de) joined #pypy.22:04
Action: pedronis off22:08
pedronis (~user@c-d149e353.022-54-67626719.cust.bredbandsbolaget.se) left irc: Quit: ERC Version 5.2 (IRC client for Emacs)22:22
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) left irc: Ping timeout: 240 seconds22:39
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) joined #pypy.22:39
hpkfijal:  i think for pycon and VM panel purposes comparing to US will be of major interest 22:41
Alex_Gaynorthere isn't a VM panel at pycon this year I though?22:43
Alex_Gaynorjust the plenary sessions22:43
fijalVM meeting22:43
Alex_Gaynorah no VM meeting for me, just the language summit22:44
hpkright, "summit" is the official name i think22:46
voidspace (~voidspace@87-194-212-65.bethere.co.uk) joined #pypy.22:46
hpkspeaking of the devil, here the master of the summit comes :)  hi michael :)22:48
kenaan03benjamin 10r7113914 07M(pypy/trunk/pypy/objspace/std/objspace.py): rewrite to clarify and avoid doing unneeded lookups ...22:48
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) left irc: Ping timeout: 272 seconds22:48
Nick change: voidspace -> fuzzyman22:48
Action: hpk is tensed to see when/if html5lib will cross the barrier in http://buildbot.pypy.org/plotsummary.html22:55
fijalrietveld is a lot about tracing22:59
Alex_Gaynorfijal: ugh, I still can't find the rietveld template file23:00
[mathias] (~mathias@0x573e8631.esnqu2.dynamic.dsl.tele.dk) left irc: 23:04
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) left irc: Read error: Operation timed out23:12
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) joined #pypy.23:12
hpkpartly fitting, i'd say: http://www.indiangeek.net/programmer-competency-matrix/23:13
hpkmostly even, i don't agree to the code organisation parts23:16
fijalhpk: heh. fibonacci heaps is a data structure that is so tedious to implement that noone uses it23:22
fijal(it has a high constant as well, due to complexity)23:22
hpkheh23:23
Action: gutworth wonders if there are O(1) programmers23:24
hpki guess the matrix could be tuned/extended a bit to reflect open source environments a bit more 23:24
fijalbut real wtf is years of professional experience23:24
xorAxAxwell, you cant excel in all categories, fijal :)23:25
hpk:)23:25
fijalxorAxAx: :)23:26
nsfO(1) is someone who predicts future I guess23:26
nsf:\23:26
fijalxorAxAx: I guess I'm "limited to primary IDE" :-)23:26
xorAxAxvesta is a DVCS with a lot of O(1) operations23:26
hpk"Good knowledge of editors, debuggers, IDEs, open source alternatives" - um - open source alternatives? - this is what i mean with "could be adjusted a bit" :) 23:28
xorAxAxyou mean "good knowledge of FOSS editors, debuggers, ... and closed source alternatives"? :)23:29
fijalxorAxAx: did you do stuff with beamer/other latex?23:29
fijallike advanced stuff :)23:29
hpko(2) at least? 23:29
xorAxAxfijal: yes, i used beamer, tikz and such advanced stuff23:30
xorAxAxand i had my first OOo driven presentation a few weeks ago. i was severely disappointed and will use beamer again23:30
hpkxorAxAx:  or "knowledge of common editors, debuggers, ... and closed source alternatives if applicable" or so 23:30
fijalOOo driven?23:30
xorAxAxopenoffice23:30
xorAxAx.org23:30
fijalok23:30
fijalI'm trying to make a timeline23:31
fijala beamer style which will include a timeline, that is23:31
hpkyou are really taking these preps the o(3) way it seems23:31
xorAxAxah23:31
xorAxAxfijal: that sounds like advanced hackery indeed. did you read the chapters about beamer styles and relevant parts of the tikz docs already?23:32
fijalxorAxAx: nope23:32
fijalhpk: ?23:32
fijalwhat is o(3)?23:32
ebo^the same es o(1) ?23:33
xorAxAxlim x->oo f(x) / 3  =023:33
hpkjaja, level-3 o(logn) 23:34
fijalxorAxAx: I was sort of expecting to avoid reading advanced documentation :-)23:34
fijalseems it's not feasible23:34
Action: hpk hurries to prepare his tutorial, finally 23:34
xorAxAxfijal: i guess you need to understand a lot of (la)tex and tikz to get a nice result23:35
fijalI know quite some latex23:35
fijalhpk: do you happen to have py logo and merlinux logo at better resolution?23:50
hpkreally logn23:51
fijalgo away :)23:51
fijalI did not ask for vector version23:51
fijalmind you23:51
hpkhum, i need to look 23:51
hpktake a look at the merlinux share/image folder, it contains a merlinux-fertig.jpg and pypy-logo.tif 23:53
hpki presume you want a pypy logo, not a pylib/py.test one :) 23:53
--- Sun Feb 7 201000:00

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