#pypy IRC log for Thursday, 2011-07-21

cornmander (~cornmande@pool-96-224-227-50.nycmny.fios.verizon.net) left irc: Remote host closed the connection00:04
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) left irc: Ping timeout: 276 seconds00:04
stakkars_ (~tismer@91-66-101-126-dynip.superkabel.de) joined #pypy.00:05
derdon (~derdon@p5DE89E12.dip.t-dialin.net) left irc: Remote host closed the connection00:14
stakkars_ (~tismer@91-66-101-126-dynip.superkabel.de) left irc: Quit: hasta la vista00:18
Sho_ (~EHS1@kde/hein) left irc: Quit: Stop leaking memory like it's going out of fashion.00:44
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.00:47
amaury (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 240 seconds00:49
rokujyouhitoma (~rokujyouh@240f:11:fa84:1:21f:f3ff:fed7:c020) joined #pypy.00:53
Ademan (~dan@adsl-71-141-241-76.dsl.snfc21.pacbell.net) joined #pypy.00:54
Nick change: Gulaway -> Gulopine01:07
lawl (d03605ba@gateway/web/freenode/ip.208.54.5.186) joined #pypy.01:16
lawlhi! i was wondering why pypy isn't in ubuntu repos?01:16
Alex_GaynorIt was in the debian repos many years ago, but was removed, we haven't pursued being added back.  The decision rests with canonical/debian I suppoes.01:17
lawlits odd that a project of such a caliber was missing... where as gltron flourishes -____-01:17
mwhudsonthere's the boring point that pypy requires too much ram to build on the ubuntu build farm reliably01:18
Alex_Gaynormwhudson: that applies to a PPA, does it apply if canonical builds it officially as well?01:18
mwhudsonAlex_Gaynor: i guess noones found that out yet01:18
lawlis it that intensive a build? compared to lets say virtualbox01:19
mwhudsonthe official builders probably have a bit more ram, on account of not running virtualized 01:19
lambacckamauray_: I am trying -Ojit --gcrootfinder=shadowstack on windows. Without shadwostack it doesn't work.01:19
Alex_Gaynordunno, how intensive is virtualbox to build?01:19
mwhudsonbut i don't think it's massively different01:19
Alex_Gaynorthat's unfortunate01:19
lambacckamaury_: I might need to get back to you tomorrow on whether it works or not (on windows)01:20
lawlAlex_Gaynor: i assume its one of the more intensive builds01:20
lawl (d03605ba@gateway/web/freenode/ip.208.54.5.186) left irc: Quit: Page closed01:21
stakkars_ (~tismer@91-66-101-126-dynip.superkabel.de) joined #pypy.01:23
jonanin (~jonanin@66-188-97-24.dhcp.mdsn.wi.charter.com) joined #pypy.01:36
tarek (~tarek@sd-11414.dedibox.fr) left irc: Ping timeout: 246 seconds01:46
lambacckHas anyone give any serious thought to an embedding interface?01:46
tarek (~tarek@sd-11414.dedibox.fr) joined #pypy.01:46
CIA-5503justinpeel 07roundup * 10#801/itertools/next(?) behavior incompatible with CPython: 01:47
CIA-55[chatting] The problem was with islice. I've attached a patch that fixes the problem and01:47
CIA-55adds in a simple test for this behavior. If someone see ... * 14https://bugs.pypy.org/issue80101:47
iratsu (~alang@cpc2-oxfd21-2-0-cust354.4-3.cable.virginmedia.com) joined #pypy.01:47
justinpeelWith my numpy additions I've been branching and then asking fijal or whoever else is up for it (okay, only Alex Gaynor) to look at them and merge them if they are approved. What sort of work flow should I do for something else that I've done? I sped up the print/sys.stdout.write functionality and put it in a branch, but I'm not sure if I should submit it as a patch on the tracker or send an email or what. Any suggestions?01:51
davisagli (~davisagli@davisagli.com) left irc: Excess Flood01:56
davisagli (~davisagli@davisagli.com) joined #pypy.01:57
Kami_ (~kami@unaffiliated/kami-/x-9078513) left irc: Excess Flood02:12
Ademan (~dan@adsl-71-141-241-76.dsl.snfc21.pacbell.net) left irc: Ping timeout: 252 seconds02:12
Kami_ (~kami@unaffiliated/kami-/x-9078513) joined #pypy.02:13
Ademan (~dan@adsl-71-141-241-76.dsl.snfc21.pacbell.net) joined #pypy.02:21
fenrrir_ (~fenrrir@187.40.166.121) left irc: Quit: Saindo02:27
davisagli (~davisagli@davisagli.com) left irc: Excess Flood02:48
davisagli (~davisagli@davisagli.com) joined #pypy.02:49
stakkars (~tismer@91-66-101-126-dynip.superkabel.de) left irc: Quit: schnarch02:58
Nick change: stakkars_ -> stakkars02:58
stakkars (~tismer@91-66-101-126-dynip.superkabel.de) left irc: Quit: schnarch02:59
lambacckamaury_: with --gcrootfinder works on windows :)03:14
lambacckor not :(03:16
Da_Blitz (~Da_Blitz@203.56.250.63) joined #pypy.03:18
lambacckinterpreter starts up but when I try a setup.py build on pyodbc I get: http://pastebin.com/JvrNCdKA03:19
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) left irc: Ping timeout: 240 seconds03:19
davisagli (~davisagli@davisagli.com) left irc: Excess Flood03:36
davisagli (~davisagli@davisagli.com) joined #pypy.03:37
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.03:38
davisagli (~davisagli@davisagli.com) left irc: Excess Flood03:45
davisagli (~davisagli@davisagli.com) joined #pypy.03:45
Kami_ (~kami@unaffiliated/kami-/x-9078513) left irc: Quit: Off03:51
Kami_ (~kami@unaffiliated/kami-/x-9078513) joined #pypy.03:55
Leemp2 (~lee@c-67-183-124-170.hsd1.wa.comcast.net) joined #pypy.04:00
Leemp (~lee@c-67-183-124-170.hsd1.wa.comcast.net) left irc: Ping timeout: 240 seconds04:02
davisagli (~davisagli@davisagli.com) left irc: Excess Flood04:09
davisagli (~davisagli@davisagli.com) joined #pypy.04:10
Ademanlambacck: if you haven't already, please file a bug report here: https://bugs.pypy.org/ even better if you can create a more concise way to reproduce the bug04:30
jimbaker` (~jbaker@c-67-176-84-43.hsd1.co.comcast.net) left irc: Quit: Coyote finally caught me04:36
Count_Niedar (~bleh@ip68-99-166-222.hr.hr.cox.net) left irc: Read error: Connection reset by peer04:39
Niedar (~bleh@ip68-99-166-222.hr.hr.cox.net) joined #pypy.04:39
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) left irc: Ping timeout: 264 seconds04:59
Nick change: Gulopine -> Gulaway05:05
davisagli (~davisagli@davisagli.com) left irc: Excess Flood05:09
davisagli (~davisagli@davisagli.com) joined #pypy.05:10
bogner (~bogner@d50-99-181-1.abhsia.telus.net) joined #pypy.05:18
`fox` (~fox@host254-107-dynamic.45-79-r.retail.telecomitalia.it) joined #pypy.06:12
aleksi (~aleksi@85.235.191.82) joined #pypy.06:12
brutal_chaos (~Justin@c-98-232-189-109.hsd1.or.comcast.net) joined #pypy.06:22
DasIch__ (~DasIch@p3E990E28.dip.t-dialin.net) joined #pypy.06:25
brutal_chaosWhat is the process for getting numpy working in pypy?06:27
brutal_chaosIf possible, I'd like to help.06:28
mvt (~mvantelli@87.213.45.85) joined #pypy.06:28
DasIch_ (~DasIch@p3E991524.dip.t-dialin.net) left irc: Ping timeout: 264 seconds06:28
Da_Blitzi belive fijal is the one to askabout numpy06:30
antocuni (~antocuni@host200-122-dynamic.16-79-r.retail.telecomitalia.it) joined #pypy.06:31
apollo13_ (~apollo13@2a01:4f8:120:3282::2) joined #pypy.06:31
Nick change: apollo13_ -> apollo1306:31
apollo13 (~apollo13@2a01:4f8:120:3282::2) left irc: Changing host06:32
apollo13 (~apollo13@unaffiliated/apollo13) joined #pypy.06:32
Ademanantocuni: hi06:33
Varriountbrutal_chaos: You mean micronumpy :p06:34
JaRoel|4D (~jaroel_4d@office.fourdigits.nl) joined #pypy.06:40
brutal_chaosI do?06:43
rokujyouhitoma_ (~rokujyouh@p8505e0.tokynt01.ap.so-net.ne.jp) joined #pypy.06:43
rokujyouhitoma_ (~rokujyouh@p8505e0.tokynt01.ap.so-net.ne.jp) left irc: Read error: Connection reset by peer06:43
rokujyouhitoma (~rokujyouh@240f:11:fa84:1:21f:f3ff:fed7:c020) left irc: Remote host closed the connection06:43
rokujyouhitoma (~rokujyouh@240f:11:fa84:1:21f:f3ff:fed7:c020) joined #pypy.06:43
Ademanantocuni: I'm about to go to sleep (our time zones seem rather incompatible) but I wanted to write a test for oobox_int and oounbox_int I was hoping I could just emit those opcodes directly in an oosupport test_template fijal mentioned llop.opname() but I don't see that anywhere in cli,jvm, or oosupport tests06:44
Ademanbrutal_chaos: yep, NumPy is the original project, micronumpy is the reimplementation06:45
brutal_chaosah cool. why not the same name? what's different?06:48
antocuniAdeman: yes, in general llop.OP directly generates OP06:49
antocuniI think you can just use it, it's not ootype-specific06:49
Ademanantocuni: I just didn't see it (directly) used in any of the ootype tests so I wasn't sure, I'm trying it right now, we'll see if it works the way I'm expecting06:55
antocuniok06:56
Alex_Gaynorbrutal_chaos: it's imported as numpy still, in our repository the directory is micronumpy, for now06:56
Ademanguess I'm doing something else wrong06:59
fijal (~fijal@196.24.41.254) joined #pypy.07:01
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.07:02
fijalhi07:03
antocunihi07:03
antocuniAdeman: what's the problem?07:03
fijaljustinpeel: I guess if they pass all the tests (and translate) then merge the bufio branch07:04
Trundle (~andy@p50897894.dip.t-dialin.net) joined #pypy.07:04
Trundle (~andy@p50897894.dip.t-dialin.net) left irc: Changing host07:04
Trundle (~andy@python/site-packages/trundle) joined #pypy.07:04
justinpeelfijal: okay, they could be a little better (faster), but it would break from a couple of the tests07:05
justinpeeland yes, all tests passed and it translated.. though I didn't translate all modules07:05
justinpeelI'll do that tomorrow morning and then merge if it works07:05
fijalok, cool07:06
fijalwell, they should not break tests at all ;)07:06
justinpeelI've been looking into adding dtypes to numpy.07:06
fijalit's kinda crucial piece of code07:06
fijalhow about multi dim arrays?07:06
justinpeelwell, unless the test isn't really so necessary07:06
justinpeelI was thinking dtypes first, then multi dim07:06
fijalok07:06
justinpeelfor instance, if a test is testing exactly how the buffering worked originally, and the original buffering system isn't that great, then we shouldn't keep that test if we move to a better buffering system07:08
Ademanantocuni: I'll have to try to catch you in a few hours, I'm exhausted and have work tomorrow07:08
fijaljustinpeel: that's up to discussions07:08
justinpeelanyway, I think that it is good enough for now07:08
fijal(I don't have any opinion yet)07:08
Ademanif only I could con someone into paying me to do this...07:08
fijalregarding speeding up i/o - there is jit work to be done07:08
justinpeelnext would probably be to actually write it in RPython07:09
Alex_Gaynorfijal: after I listen to this song, I will merge the ufuncs branch07:09
antocuniAdeman: ok, good night07:09
fijalAlex_Gaynor: ok, I'll look into slice branch then07:10
fijaljustinpeel: those are rpython, no?07:10
Alex_Gaynork07:10
brutal_chaosI am messing around with pypy, and I am having issues finding vcvarsall.bat. I have the batch file in my path, however, distutils is not picking it up. Is this a bug? Am I doing something wrong?07:13
justinpeelfijal: Well, I guess that streamio.py is, but app_io in the __builtin__ module isn't and it has the print function in it.07:13
brutal_chaospypy 1.507:13
fijaljustinpeel: ah ok, why do you bother about print?07:13
justinpeelbecause a lot of people use it07:14
fijalbrutal_chaos: what is this file supposed to be doing?07:14
fijaljustinpeel: true07:14
Ademanhrm something was specialized under my nose, anyways I've got an idea what to do, night07:15
Ademan (~dan@adsl-71-141-241-76.dsl.snfc21.pacbell.net) left irc: Quit: leaving07:15
Alex_Gaynorwhy should it be RPython though, we should be striving to make more stuff python IMO07:15
fijalfijal@hans:~/src/pypy/pypy$ hg pull -u07:15
fijalremote: Permission denied (publickey).07:15
fijaldid you guys kick me out as a developer when I was not looking?07:15
fijal[trying again worked btw]07:16
fijaljustinpeel: uh, it doesn't quite work07:18
justinpeelslices?07:18
fijaljustinpeel: I can write a zjit test for slices07:18
justinpeelor what?07:18
fijalyeah07:18
fijala failing one even07:18
justinpeelokay, then let me know07:18
fijalhm07:18
fijalwait :)07:18
fijalI'm jumping to conclusions07:18
fijalah uh sorry ;-)07:19
justinpeelYou're right, I didn't write a test for setting a slice of a slice07:19
fijalobviously setslice should force the left hand argument07:19
justinpeelyes, it has to07:19
fijalit's all fine then, yes sorry07:19
justinpeelno problem07:19
VarriountWhy would my friend be getting a "cannot find GC roots" error when running his server?07:19
Action: fijal improves test_zjit07:20
Varriount(running under pypy)07:20
fijaljustinpeel: right now the right hand argument is an array so you can't check07:20
fijalVarriount: because we have bugs :-/07:21
fijalVarriount: you can compile pypy with a special option that will disable source of those bugs07:21
fijalwe're going to hopefully phase that out in 1.607:21
VarriountBut my friend is using the released exe..07:21
brutal_chaosfijal: setup is failing at build_ext with the error 'Unable to find vcvarsall.bat'07:21
brutal_chaoswhether or not the extension builds, I don't care at this point. Just hoping to get vcvarsall.bat found07:22
fijalVarriount: yes, I know07:22
VarriountHow would I go about translating pypy using mingw?07:22
fijalVarriount: not much I can tell you besides "translate yourself a pypy with --gcrootfinder=shadowstack"07:23
fijalchances are it'll be faster than 1.5 :)07:23
Varriountfijal: What will be faster than 1.5? 1.6?07:23
fijalVarriount: current checkout07:24
fijalwe're aiming at making 1.6 some time soon07:24
fijalbrutal_chaos: ah ok, maybe you should try to wrap it in a way that ignores such errors?07:24
fijalbrutal_chaos: I have a bit no clue where distutils looks for such stuff (and how it does not find one)07:24
justinpeelfijal: I'm looking at the code and trying to see the problem.07:25
Varriountfijal: So distutils does the compilation part?07:25
VarriountSo I just have to set mingw up as the compiler for distutils?07:25
fijaljustinpeel: "the problem"?07:25
fijaljustinpeel: no no no, the problem is only in my head, it all works fine I think :)07:25
fijalVarriount: compilation of what?07:25
fijalVarriount: extension modules for pypy?>07:26
VarriountNo.. Pypy itself07:26
VarriountI know that somewhere during the process a compiler is needed07:26
brutal_chaosVarriount: do you use pypy and have it working with vc++9 (2008)?07:26
fijalyes, you need visual studio though07:26
fijalor you can wait for 1.607:27
brutal_chaosI have vc90 and win70sdk07:27
brutal_chaosthe two things needed for python to work.07:27
brutal_chaosjust trying to get pypy to work07:27
VarriountI have mingw07:27
VarriountVS does.. Bad things on my Computer07:27
fijalwell, mingw is a bit broken I think07:27
brutal_chaoslol understandable.07:27
brutal_chaosfijal: so is vc...07:28
VarriountMingw isn't broken?07:28
fijalhttp://doc.pypy.org/en/latest/getting-started-python.html07:28
fijalbrutal_chaos: I'm not the one who make calls on using a windows compiler here, but I kinda think VC is more "standard" for windows07:28
LoganLK (~LoganLK@202.180.89.21) joined #pypy.07:28
fijalanyway, mingw is not officially supported07:28
fijal(for whatever reason)07:28
ojii (~ojii@84.226.127.220) joined #pypy.07:29
brutal_chaosfor windows yeah, but it doesn't follow standards exactly.07:30
justinpeelfijal: No, I think that I see a problem. I actually thought of it when I was away from the computer and then forgot when I came back. I can't store the storage variable of the parent in the slice when the slice is created because the slice might be of something that hasn't been evaluated like (a + a). In that case, the storage won't exist.07:30
fijalah sure07:30
brutal_chaosthat's what I meant by broken07:30
fijaljustinpeel: but there is get_concrete() no?07:30
Varriountbrutal_chaos: Well, bleh to you07:30
fijalor you mean on a virtual slice?07:30
justinpeelfijal: oh nvm, I did fix that07:30
VarriountI am not installing visual studio that installs 6 different packages, startup scripts, and other junk07:31
brutal_chaosVarriount: wise07:31
VarriountIt took 2 hours for it to uninstall completely.07:31
brutal_chaosIt is evil in that regard, yes07:32
brutal_chaoswell, in many, but that one as well07:32
VarriountPersonally, I don't see why using vs is the norm. Aren't open source projects supposed to stick together?07:32
brutal_chaos (~Justin@c-98-232-189-109.hsd1.or.comcast.net) left irc: Read error: Connection reset by peer07:36
pjenveymaybe, but the reality is more work goes into the more established things vs just 'open source'07:36
pjenveyanyway it can be fixed but it needs work obviously. it's not the norm because you haven't fixed it yet =]07:37
jnoah1984 (~Justin@c-98-232-189-109.hsd1.or.comcast.net) joined #pypy.07:38
jnoah1984 (~Justin@c-98-232-189-109.hsd1.or.comcast.net) left irc: Client Quit07:38
justinpeelAlso, if anyone wants to look over my little patch to islice that goes with https://bugs.pypy.org/issue801, it can probably be put in as well.07:38
brutal_chaos (~Justin@c-98-232-189-109.hsd1.or.comcast.net) joined #pypy.07:38
Varriountfijal: So why does that "cannot find GC root" error happen?07:38
kenaan12alex_gaynor numpy-ufuncs 11913b1e486c54 15/pypy/: Merged default.07:39
kenaan12alex_gaynor numpy-ufuncs 11cb06fc29e57c 15/pypy/module/micronumpy/: Make the operators on an array use the ufuncs internally.07:39
Alex_Gaynorfijal: I just made a bunch of changes on numpy-ufuncs to make ufuncs be used internally for stuff, can you review quickly please?07:39
Alex_Gaynorit should be fine, all tests pass07:39
VarriountIs this micronumpy or normal numpy?07:41
Alex_Gaynorwhat's the difference?07:41
VarriountMicronumpy is supposed to be faster07:42
justinpeelVarriount: this is micronumpy that we're working on07:43
VarriountAh.07:43
kenaan12alex_gaynor numpy-ufuncs 112722bcb465c0 15/: Closing about to be merged branch.07:44
kenaan12alex_gaynor default 11a3f9ed7d37a7 15/pypy/module/micronumpy/: Merged numpy-ufuncs into trunk.07:45
dimazest (~dimazest@balticom-202-59.balticom.lv) left irc: Ping timeout: 260 seconds07:45
fijalVarriount: how long explanation do you want? 1 sentence? 5? 5 minutes?07:45
amaury (~amaury_@nat/google/x-pbmcnzqzcenmmkvh) joined #pypy.07:45
dimazest (~dimazest@balticom-202-59.balticom.lv) joined #pypy.07:46
antocunigood07:47
fijalwe postprocess assembler generated by C compiler07:47
antocunimy branch is 12% faster in this example:  http://paste.pocoo.org/show/443372/07:48
justinpeelfijal: I'm going to bed. If you have concerns about the setslice stuff I'll be on in 8+ hours.07:48
fijaland this has subtle bugs07:48
fijaljustinpeel: cool, I don't I'm about to merge07:48
antocunibecause we do a call instead of a call_may_force, and thus we don't allocate the frame07:48
Alex_Gaynorantocuni: is it completely correct?07:48
Hodgestar (~Hodgestar@gluon.za.net) left irc: Quit: ZNC - http://znc.sourceforge.net07:48
antocuniAlex_Gaynor: probably07:48
antocuniI discussed it yesterday with calr07:48
antocunicarl07:48
fijalantocuni: again, why call_may_force allocates the frame?07:48
fijal"this is how virtualrefs work" kind of answer?07:48
Hodgestar (~Hodgestar@gluon.za.net) joined #pypy.07:49
fijalHodgestar: morning07:49
Alex_Gaynorantocuni: can you benchmark it on http://paste.pocoo.org/show/443374/ ?07:49
antocunifijal: sorry, it's not that frame to be allocated, it's the virtualref itself07:50
fijalah ok07:50
fijalwell, but also cache flushes and whatnot07:50
antocuniyes, sure07:50
Alex_Gaynoryes, saving cache flushing is nice07:50
kenaan12fijal numpy-setslice 114ee6a8782003 15/pypy/module/micronumpy/test/test_zjit.py: improve tests07:51
antocunianyway, on translate.py it does not show any significant speedup07:52
fijalpffff07:52
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) left irc: Ping timeout: 260 seconds07:52
fijalok, we can't use pytest coverage with pypy07:52
fijalthat's annoying07:52
antocunibecause it's too slow?07:52
bogner (~bogner@d50-99-181-1.abhsia.telus.net) left irc: Ping timeout: 258 seconds07:52
antocuniAlex_Gaynor: your benchmark does not output a total time, or something?07:53
fijalno, because of incompatible pylib versions07:53
fijalI mean on pypy source code07:53
fijalnot even on top of pypy07:53
antocunipff :-(07:53
Alex_Gaynorantocuni: uh no it does not, it assumes you do `time pypy t.py`07:53
Action: antocuni runs it again07:53
Hodgestar (~Hodgestar@gluon.za.net) left irc: Quit: ZNC - http://znc.sourceforge.net07:54
fijalcan I try to enable branch support on the nightly run?07:54
antocunifine for me07:54
antocuniAlex_Gaynor: about correctness: basically we agreed that we don't even need the global version count for classes who are mutated under the hood07:54
Alex_Gaynorantocuni: how does it work then?07:55
antocunibecause the only noticeable difference might be that in cpython an __eq__ or __cmp__ is called, while in pypy is not07:55
Hodgestar (~Hodgestar@gluon.za.net) joined #pypy.07:55
antocunihowever, even in cpython is completely non deterministic07:55
antocunibecause it depends on the hash of the objects07:55
Alex_Gaynorwell it's guarnteed to happen if the hashes colide, right?07:55
`fox` (~fox@host254-107-dynamic.45-79-r.retail.telecomitalia.it) left irc: Ping timeout: 250 seconds07:55
bogner (~bogner@d50-99-181-1.abhsia.telus.net) joined #pypy.07:55
brutal_chaoskk, vcvarsall.bat is not found. ideas?07:55
kenaan12fijal default 11fb245ad56f79 15/pypy/module/micronumpy/: merge numpy-slice07:56
antocuniyes, but how do you guarantee that the hash collide?07:56
kenaan12fijal numpy-setslice 11bb33f506f1a2 15/: close merged branch07:56
kenaan12fijal default 1195a8a9907969 15/pypy/module/micronumpy/: merge default07:56
fijalantocuni: by returning 7?07:56
fijalor you mean how do you guarantee that hash collides with id?07:56
Alex_Gaynorclass Stupid(object): def __init__(self, x): self.x =x def __hash__(self): return hash(self,x) ?07:56
antocunino, because if you attach a custom __hash__ after the object is in the dict, the hash is not updated07:56
fijalright07:56
fijalbut you know what's the hash before you put it there07:57
Alex_Gaynoruntil the dict is ressized at least07:57
fijalyou can just return it07:57
fijalyeah07:57
brutal_chaosI asked in #python if there was an issue and there isn't so they can't help. :(07:57
fijalbrutal_chaos: well, you have to look how distutils looks for that07:57
fijal(and what this file even does)07:57
fijalantocuni: like this:07:58
fijalold_hash = hash(x)07:58
antocuniAlex_Gaynor, fijal: consider that if you pass a object with __hash__ as the argument of getitem/setitem, this case is already nicely handled07:58
fijalX.__hash__ = lambda self : old_hash07:58
antocuniyes, and then?07:58
antocunihow do you trigger X.__eq__?07:58
fijalwell, hashes collide no?07:58
antocuniyes07:58
fijal<antocuni> yes, but how do you guarantee that the hash collide?07:59
Alex_Gaynorso then you must call equal07:59
brutal_chaosfijal: currently running "find -iname *.py -exec grep -i -n 'vcvarsall.bat' \;" I hope that'll turn something up.07:59
fijallike this :)07:59
antocunibut the hash collision needs to happen between an object which is inside the dict and an object which is passed to getitem07:59
fijalnext question07:59
brutal_chaoswithin pypy's top folder07:59
Alex_Gaynorso d = {x: 3}07:59
Alex_Gaynord[hash(x)] ?07:59
Alex_Gaynortada, collision?07:59
brutal_chaosit's taking forever. Am hoping someone might have an answer.08:00
antocuniAlex_Gaynor: no, because hash(x) is not of a "good" class08:00
fijalantocuni: ok, but how about my solution above?08:00
antocuniso the dict is switched to the default strategy08:00
antocunifijal: what do you want to pass as a key to getitem/08:00
antocuni?08:00
Alex_GaynorI guess we should write a bunch of tests, and just see if htey pass :)08:01
Alex_Gaynorantocuni: did the benchmark finish?08:01
Action: antocuni sidenotes that he tried for half an hour to write such a test, so far all the proposed "solution" has already been tried :-)08:01
antocuniAlex_Gaynor: I'm running it now with the new pypy-c08:01
Alex_Gaynorok cool08:01
fijalhttp://paste.pocoo.org/show/443376/08:02
fijalantocuni: like this08:02
antocunifijal: no, it already works fine08:02
fijalbecause?08:02
antocunibecause first of all getitem checks if the key is of a "good" class08:02
antocuniand it doesn't08:02
antocuniso it switches the strategy08:02
brutal_chaosfijal: I found it, conveniently in msvc9compiler.py08:03
antocuniyou really need an empty class Y as a key08:03
fijalthat has a hash collision08:03
brutal_chaosIt looks in the registry, but for some reason it's not finding the path08:03
fijalbut you can't override the __hash__?08:03
antocuniAlex_Gaynor: 1% faster08:04
fijalbrutal_chaos: note that it comes from cpython08:04
fijalwe didn't modify it08:04
antocuni1:16.5 vs 1:17.908:04
antocuni(user time)08:04
fijalnot awesome08:04
Alex_Gaynorantocuni: guess that wasn't ehe bottleneck then08:04
brutal_chaosfijal: it is in the modified python subdirectory08:04
antocunifijal: if you override __hash__, then my new strategy is not used08:05
fijalbrutal_chaos: yes, but run the diff08:05
fijalbrutal_chaos: it's almost identical08:05
brutal_chaosfijal: which 2.7? 2.7.0-2?08:05
fijal2.7 and modified-2.708:06
fijalit has a one-line difference about manifests08:06
fijalsurely it's not about this bat08:06
antocunithe only way to call __eq__ is to have an instance of class Y which by change has the same hash as the key already in the dictionary. But this is 1) non-deterministic and 2) it cannot happen with minimark anyway08:06
brutal_chaosk, 2.7, is that cpython 2.7.0-2?08:06
fijalbrutal_chaos: it's 2.7.108:06
Alex_Gaynorfijal, antocuni: http://paste.pocoo.org/show/443382/ doesn't work on CPython and I don't know why08:07
aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection08:07
antocuniAlex_Gaynor: because CPython first checks identity, then equality, I think08:08
antocuniah no sorry08:08
Alex_Gaynorantocuni: identity fails though, so it shoudl fallback08:08
antocuniI misread the code08:08
Alex_GaynorI mean that's true, but not relevant I suppose :)08:08
antocunisure08:08
antocuniAlex_Gaynor: ah, you cannot assign __eq__ to the instance08:09
antocuniyou need to modify the class08:09
Alex_Gaynoreh, I meant to, I fail08:09
Alex_Gaynorantocuni: indeed it works now, does this work on your branch?08:09
antocuniI'm quite sure it does08:09
Action: antocuni tries08:09
antocuniyes08:10
antocuniwell, as I told you I already tried all the tricks you two proposed so far08:10
antocunibefore realizing that we don't need the version count08:10
Alex_Gaynorok then, I suppose your branch is good :)08:10
antocuni:-)08:10
brutal_chaosfijal: hmm, may have found a bug, based on assumptions made.08:11
brutal_chaosIf someone has installed one version and uninstalled it, say vc2010, the search for keys will end up there and not find a path for vcvarsall.bat08:11
fijalbrutal_chaos: what's important is it's not our bug :)08:11
brutal_chaoshmm, good point08:12
fijalantocuni: I broke jitviewer btw08:12
antocunihow/08:13
antocuni?08:13
fijalwell, it was broken08:13
fijalit was producing invalid html08:13
fijalso I fixed it08:13
antocuniand now it's more broken than before?08:13
fijalbut then someone parsed html and assumed debug_merge_point string would be there08:13
antocuniwho parses the html08:14
antocuni?08:14
fijalgetvar calls html_repr() which adds attributes08:16
fijalthat's too early08:16
fijalanyway, I'm fixing it08:17
fijalthis should have been done in a template08:17
fijalpreferably08:17
kenaan12fijal default 11065c98a10f0d 15/pypy/tool/jitlogparser/parser.py: that was easy, fix arg usage08:22
fijalantocuni: ok, done08:23
antocunicool08:23
kenaan12fijal default 11e03df75209a9 15/pypy/tool/jitlogparser/: improve display a bit and fix the test08:25
bogner (~bogner@d50-99-181-1.abhsia.telus.net) left irc: Ping timeout: 250 seconds08:25
Alex_Gaynorfijal: um, pypydoesn't translate as a result of your merge08:26
fijaldoesn't it?08:26
Action: fijal fixes08:26
Alex_GaynorNameError: space at L50808:26
fijaloops :)08:27
teknico (~teknico@95.239.8.101) joined #pypy.08:29
Action: fijal ponders how it even works08:29
fijalAlex_Gaynor: how do tests pass?08:30
fijalthey check for it08:30
Alex_Gaynorindeed they do, I have a bit no clue08:30
fijalah08:31
fijalslice thingie would take care08:31
Alex_Gaynorwell, please write more tests I suppose08:31
fijalno :)08:32
fijalactually those paths are dead code08:32
fijalnon-trivially dead code08:32
kenaan12fijal default 116bc10a129273 15/pypy/module/micronumpy/interp_numarray.py: cleanup08:32
antocunihooray for static typing!08:32
Alex_Gaynorhehe08:32
fijalantocuni: I'm not sure spotting a name error in your dead code is that awesome :)08:32
fijalcython can do that btw08:32
`fox` (~fox@host254-107-dynamic.45-79-r.retail.telecomitalia.it) joined #pypy.08:33
Alex_Gaynorso can coverage.py08:33
fijalronny: ping?08:33
Alex_Gaynorfijal: test_zjit fails now08:33
Alex_Gaynorsomeone should fix JIT so greenkey is ok with constants08:34
brutal_chaosfijal: ended up hard coding the path sadly.08:35
fijalI know08:36
fijalI'm fixing08:36
fijalit's hard :-/08:36
Alex_Gaynorfijal: NonConstant!08:37
fijalbut it's actually broken08:37
Alex_Gaynoroh08:37
fijalwe don't have tests for signature being ok :-/08:37
fijalat all08:37
Alex_Gaynortest_module or test_base has unittets for signature08:38
Alex_Gaynorpeople should add more08:38
fijalI see yes08:38
fijalthis does not cover stuff correctly08:41
kenaan12fijal default 112c43451adecb 15/pypy/module/micronumpy/: fix tests and improve signature08:41
fijalbecause one thing is if signature is correct, the other if debug merge point uses the correct one08:41
G2P (~G2P@fw-asn1.ornis.com) joined #pypy.08:42
kenaan12fijal default 1196cbeff5195d 15/pypy/module/micronumpy/test/test_numarray.py: make the test assert something08:43
fijalthere is quite a bit of code duplication though08:44
fijala bit non-trivial one admitedly08:44
fijalok, I'08:44
brutal_chaosI would like to build a 64bit pypy. I take it I should not use a 32bit python implementation, anything else I shuold be aware of (I do meet the ram requirements)?08:44
fijalll clean it up later08:44
fijalbrutal_chaos: I can't think about anything08:44
brutal_chaosfijal: Can I use a 32bit pypy to build a 64bit pypy?08:45
brutal_chaosrather, translate....08:45
brutal_chaosseeing as pypy would be 2x faster than cpython and there is only a 32bit pypy for windows atm, that would be awesome.08:47
brutal_chaosah, just read the docs. :(08:51
brutal_chaosany chance on support for win64 with pypy1.608:51
tunixman_ (~tunixman@irc.tunixman.com) left irc: Ping timeout: 260 seconds08:57
goodwill (~goodwill@pdpc/supporter/active/goodwill) joined #pypy.08:59
goodwillpardon me ... can some tell me what is going on with https://bugs.pypy.org/issue692 ?08:59
tunixman (~tunixman@irc.tunixman.com) joined #pypy.09:00
fijalno09:01
fijalbrutal_chaos: yes09:01
fijalbrutal_chaos: there is a branch09:01
fijalgoodwill: not much I fear09:02
goodwillhmmm09:03
goodwillok09:03
goodwillfijal: thank you09:03
goodwillfijal: any particular reason why?09:03
brutal_chaosfijal: cool, good to know.09:04
fijalgoodwill: other than nobody looked at it no09:04
goodwillfijal: ok, thank you for the info, appreciate it09:05
fijalgoodwill: there is too much stuff that can be potentially done, we can't do all of it :(09:05
goodwillfijal: I understand :) now worries ... just trying to install the package with out the c_ext09:06
goodwills/now/no09:06
fijalbesides, what this module is doing?09:06
fijalif the goal is to speed up stuff it's almost certainly a very bad idea09:06
goodwillfijal: yeah ... I am drawing the same conclusions ... 09:09
fijalbut zope has a steering commitee or something...09:10
goodwillI checkout the package ... it say I cna compile it with out it ... so I think I am good09:11
brutal_chaos (~Justin@c-98-232-189-109.hsd1.or.comcast.net) left irc: Read error: Connection reset by peer09:11
goodwillmight have jumped the gun on the question09:11
fijalthen it makes sense to fill the issue upstream saying "this speedup should be disabled on pypy"09:12
brutal_chaos (~Justin@c-98-232-189-109.hsd1.or.comcast.net) joined #pypy.09:12
goodwillfijal: turns out they addressed it09:13
goodwillI just have to provide a flag on install09:14
goodwill:)09:14
goodwillthank you for your help :)09:14
fijalnp09:14
antocunigoodwill: then maybe you should write a comment on the pypy bug tracker about this flag09:18
goodwillantocuni: good point ... once I got it working09:19
goodwillantocuni: will do09:19
antocunithanks09:19
`fox` (~fox@host254-107-dynamic.45-79-r.retail.telecomitalia.it) left irc: Ping timeout: 264 seconds09:24
ronnyfijal: ping? about to leave for lunch09:29
fijalronny: how hard would it be to make pytest coverage work with pypy09:30
fijal's version of py.test?09:30
fijaland even to have it there in the codebase09:30
fijal?09:30
ronnyfijal: not sure, will have to take a closer look09:30
aleksi (~aleksi@85.235.191.82) joined #pypy.09:30
fijaldo you feel like doing it?09:31
ronnyi'll take a look after lunch, i might need holgers input09:31
fijalok09:31
fijalfeel free to say no09:31
ronnyfijal: the main problems will probably be keeping the code in sync and propperly adding the plugin at startup09:32
fijal"in sync"?09:33
fijalwith what?09:33
ronnyfijal: upstream, pytest+coverage will basically mean instead of just pylib + pytest we'll have pylib, pytest, coverage and pytest-cov09:33
fijalno, we don't need coverage09:34
fijalwe only need pytest-cov09:34
ronnyfijal: pytest-cov needs coverage09:34
fijalcoverage doesn't change it's api every sunday (unlike py)09:34
fijalso it doesn't have the same problem09:34
fijalyou install it however and it works09:34
ronnyok09:35
ronnybbl, will work on it after lunch09:36
bgola (~bgola@189.121.22.148) left irc: Ping timeout: 260 seconds09:41
bgola (~bgola@189.121.22.148) joined #pypy.09:42
kenaan12fijal jitviewer 113b5afee740b3 15/_jitviewer/: first go at working filter09:43
fijalantocuni: that should "almost" work09:43
Action: antocuni tries i09:44
antocuniit09:44
fijalexcept it goes for free string search in f, file 'y.py', line 209:44
fijalfor example09:44
fijaland a few other missing features :)09:44
fijalI'll play with it later on09:44
fijalsurf time!09:44
fijalantocuni: profiling integration comes next :)09:45
antocunifijal: how can I install jinja2 2.6.6 using pip?09:45
antocuniwell, 2.609:45
LoganLK (~LoganLK@202.180.89.21) left irc: Quit: LoganLK09:46
antocunifijal: I get the name "unknown" for all loops09:46
antocunilike this: http://paste.pocoo.org/show/443403/09:48
fijalyou can't09:49
fijalyou have to get it from git09:49
fijalalso, you have to hg pull -u pypy09:49
goodwillerm09:50
goodwillyou can use -e09:50
fijal-e?09:50
stakkars (~tismer@91-66-101-126-dynip.superkabel.de) joined #pypy.09:51
goodwillfijal: : http://www.pip-installer.org/en/latest/requirement-format.html#git09:51
goodwillfijal: http://www.pip-installer.org/en/latest/requirement-format.html#mercurial09:52
fijal2.6 was not released yet I think09:52
goodwillits dev 09:53
fijalantocuni: feel free to comment it out but then you'll see segfaults instead of tracebacks09:53
antocunifijal: pip install -U -e git+http://github.com/mitsuhiko/jinja2.git#egg=jinja209:54
antocuniseems to work09:54
goodwillip install -e git://github.com/mitsuhiko/jinja2.git#egg=Jinja209:55
goodwillpip install -e git://github.com/mitsuhiko/jinja2.git#egg=Jinja209:55
goodwillthere we go09:55
antocunigoodwill: thank you09:55
goodwillantocuni: no worries09:56
goodwillantocuni: glad to help09:56
fijalantocuni: anyway, did it work?09:56
Action: goodwill needs sleep09:56
antocunifijal: I'll tell you in few minutes09:57
antocuniI'm on a branch right now09:57
antocuniI cannot update09:57
fijalwhat I do is to have multiple checkouts09:57
fijalanyway, I'm off for 2-3h09:57
fijalso you can tell me then :)09:57
antocuniI usually do it as well for long-lived branch, but this one is short09:58
Nick change: DasIch__ -> DasIch10:08
antocunifijal: it seems to mostly work10:12
antocuniit's very cool :-)10:13
antocunithe only quirk is that even if you filter, at the end it always say "Show all (N) loops"10:13
antocunibut N is the global one10:13
antocuniah, maybe it's a feature :-)10:14
kenaan12hakanardo jit-short_from_state 11d5c554280935 15/pypy/jit/metainterp/optimizeopt/: cleaner10:14
kenaan12hakanardo jit-short_from_state 119b09294e5686 15/pypy/jit/metainterp/optimizeopt/: dont lose intbound on lengths of virtuals10:14
whyking (~quassel@pool-108-12-201-88.prvdri.fios.verizon.net) joined #pypy.10:18
hakanardotest_residual_call_invalidate_some_arrays uses getarrayitem_gc with different array descrs on the same pointer. Is that intentional?10:18
antocunihakanardo: where is the test?10:25
hakanardotest_optimizeopt10:25
antocuniuhm10:26
antocuniI would say that it's a typo10:26
antocunidoes the test pass if you always use the correct descr?10:27
hakanardook, but it's legal to mix arrays of different types with the same pointer?10:27
antocuniI don't know :-/10:28
antocuniwell, I suppose it is10:29
antocuniyou can always cast from array1 to void* to array210:29
witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy.10:30
hakanardohmm :( I've just build in the assumtion that it's not in jit-short_from_state10:30
hakanardoI guess I'll have to refactor...10:30
antocuniwait, I'm not 100% sure10:30
hakanardook10:30
antocuniit's to be on the safer side10:31
antocunibut yes, I can imagine an rpython program which does exactly that with rffi.cast10:31
hakanardoI suppose just not optimizing arrayacesses with mixed descrs should be a smiple workaround for now...10:32
antocuniI know that in C there are rules about what can be considered an alias to something else10:32
witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy.10:34
hakanardoso casting the array pointers is one thing, but will the annotator actually support mixing pointers to different types of arrays?10:38
antocuniuhm, probably not10:39
Nick change: teknico -> teknico_away11:08
Arfrever (~Arfrever@gentoo/developer/Arfrever) left irc: Ping timeout: 240 seconds11:09
iratsu (~alang@cpc2-oxfd21-2-0-cust354.4-3.cable.virginmedia.com) left irc: Ping timeout: 250 seconds11:11
stakkars_ (~tismer@91-66-101-126-dynip.superkabel.de) joined #pypy.11:19
rokujyouhitoma (~rokujyouh@240f:11:fa84:1:21f:f3ff:fed7:c020) left irc: Quit: rokujyouhitoma11:21
verte (~verte@python/site-packages/verte) joined #pypy.11:28
iratsu (~alang@dhcp1-nat.comlab.ox.ac.uk) joined #pypy.11:44
arigato (~arigo@fwstups.cs.uni-duesseldorf.de) joined #pypy.11:45
antocunihi armin11:45
kenaan12antocuni identity-dict-strategy 112171351a31a8 15/pypy/module/pypyjit/test_pypy_c/test_containers.py: write a test_pypy_c test11:49
kenaan12antocuni identity-dict-strategy 113fa4e79e2664 15/pypy/objspace/std/test/test_identitydict.py: a passing test11:49
kenaan12antocuni identity-dict-strategy 1176c609d60ebd 15/pypy/objspace/std/: kill the global versioning logic, and add a big comment which explains why it's not needed11:49
kenaan12antocuni identity-dict-strategy 11d8d5656b9fb0 15/pypy/objspace/std/test/test_identitydict.py: add a test for old classes, which are not supported11:49
kenaan12antocuni identity-dict-strategy 1123f86e47c147 15/pypy/objspace/std/test/test_identitydict.py: kill empty line11:49
lizardo (~lizardo@186.212.115.104) joined #pypy.11:49
kenaan12antocuni identity-dict-strategy 1129e2cbaf79cd 15/pypy/: hg merge default11:50
Action: antocuni kicks tests for the branch11:50
cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) joined #pypy.11:51
cfbolzantocuni: maybe the behavior of adding a __hash__ should be added to CPython differences11:52
antocunicfbolz: yes, but it's about __eq__ and __cmp__, not __hash__11:53
cfbolzok, but still11:54
antocunibasically, we want to say "__eq__ will never be called, exactly as it was before; only, now it's official, before it was by chance" :-)11:55
Action: antocuni writes11:55
Guest19749 (~kost-bebi@195.95.210.229) joined #pypy.12:00
Nick change: Guest19749 -> k_bx12:00
k_bxCool, datetime.datetime.utcnow is mutable in pypy, so I can simply use @patch('datetime.datetime.utcnow') to test my app.12:01
k_bxOr rpython structs can also be immutable one day?12:02
antocunik_bx: the latter12:03
antocuniif we rewrite datetime in rpython, you won't be able to patch it12:03
k_bxoh, ok. I'll use hacks then)12:03
derdon (~derdon@p579CC241.dip.t-dialin.net) joined #pypy.12:04
kenaan12wlav reflex-support 11dbf532b2eb5c 15/pypy/module/cppyy/test/bench1.py: update to new interp interface and bench for PyROOT12:06
kenaan12wlav reflex-support 11f93d9c300124 15/pypy/translator/platform/posix.py: rules for compiling .cxx in generated makefile12:06
kenaan12wlav reflex-support 11bddd0178cf08 15/pypy/module/cppyy/test/bench1.py: merge heads12:06
Action: fijal back12:06
fijalarigato: can I steal your brain for 5 minutes?12:07
kenaan12antocuni identity-dict-strategy 11a02a3e34b4f2 15/pypy/doc/cpython_differences.rst: document this small difference12:08
fijalI wonder if we can't have call_assembler that doesn't allocate the frame at all12:08
antocuniI think we can12:08
antocunibut we need a bit (or maybe a lot) of refactoring12:08
antocuniit would work if we somehow manage to allocate the frame from within the portal, not outside12:09
fijalhow would that avoid allocating the frame?12:09
Sho_ (~EHS1@kde/hein) joined #pypy.12:09
antocuniwell, it'd become a virtual12:10
fijalyou still would allocate it inside call_assembler no?12:10
fijalI was thinking about expanding the idea of "partial virtualizable"12:11
antocuniwell no, because inside call_assembler it would be completely a virtual12:12
fijalremember that you compile what's inside call_assembler first12:13
fijalso how can it be virtual?12:13
antocunifijal: still, if the optimizer sees a new() inside the trace and the object does not escape, it becomes a virtual12:14
fijalwell, you can't allocate a frame in the middle of the loop12:14
fijalI think12:14
antocuniuh?12:15
fijalyou compile a loop first right?12:15
fijaland the frame already comes populated12:15
fijalthen you have a new trace that allocates a frame before calling it12:15
kenaan12wlav reflex-support 1141aebf1d8db1 15/pypy/module/cppyy/bench/: bench02 code cleanup and test of bench12:15
kenaan12wlav reflex-support 11d3333099ce6f 15/pypy/module/cppyy/: improved error reporting for unknown typed data members12:15
antocuniyes, at the moment it it works as you describe12:15
fijalwell sure12:16
fijalbut I can't imagine how it can potentially work otherwise12:16
fijalsince you start with compiling a loop12:16
fijalyou can't have a new there, because it's in the middle of a function12:16
Nick change: teknico_away -> teknico12:16
antocunifijal: are you saying that *nothing* is virtual inside call_assembler traces?12:17
fijalnot the frame12:17
antocuniwell, of course not because it's allocate before12:17
antocunibut if it's allocated inside, why not?12:17
antocuniit's an object like the others12:18
fijalbut you can't allocate it inside12:18
fijalbecause you would need to allocate it in the middle of the function12:18
antocunisorry, I don't follow you12:19
antocuniwhat is a "function" here?12:19
antocunia python applevel function?12:19
fijalhttp://paste.pocoo.org/show/443486/12:20
fijallet's start with an example12:20
fijalso first you compile the inner loop of function g, right?12:20
antocuniyes12:20
fijallater you compile the loop of function f that contains call_assembler12:20
antocuniyes12:20
fijalit allocates the frame and then calls call_assembler12:20
antocuniyes12:21
fijalso I want to avoid this allocation12:21
Action: antocuni too12:21
fijalok12:21
fijalso what do you propose?12:21
fijalwhat potential refactoring would help?12:21
antocuniright now, the jit_merge_point (and hence the portal) is in PyFrame.dispacth12:21
antocunidispatch12:21
antocuniif we somehow we manage to have a portal which does "f = PyFrame(...); f.dispatch(...)", then the frame will be virtual12:22
fijalbut you can't have a portal like this and still compile the inner loop of g12:23
fijalbecause you have operated on the frame for a while before jumping into assembler12:23
fijalno?12:23
antocuniuhm...12:23
antocunimaybe12:23
fijalthe thing is in most cases you don't actually use the frame inside call_assembler12:24
fijalso you don't really need it12:24
antocunitrue12:24
fijalit's enough to know how to reconstruct it12:24
bfirsh (~bfirsh@mini.firshman.co.uk) left irc: Read error: Operation timed out12:25
fijalhence the idea of partial-virtualizables12:25
bfirsh (~bfirsh@mini.firshman.co.uk) joined #pypy.12:25
antocunisorry, I need to go away for 2 minutes12:25
antocunibrb12:25
fijalsure12:25
Action: fijal waits 2 italian minutes12:25
fijalcfbolz: ping?12:26
brutal_chaosfijal: will 1.6 have PyErr_BadArgument?12:27
fijalyes12:28
fijaleven nightly has it :)12:28
brutal_chaoscool. That means pywin32 should work now12:29
CIA-5503yesudeep 07roundup * 10#802/Incorrect error message when string split assignment cannot unpack values: (log message trimmed)12:31
CIA-55[new] Incorrect error message generated when trying to12:31
CIA-55unpack values in an assignment:12:31
CIA-55Current Behavior:12:31
CIA-55----------------- * 14https://bugs.pypy.org/issue80212:31
CIA-5503arigo 07roundup * 10#802/Incorrect error message when string split assignment cannot unpack values: 12:33
CIA-55[wontfix] Sorry, this is unlikely to be fixed. The exact error messages of errors change12:33
CIA-55even from one version of CPython to the next one; relyi ... * 14https://bugs.pypy.org/issue80212:33
Action: antocuni back12:34
antocuni2 italian minutes == 9 rest-of-the-world minutes, it seems :-)12:34
fijal:]12:34
antocuniso, how partial-virtualizables work?12:34
fijalwell, they don't work so far :)12:35
antocuni:-)12:35
fijalright now there are two ways of creating frames when requested - one is from C stack when they're virtual and the other is from C stack when they're virtualizable12:35
brutal_chaosfijal: is mono still needed to build pypy on windows. The documentation says so, but it also seems a little out of date.12:35
fijalthey're almost identical except one allocates the frame, right?12:35
fijalbrutal_chaos: uh? it was never needed I think12:36
antocunifijal: yes12:36
antocunibrutal_chaos: mono was needed only to compile pypy-cli12:36
antocuninever for pypy-c12:36
fijalok, so I have two mechnisms in mind12:36
brutal_chaosyeah, just realized that. thanks.12:36
fijalone would be that you copy stuff from stack -> heap, but you don't actually force the frame12:36
fijalso frame is reconstructible from the heap (there are some operations) but you don't have to force it12:37
antocuniyes, I remember we already discussed that12:37
fijalok12:37
fijalthe other one would be to use virtuals as virtualizables12:37
fijalso you don't create a frame (and populate it)12:37
fijalbut you keep in mind (somehow) that it's a virtual12:37
fijalyou probably allocate a small object instead12:37
fijaland when you directly access it (like getfield_gc), you force the frame into existance12:38
fijallike allocate_or_use(p0)12:38
fijalwe just have to make sure we don't use frames directly that much (right now the profiling flag is annoying)12:38
whyking (~quassel@pool-108-12-201-88.prvdri.fios.verizon.net) left irc: Read error: Connection reset by peer12:39
antocunifijal: well, but you still need to put values in it12:39
fijalwhy?12:40
fijalyou only put them when requested12:40
antocuniah, I see12:40
fijalyou can do tricks even12:41
fijallike you have a chain of accesses that can be reduced to 012:41
fijalif the shape is correct12:41
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.12:41
fijalbut that's something for which we need short preamble I think12:41
antocunibut I think that right now we actually need to do a lot of getfield_gc12:41
antocunion the frame12:41
fijalI only remember the profiling flag, but maybe12:42
antocunithere is at least valuestackdepth12:42
antocuni(looking at the code)12:42
fijalvaluestackdepth is a virtualizable field, no?12:43
brutal_chaosIn order to achieve a distributable pypy, what options are needed? Is it simply:12:43
brutal_chaospypy translate.py -Ojit12:43
fijalI have to look slightly deeper at traces, but I think the idea is cool12:44
fijalbrutal_chaos: yes12:44
brutal_chaosfijal: thanks12:44
antocuniyes, as well as is_being_profiled12:44
antocunifijal: yes, the idea might be cool12:45
antocunialthough I'm not sure I still get 100% of it12:45
fijalamong other things this would mean we no longer have to force the frames if they escape12:45
fijalthe worst case scenario would be to copy pieces to heap somewhere12:45
antocuniyes, that's cool12:45
fijalI'm not sure if I get 100% either :)12:46
antocuni:-)12:46
fijalbut it seems that ideally you would be able to call the loop directly and not the entry bridge12:46
fijalwhich is cool12:46
Action: fijal cleans up RangeObject nonsense12:46
antocunibtw, I think that W_FastListIterObject.listitems should be an _immutable_field_12:47
fijallike fast path of range.reverse()12:47
fijalah12:47
CIA-5503yesudeep 07roundup * 10#802/Incorrect error message when string split assignment cannot unpack values: 12:47
CIA-55I realize this is unlikely to be fixed12:47
CIA-55and hence have changed all the code that12:47
CIA-55relied on error messages to not do so.12:47
CIA-55However, there is quite ... * 14https://bugs.pypy.org/issue80212:47
fijalI had another cool idea to implement a bit more generic iterators in rpython12:47
fijalso we won't copy the list on unpackiterable12:47
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 240 seconds12:48
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.12:48
dimazest (~dimazest@balticom-202-59.balticom.lv) left irc: Ping timeout: 240 seconds12:50
brutal_chaosdoes pypy not resolve paths very well on windows? I have openssl/ssl.h in my path, but pypy is not finding it.12:51
dimazest (~dimazest@balticom-202-59.balticom.lv) joined #pypy.12:51
vertein what path?12:51
brutal_chaos%PATH%12:51
Eventh (evenwiik@caracal.stud.ntnu.no) left irc: Quit: leaving12:52
exarkunIt's not PyPy's job to resolve that path. It's your C compiler's job.12:52
Eventh (evenwiik@caracal.stud.ntnu.no) joined #pypy.12:52
exarkunOr your job to explicitly specify it12:52
arigatowell it doesn't make sense to use %PATH% in order to look for .h files12:52
whyking (~quassel@pool-108-12-201-88.prvdri.fios.verizon.net) joined #pypy.12:52
fijalarigato: did you see our discussion about virtualizables? would be cool if you have opinions12:52
arigatoeven C compilers don't do that, as far as I know12:52
arigatofijal: didn't follow12:53
verteno, %PATH% has nothing to do with .h includes12:53
Action: k_bx thinks: great. Does everyone has to do that to patch utcnow(), for example? http://paste.pocoo.org/show/443505/12:53
exarkunk_bx: Parameterize your clock better.12:54
exarkunMonkey patching the datetime module will probably get you in trouble.12:55
k_bxexarkun: that's unittesting)12:55
fijalsooner rather than later12:55
fijalno, it's bad design12:55
k_bxfijal: I test func that does return datetime.datetime.utcnow().replace(hour=0, minute=0, second=0, microsecond=0)12:56
voidspacepatching time / datetime in unittests to return known dates / times is very common and not bad practise12:56
exarkunIt's bad practice to patch globals.12:56
fijalvoidspace: "bad practice" is subjective but I disagree12:56
Action: arigato hopes this discussion doesn't go on for too long12:56
antocuni:-)12:56
k_bxexarkun: but it should get it back, isn't it?12:56
fijal:-)12:56
exarkunarigato: sorry12:56
voidspaceah, yes - I would import datatime locally and patch it in the module its used rather  than globally12:56
fijalarigato: can you maybe comment on virtualizables instead then?12:56
arigatoexarkun: no problem :-)12:56
exarkunk_bx: How about another channel, unless this is related to PyPy somehow.12:57
fijal:]12:57
arigatofijal: sorry, I didn't read what you said12:57
antocuniuh? http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/899/steps/translate/logs/stdio12:57
voidspaceweird, I'm *receiving* email from pypy-z but my reply was held up as a non-subscriber?12:58
antocuniis translation broken just in my branch or also in trunk?12:58
voidspacemaybe I'm replying from a non-subscribed email address12:58
exarkun(slightly less off topic) can the measured revisions be extracted from codespeed somehow?12:58
exarkunor do I have to query the database directly12:58
antocunivoidspace: you are replying from mfoord at python dot org12:58
Action: antocuni accepts it12:59
voidspaceantocuni: thanks, wonder why that happend? I just hit reply - and normally thunderbird does "the right thing"12:59
antocunino idea12:59
arigatoantocuni: see warmspot.py:243-24413:00
voidspaceI've just completed working on a project that added paypal support to a web app, so I'd be happy to involved in building something if that turned out to be the best way forward13:00
arigatoit looks like a JitDriver from micronumpy13:00
antocunipff13:01
ronnyfijal: would it be ok, if a included pytest_cov would only work with pypy/test_all.py?13:01
antocunihow do you know that it's fro micronumpy?13:01
arigatoantocuni: looking at the variable names13:01
antocuniah, I see13:02
antocunifijal: do you feel like fixing it?13:02
Action: antocuni is a bit annoyed of translation failing because of micronumpy13:02
antocuniwhy we don't develop it in a branch?13:02
kenaan12antocuni identity-dict-strategy 119c9eaa7e08db 15/pypy/doc/config/objspace.std.withidentitydict.txt: write doc for this option13:11
kenaan12antocuni identity-dict-strategy 116746c1579cab 15/: close about-to-be-merged branch13:11
kenaan12antocuni default 1169a7e76a319a 15/pypy/: merge the identity-dict-strategy branch, which optimizes access to dictionary containing only classes which comp...13:11
reitzensteinm (~reitzenst@60.234.195.160) joined #pypy.13:12
_aleksi (~aleksi@85.235.191.82) joined #pypy.13:13
dimazest (~dimazest@balticom-202-59.balticom.lv) left irc: Ping timeout: 246 seconds13:13
ronny whats a good way to have a general identity based mapping? (pypy and cpython, just without the id cost on pypy)13:13
nirbheek_ (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.13:14
dimazest (~dimazest@balticom-202-59.balticom.lv) joined #pypy.13:15
kenaan12antocuni default 115f668bf0e242 15/pypy/doc/config/translation.dont_write_c_files.txt: write doc for this option13:16
aleksi (~aleksi@85.235.191.82) left irc: Ping timeout: 240 seconds13:16
antocunironny: in pypy you have __pypy__.identity_dict13:16
antocuniin CPython, I fear you need to use id()13:16
aleksi (~aleksi@85.235.191.82) joined #pypy.13:16
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 240 seconds13:17
antocunibut you could maybe write a wrapper, so you can easily switch to it or to pypy's identity_dict depending on the platform13:17
gorakhargosh (~user@14.96.115.245) joined #pypy.13:18
mkhan (~mkhan@122.167.111.34) joined #pypy.13:18
mkhan (mkhan@122.167.111.34) left #pypy.13:18
_aleksi (~aleksi@85.235.191.82) left irc: Ping timeout: 240 seconds13:19
ronnyantocuni: i suppose all i need is implement the Mapping abc on cpython13:20
dimazest (~dimazest@balticom-202-59.balticom.lv) left irc: Ping timeout: 240 seconds13:20
antocunimaybe13:20
antocuninote that abc's are slow on pypy13:20
antocuni(last time I checked, at least)13:20
dimazest (~dimazest@balticom-202-59.balticom.lv) joined #pypy.13:21
ronnyantocuni: try: from __pypy__ import identity_dict except importerror is my friend13:21
fijalantocuni: ok13:21
antocunironny: yes13:22
fijalantocuni: we do and we merge branches13:23
antocunithen you don't check branches enough :-)13:23
fijalyes, maybe I should check translation more often, but every time micronumpy breaks translation (twice so far) everyone complains13:23
fijalsome other translation breakage is more fine13:23
fijalyes, totally agreed13:23
fijal(about not testing enough)13:24
antocunipersonally, I complain everytime translation is broken (including when I break it by myself)13:24
fijalthen ok :)13:24
antocuniwith the current system, it's very easy to check before merging13:24
fijalI'll fix it now now13:24
fijalvoidspace: do you care joining #pypy-sync13:27
fijal?13:27
fijaldo you mind I guess13:28
dimazest (~dimazest@balticom-202-59.balticom.lv) left irc: Ping timeout: 258 seconds13:29
fijalantocuni: hm, I wonder what's the best way to filter functions13:29
fijalwe don't even have class names there13:29
antocuniclass as in "python class"13:29
antocuni?13:29
antocunior html class?13:29
fijalpython class13:29
fijalso you can't find "all methods of X"13:30
JaRoel|4D (~jaroel_4d@office.fourdigits.nl) left irc: Remote host closed the connection13:30
antocuniright, but it's a bit hard to include it13:30
dimazest (~dimazest@balticom-202-59.balticom.lv) joined #pypy.13:30
fijalwell, as of now "f" will match "f"ile13:31
fijalnot ideal :)13:31
fijalyes, a bit hard true13:31
JaRoel|4D (~jaroel_4d@office.fourdigits.nl) joined #pypy.13:31
fijalI was thinking about having a loop.description13:31
fijalwhich would contain where we are13:31
antocuniyes, but I think it works well enough13:31
fijalas of now?13:31
antocuniyes13:31
antocuniwell, there is room for improvements of course13:31
fijalof course :)13:33
fijalI guess the next item on my list is numpy arrays/map expressions/regexes etc.13:34
fijalbecause "Unknown" is unhelpful13:34
dgl (~dgl@109.86.165.231) joined #pypy.13:41
dimazest (~dimazest@balticom-202-59.balticom.lv) left irc: Ping timeout: 252 seconds13:44
aleksi (~aleksi@85.235.191.82) left irc: Remote host closed the connection13:44
Rhy0lite (~dje@nat/ibm/x-chvznlxxkokfxypq) joined #pypy.13:44
dimazest (~dimazest@balticom-202-59.balticom.lv) joined #pypy.13:45
teknico (~teknico@95.239.8.101) left irc: Remote host closed the connection13:46
nirbheek__ (~nirbheek@117.204.240.14) joined #pypy.13:46
nirbheek_ (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 264 seconds13:48
whitelynx (~whitelynx@li117-47.members.linode.com) joined #pypy.13:57
nirbheek__ (~nirbheek@117.204.240.14) left irc: Quit: Leaving13:57
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.13:57
kenaan12fijal default 11aa1f3c5c459c 15/pypy/module/micronumpy/interp_numarray.py: remove code duplication and fix the translation hopefully13:57
fijalantocuni: it might be better13:58
antocunithank you13:58
fijalantocuni: although I have no clue how the problem was not caught by test_zjit13:58
fijalit seems that untranslated version doesn't call checkgraph() or something13:59
fijalon portal13:59
fijalI mean this portal *is* being run in test_zjit13:59
antocuniweird14:00
fijalI guess we should improve the translation test14:00
fijalthere is also a target that takes a simplified input for testing14:00
dimazest (~dimazest@balticom-202-59.balticom.lv) left irc: Ping timeout: 240 seconds14:05
dimazest (~dimazest@balticom-202-59.balticom.lv) joined #pypy.14:06
gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) joined #pypy.14:06
teknico (~teknico@95.235.21.156) joined #pypy.14:06
fijalantocuni: ok, now *you* broke translation :)14:08
antocunibad me14:08
antocunihow?14:08
fijalhttp://paste.pocoo.org/show/443542/14:09
fijalcan't you develop on a branch....14:09
fijal;-)14:09
antocunitouché14:09
antocunitechnically, I *did* run tests, but translation was broken because of numpy ;-)14:09
antocunianyway, that code path is untested :-(14:10
fijalweeeeellll...14:10
CIA-5503cfbolz 07roundup * 10#802/Incorrect error message when string split assignment cannot unpack values: 14:10
CIA-55I agree with Armin, our message is more precise so it feels silly to change it.14:10
CIA-55Also, the strings of exceptions are not even the same between dif ... * 14https://bugs.pypy.org/issue80214:10
danrasband (~danrasban@c-76-27-1-182.hsd1.ut.comcast.net) joined #pypy.14:10
fijalthis crash is waaay before the numpy crash14:10
fijalanyway, just fix it :)14:10
dimazest (~dimazest@balticom-202-59.balticom.lv) left irc: Ping timeout: 252 seconds14:10
fijalif I ever get to implement my awesome IDE such thing would not happen14:10
dimazest (~dimazest@balticom-202-59.balticom.lv) joined #pypy.14:11
antocuniwhat will your awesome IDE do?14:11
arigatoit would have a button "do what I mean"?14:11
Action: arigato thinks about implementing __pypy__.do_what_i_mean()14:12
kenaan12antocuni default 11abaf35bf5217 15/pypy/objspace/std/dictproxyobject.py: translation fix14:12
kenaan12antocuni default 113e31e1098d65 15/pypy/module/pypyjit/test_pypy_c/test__ffi.py: this field is now quasi-immutable14:12
fijalantocuni: check function signatures from tests14:13
fijalat the very least14:13
brutal_chaosabout how long (with pypy1.5) is a pypy nightly taking to build? Relatively new machine.14:13
fijalarigato: what would __pypy__.do_what_i_mean() do?14:13
fijalprint "42"?14:13
antocunifijal: it depends what you mean, of course :-)14:13
arigatofijal: for example, yes14:13
fijalbrutal_chaos: 30min-1hr14:13
fijalarigato: go ahead :)14:13
fijalI think it's a good easter egg14:13
arigatoyes, CPython has "from __future__ import braces", we need one too14:14
brutal_chaosfijal: cool, good to know. Better than before. CPython on a Pentium4. Took ~2-3 hours.14:14
fijal (~fijal@196.24.41.254) left irc: Quit: Leaving14:14
arigatothe speed-up should be around 3x for translate.py14:15
fijal (~fijal@196.24.41.254) joined #pypy.14:15
fijalantocuni: pyflakes already spots typos in local vars14:15
arigato(unless I'm citing numbers that are out-of-date by 2 months and it's better now :-)14:15
fijalthe one that you don't have time to try :)14:15
Action: antocuni is too busy at fixing translations that he broke14:16
fijalas usual :)14:16
dimazest (~dimazest@balticom-202-59.balticom.lv) left irc: Ping timeout: 240 seconds14:16
CIA-5503yesudeep 07roundup * 10#802/Incorrect error message when string split assignment cannot unpack values: 14:17
CIA-55Yep, I agree with the decision too.14:17
CIA-55Now, if the authors of the libraries14:17
CIA-55we're depending on would understand14:17
CIA-55that and accept patches without ... * 14https://bugs.pypy.org/issue80214:17
brutal_chaospypy doesn't require a python27.lib on windows does it? I already had one made, but I wanted to make sure. I am writing myself instructions on setting up a build environment for pypy.14:18
kenaan12arigo custom-trace 116e4633e7cfeb 15/: A branch in which to implement custom "tracers" for the GC.  The goal is to let some special object types have...14:18
kenaan12arigo default 1196b67e33eb50 15/pypy/module/__pypy__/: Easter-egg-like implementation of __pypy__.do_what_I_mean().14:18
verte:D14:19
stakkars_ (~tismer@91-66-101-126-dynip.superkabel.de) left irc: Quit: schnarch14:23
reitzensteinmprobably a newbie question, but why is pypy-postgresql implemented as a branch of pypy? isn't it just a straight python port of the library?14:26
ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) joined #pypy.14:27
timonatorreitzensteinm: it's not really "a branch of pypy", it's just being developed "in a branch of pypy" as far as i know14:28
reitzensteinmfair point - but what's the advantage of that? is it so it's all nice and self contained?14:29
reitzensteinmor so it's an inbuilt library, like string etc?14:29
dimazest (~dimazest@balticom-202-59.balticom.lv) joined #pypy.14:30
timonatorwell, the default pypy development model is to work on new features in feature branches14:30
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 255 seconds14:30
reitzensteinmI see14:31
zk (~zk@adsl-75-31-189-201.dsl.ksc2mo.sbcglobal.net) left irc: Quit: leaving14:31
zk (~is@adsl-65-69-69-111.dsl.kscymo.swbell.net) joined #pypy.14:32
exarkunFeature branches are cool: http://twistedmatrix.com/trac/wiki/UltimateQualityDevelopmentSystem#WhyBranches14:33
CIA-5503lambacck 07roundup * 10#803/Crash when with os.popen pipe: 14:33
CIA-55[new] Version: 45778:fba910e841e1 from trunk.14:33
CIA-55C:\work\cioc\pybuild\pyodbc>c:\work\pypy\pypy\pypy\translator\goal\pypy-c.exe14:33
CIA-55Python 2.7.1 (3f7e ... * 14https://bugs.pypy.org/issue80314:33
pedronis (~pedronis@73-53.195-178.cust.bluewin.ch) left irc: Remote host closed the connection14:38
fijalreitzensteinm: the main reason is we lack separate compilation really14:39
fijalso you can't have a module outside of pypy14:39
fijalit's being addressed though I think14:39
fijallambacck: oh cool14:40
fijalthanks14:40
fijalis there any good reason why reverse() and sort() has not to force rangelist?14:44
arigatofijal: trying to make the fields there immutable?14:45
fijalarigato: yes14:45
arigatoas far as I'm concerned, reverse() and sort() work this way just because it was cool and easy14:45
arigatoif it no longer is, then just force it14:46
fijalok14:46
fijalwell, it prevents other cooler features :)14:46
fijallike immutable fields :)14:46
arigato:-)14:46
dimazest (~dimazest@balticom-202-59.balticom.lv) left irc: Quit: leaving14:46
fijalalso if all you do is sorting ranges, you have probably other problems then speed...14:46
arigato:-_)14:46
CIA-5503lambacck 07roundup * 10#803/Crash when with os.popen pipe: 14:46
CIA-55[chatting] Note that importing platform *seems* to be important to the crash. When I take the14:46
CIA-55import platform away, it does not crash. * 14https://bugs.pypy.org/issue80314:46
arigatoboth CPython and (after you de-optimize them) pypy will have linear complexity on sorting ranges, so fine14:47
fijalalso, we're past the moment when adding cool features is cool :)14:47
fijalnow adding more features is cool if doesn't grow codebase14:47
arigatoyes14:47
brutal_chaosfijal: that build went fast.14:48
fijalbrutal_chaos: how fast?14:48
brutal_chaos1498s14:48
brutal_chaosThough, it died right after showing me the [Timer] stuff.14:48
fijalwith what?14:49
fijalhow far did it go?14:49
kenaan12fijal range-immutable 11d1de6e6a2438 15/pypy/objspace/std/: kill the silly speedups - sort and reverse force the list.14:50
kenaan12fijal range-immutable 11143aa349dc6d 15/pypy/objspace/std/rangeobject.py: kill some dead code and make fields immutable14:50
brutal_chaosfijal http://i.imgur.com/TXBFw.png14:50
brutal_chaosI cannot copy that, lame cmd.exe14:50
arigatohow about detecting when you do "x = range(10); x.append(10); x.append(11)" that the list can still be a range object... /me shuts up14:50
fijalarigato: :)14:51
fijalarigato: how about doing the same thing as we do in RPython for detecting sizes of resulting list for list comprehension?14:51
fijalthat sounds useful instead :)14:51
fijalbrutal_chaos: uh, sorrry, I think translation is broken as of now14:52
timonatorbrutal_chaos: actually, you can. i believe you have to draw a box with the mouse and hit return or something. it can definitely be done14:52
fijalso it really did crash14:52
arigatofijal: phew, how?14:52
fijalarigato: the same trick as in RPython?14:52
fijalwith hints?14:52
arigatohints in pure Python?  no no14:52
fijalso you preallocate with the hint of size14:52
fijalwell, those are different hints, no jit hints14:52
fijalso if you have14:52
brutal_chaosfijal: it did crash, the image is the text of the crash14:52
fijal[x for x in l]14:52
fijalyou detect the case and pre-allocate the resulting list with len(l)14:52
fijallen might lie, but it's only how much you allocate14:53
brutal_chaoshttp://i.imgur.com/TXBFw.png <- is the output14:53
fijalbrutal_chaos: this one is fixed14:53
arigatowell ok -- ah, you're thinking about a different bytecode or something, specifically for list comprehension14:53
fijalbrutal_chaos: hg update I think14:53
fijalarigato: like in RPython for the case of precisely one append in a loop14:53
fijalin a for loop even14:53
arigatofijal: well in RPython it works also if you don't use the list comprehension syntax14:53
reitzensteinmfijal: ah, I see, thanks14:54
fijalright14:54
brutal_chaosfijal: nothing to update. :(14:54
fijalbut why wouldn't it work for normal python?14:54
fijalbrutal_chaos: hg pull -u14:54
arigatofijal: indeed, it would work I suppose14:54
brutal_chaosfijal: sorry, new to mercurial14:54
fijalbrutal_chaos: don't worry, it's confusing14:55
brutal_chaosI am used to git14:55
arigatofijal: I imagined more advanced solutions where we detect that a loop produced by the jit contains one append to always the same list, and use that to pre-size the list14:55
fijalarigato: no, simple is good :)14:55
arigatowell, complicated might give better results :-)14:55
fijalof course ;-)14:56
fijalbut we can still do something good even in non-jitted version14:56
fijalwhich is progress14:56
fijalbrutal_chaos: except it's still broken14:58
brutal_chaos:(14:58
fijalmaybe14:58
fijaleh no14:58
brutal_chaosno, still, or no, fixed?14:58
fijalshould be fixed14:58
fijalI just didn't update my branch14:58
brutal_chaosI popped open powershell (gag), so I should be able to copy pasta to a pastebin of some sort like normal finally.14:59
brutal_chaoskk, trying.14:59
VarriountIs there a list of all the args I can pass to the translator?15:00
arigatoVarriount: a very long list, yes15:00
brutal_chaosVarriount: have you tried 'pypy translator.py --help' ?15:00
VarriountI get an error15:01
VarriountSomething about subprocess's15:01
arigatohttp://pypy.readthedocs.org/en/latest/config/commandline.html15:01
brutal_chaosVarriount: btw, I am writing up directions for getting bravo to work in pypy. Obviously we don't have a complete numpy yet, so not working currently, but the directions are in the works when finally we do.15:01
VarriountFor windows?15:02
brutal_chaosVarriount: yeah15:02
kenaan12antocuni default 11ebd8af15b4e6 15/pypy/objspace/std/dictproxyobject.py: bah, I don't know why I did it, but the fix in abaf35bf5217 actually breaks things. Revert15:02
VarriountYou might want to add in notes that installing mysys is recommended15:02
VarriountSInce it's the only way to compile libffi into a dll15:02
brutal_chaosheh, this is the vc++ path. those'll be separate directions.15:02
jimbaker (~jbaker@c-67-176-84-43.hsd1.co.comcast.net) joined #pypy.15:02
jimbaker (~jbaker@c-67-176-84-43.hsd1.co.comcast.net) left irc: Changing host15:02
jimbaker (~jbaker@canonical/jimbaker) joined #pypy.15:02
fijalantocuni: uh15:03
fijalantocuni: so is translation still broken?15:03
brutal_chaosdoes the initial fractal go slower than most?15:04
fijalyes15:05
fijalantocuni: ?15:05
brutal_chaosfijal: yes to whom?15:05
fijalto you :)15:05
fijalyes, it does go slower15:05
brutal_chaoskk, I didn't remember from my previous build and was curious if powershell was just crap15:06
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.15:07
fijaljustinpeel: hey15:08
fenrrir (~fenrrir@187.61.144.60) left irc: Quit: Leaving15:09
VarriountSHould this line work for trasnlation? pypy translate.py --opt=jit -cc:mingw pypy2.py -allworkingmodules15:12
fijalpypy2.py?15:12
fijalwhat's that?15:13
fijalpypy translate.py --opt=jit would do what I you want I think15:13
VarriountI need to use mingw15:13
arigatodouble dashes ("--"), not single ones ("-") before the option names15:16
VarriountSo --cc=mingw32?15:16
lucian (~lucian@78-86-217-168.zone2.bethere.co.uk) joined #pypy.15:16
arigatoseems so (never tried it myself, not being on Windows)15:17
VarriountIt's working..15:17
Varriountarigato, if I write up some directions for getting pypy translated using mingw, where would I put them?15:18
mvt (~mvantelli@87.213.45.85) left irc: Quit: Leaving15:18
fijalI would be a bit surprised if mingw actually worked15:18
brutal_chaosfijal: it died sooner this time15:18
fijalbrutal_chaos: yes, again :)15:18
fijalbrutal_chaos: anto is/was busy fixing15:18
arigatoVarriount: generally speaking, it's in pypy/doc/windows.rst15:18
fijalI'm doing the same thing as you, trying to get it translated15:18
fijalsorry :(15:19
arigatobrutal_chaos: the alternative is to update to last night's revision, were we know it worked:15:19
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.15:19
brutal_chaoshttp://paste.pocoo.org/show/443595/15:19
arigato"hg up e4eef33f1a65"15:20
brutal_chaosthanks, just about to ask15:20
fijalarigato: did you notice btw that jitviewer has filter these days?15:20
fijalso you can filter which loops you see15:20
brutal_chaoscool15:20
arigatouseful for large programs I imagine15:21
Varriountpypy memory usage is increasing and cpu usage is steady at 13% during translation, is this good?15:21
Alex_Gaynorfijal: by these days you mean "12 hours ago"15:21
fijalarigato: also, feel free to have a wishlist for jitviewer15:21
Alex_Gaynorhi btw15:21
brutal_chaosVarriount: yeah15:21
fijaleee15:21
fijalVarriount: should be 100%?15:21
brutal_chaosI stay around 57%15:21
VarriountI have an i7 8 core15:21
arigatoVarriount: I guess that 13% means it's 12.5%, i.e. 1 of 8 cores, or something15:21
arigatoyes15:21
VarriountWell, 6 core, 2 virtual cores15:22
brutal_chaosI have a Core2Duo15:22
brutal_chaos2 cores.15:22
brutal_chaosI say you are doing alright.15:22
fijalah :)15:22
brutal_chaosBuilds only on 1 core afaik15:22
Action: fijal thought 13% of one CPU15:22
Jerub (~gideon@python/psf/Jerub) joined #pypy.15:22
brutal_chaos1 core is ~13%15:22
Sho_ (~EHS1@kde/hein) left irc: Remote host closed the connection15:23
Action: fijal ponders if we shouldn't lower thresholds since we have faster tracing these days15:23
justinpeelfijal: Hi. I saw your corrections on my code. Sorry for those mistakes15:23
Jerubi can't seem to get pypy to translate on my machine, i'm wondering what the best way of checking if these are knwon problems is :)15:23
brutal_chaosVarriount: how long does a build take for you?15:23
fijaljustinpeel: well, also bad review15:23
Varriountarigato, If pypy works under mingw, can I throw a party?15:23
verteno.15:23
Varriount:315:23
Sho_ (~EHS1@kde/hein) joined #pypy.15:24
verteJerub: you're following the guide?15:24
Jerubverte: yep.15:25
VarriountOdd... I'm getting an error, but it isn't due to mingw..15:25
verteJerub: oh, trunk has been broken for.. a few hours?15:25
Jerubverte: i couldn't get 1.5 to translate either.15:25
Varriount^ Oh, now I now why15:25
Jerubit got further though15:26
verteoh. where'd it fail?15:26
Jerubdunno. doing it again with stderr to a log now15:26
Varriount[translation:ERROR]    File "translate.py", line 308, in main15:26
Varriount[translation:ERROR]     drv.proceed(goals)15:26
witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy.15:26
brutal_chaosVarriount: I just got the same error.15:27
brutal_chaoshg up e4eef33f1a6515:27
brutal_chaossupposedly that rev works15:27
VarriountSigh, time to install tortoisehg15:27
brutal_chaosVarriount: NOPE15:28
Varriount?15:28
brutal_chaoshttp://mercurial.selenic.com/release/windows/Mercurial-1.9.exe15:28
brutal_chaoshg on the cli, easy peasy15:28
VarriountOh, nice15:28
brutal_chaosthat is the 32bit build, they have a 64bit if you want.15:28
VarriountI've gven up with user interfaces. If I'm going to learn git, hg, or anything more complicated than svn, I might as well do it in a way that I can use on both linux and windows15:29
brutal_chaos:)15:29
timonatortortoise hg works fine on linux15:29
etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy.15:29
brutal_chaostimonator: it exists on linux??15:30
timonatorabsolutely15:30
timonatorlooks pretty nice, too15:30
brutal_chaoscool, had no idea.15:30
Varriountbrutal_chaos, So after checking out, what command do I use to get to the most recent non-broken version?15:31
brutal_chaoshg up e4eef33f1a6515:31
witulski (stupsi@fwstups.cs.uni-duesseldorf.de) left #pypy.15:31
brutal_chaosfijal: http://i.imgur.com/DnM1f.png15:33
brutal_chaosis that just powershell being dumb?15:33
VarriountHow.. did you do that?15:34
brutal_chaosVarriount: do what?15:34
VarriountThat screen15:34
brutal_chaosVarriount: are you still on WinXP?15:34
VarriountNope15:34
brutal_chaoswin vista/7, power shell15:34
brutal_chaoserr, powershell15:35
VarriountShould hg be getting stuck on "adding file changes"?15:35
brutal_chaosVarriount: yeah, it takes a while15:35
fijalwtf15:36
fijalbrutal_chaos: I dunno15:37
whyking (~quassel@pool-108-12-201-88.prvdri.fios.verizon.net) left irc: Ping timeout: 255 seconds15:37
brutal_chaosfijal: my guess is that whatever is drawing fractals is like wtf is powershell bro?15:37
brutal_chaosoh well, still building, therefore, not complaining. :)15:38
fijalno, my translation broke15:38
fijalfor some relatively obscure reason15:38
brutal_chaosah15:38
brutal_chaosfijal: what threshold is being limited right now?15:39
brutal_chaosYou said earlier something about raising a threshold.15:39
fijaluh15:40
fijalbrutal_chaos: that's irrelevant though :)15:40
fijalok, so the translation is broken15:40
fijalI'll fix it I think15:40
brutal_chaos***fijal ponders if we shouldn't lower thresholds since we have faster tracing these days15:40
brutal_chaoslower*, my bad15:40
fijalhow many times you iterate the loop before you jit it15:40
brutal_chaosah15:40
VarriountRunning the translation process.15:43
hakanardocfbolz: ping15:43
VarriountShould I be getting bunches of warnings"15:44
Varriount*?15:44
fijalVarriount: yes15:44
antocunibah, translation is still broken :-(15:44
antocunihttp://paste.pocoo.org/show/443618/15:44
stakkars_ (~tismer@i59F77DCE.versanet.de) joined #pypy.15:47
antocuniso, something is trying to cast_primitive the null ptr to Signed15:47
Alex_Gaynorantocuni: really?  I get to rtyping phase15:48
antocuniAlex_Gaynor: yes, it's in the jit15:48
Alex_Gaynorah, the annotation stuff misled me15:48
fijalantocuni: I "fixed" it15:48
kenaan12fijal range-immutable 113e3564841c5c 15/pypy/module/__pypy__/: merge default15:49
kenaan12fijal range-immutable 11b93130fd5be1 15/pypy/objspace/std/dictproxyobject.py: merge default again15:49
kenaan12fijal default 11558c3a321a43 15/pypy/module/micronumpy/interp_numarray.py: Disable those jitdrivers for now - they break translation15:49
brutal_chaosVarriount: do you have all the dependencies? openssl, libexpat, bzip2, and zlib?15:49
fijalas in I know what's wrong15:49
fijalI'll fix it later, but it should translate now15:49
fijaland I have to run15:49
Shinato (~John@osbk-4db161d8.pool.mediaWays.net) joined #pypy.15:49
brutal_chaosVarriount: you can build w/o them, but it won't be *complete*15:49
antocunifijal: ok, thanks15:49
Alex_Gaynorfijal: are there failing tests or somethign so we don't forget?15:49
Kaskuka (~John@osbk-4db066ff.pool.mediaWays.net) left irc: Ping timeout: 250 seconds15:49
fijalAlex_Gaynor: here you go15:50
Alex_Gaynor:)15:50
verte (~verte@python/site-packages/verte) left irc: Quit: ~~~ Crash in JIT!15:50
kenaan12fijal default 11f653dfeacbc6 15/pypy/jit/metainterp/test/test_ajit.py: add a failing test15:50
Varriountbrutal_chaos, You want me to build with them?15:50
brutal_chaosVarriount: I am just wondering if you are.15:50
VarriountWell, I'm using libffi, I think, (I put it in my PATH)15:51
brutal_chaosidunno what that is15:51
VarriountIt's needed to use ctypes15:51
Action: fijal off for dinner15:51
fijal (~fijal@196.24.41.254) left irc: Remote host closed the connection15:51
VarriountAlex_Gaynor, Is that right? Putting libffi.dll in my path should let pypy include it?15:52
brutal_chaoshmm, that wasn't mentioned in the build docs...15:52
Alex_Gaynorno idea, windows is a mysery to me15:52
brutal_chaosVarriount: you may need a .lib and some headers15:52
antocuniAlex_Gaynor: nice typo :-)15:52
Varriounthttp://pypy.readthedocs.org/en/latest/windows.html15:52
VarriountI'm working from that15:53
etrepum (~bob@75-101-96-144.dsl.static.sonic.net) left irc: Quit: etrepum15:53
Alex_Gaynorantocuni: the question is which was the intended target :_15:53
Alex_Gaynor:)15:53
VarriountYou need libffi for the mingw compiler15:53
brutal_chaosah, you are also using mingw15:53
VarriountNo VS15:53
Varriountfor me15:54
brutal_chaosdunno about ctypes with vs15:54
VarriountShould work.15:54
VarriountI'm up to the rtyping process now.15:54
brutal_chaoshm, didn't know I needed that. :( too late now. Next build I will use that. AFAIK it should work with vc++ since CPython uses it.15:55
brutal_chaosand CPython builds python for windows with vc++15:55
Varriount*cough* unfortunately *cough*15:56
kkris (~kris@188-22-124-75.adsl.highway.telekom.at) joined #pypy.15:56
VarriountSorry, but I /hate/ VS, mainly because it install 5-7 different packages on your system that take 2 hours and several restarts to uninstall15:57
brutal_chaosactually, vc++ isn't included in the supported platforms, so, maybe cpython is doing something different or it's not necessary for vc++?? who knows15:58
jblaze_ipad (~jblazeipa@mobile-166-147-112-163.mycingular.net) joined #pypy.15:58
davisagli (~davisagli@davisagli.com) left irc: Excess Flood16:01
VarriountErm, I got an error, http://paste.pocoo.org/show/443627/16:02
brutal_chaosmalloc removal = more ram usage?16:02
Varriountbrutal_chaos, Using the version you suggested16:02
VarriountGah, ffi.h -_-16:02
Jerubalso, is there a way to do a make -j12 equiv on pypy?16:02
davisagli (~davisagli@davisagli.com) joined #pypy.16:02
brutal_chaosVarriount: so, user error?16:03
brutal_chaosVarriount: btw, how did you copy from cmd?16:03
Trundle (~andy@python/site-packages/trundle) left irc: Remote host closed the connection16:04
VarriountYeah16:04
VarriountI'm using mysys16:04
fijal (~fijal@41.49.194.208) joined #pypy.16:05
fijalpffff16:05
fijalas usual the test is easy to fix on x86 but annoying on llgraph16:05
fijalis there a way to have an integer, but disguised?16:06
fijallike I want to pass an integer that knows it's a pointer to raw stuff?16:06
fijalarigato: ?16:06
brutal_chaos(void *)16:06
fijalno no :)16:07
fijalmore advanced :)16:07
brutal_chaosah16:07
Varriountfijal, Make a python interpreter in C++ :316:07
brutal_chaosno idea16:07
fijalantocuni, arigato: ?16:07
antocunifijal: AddressAsInt?16:08
k_bx (~kost-bebi@195.95.210.229) left irc: Quit: kost-bebix16:08
VarriountAll those string optimization options on that page of command line args for translation, is there any need to call them all?16:09
fijalI don't have an address, I have a raw pointer16:09
brutal_chaosNOOOO16:09
fijalbut maybe16:09
VarriountOr are they applied by the opt arg?16:09
fijalVarriount: no :) those that make sense are enabled by opt arg16:09
VarriountThank goodness16:09
brutal_chaoshttp://paste.pocoo.org/show/443635/16:09
brutal_chaoshg up e4eef33f1a6516:10
brutal_chaosis broken16:10
Jerubhttp://paste2.org/p/153338316:10
brutal_chaosoh wait, memory error?16:10
Jerubthat's on d7508cbeea7616:11
brutal_chaosdid windows fucking kill it? :(16:11
dimazest (~dimazest@balticom-202-59.balticom.lv) joined #pypy.16:11
brutal_chaosfijal: Memory Error, out of memory i take it?16:12
fijalI suppose16:12
fijaldid you hit 2G per process limit?16:12
brutal_chaospypy is only using 1,918,280K16:12
Jerub(That paste has my translation error in it)16:13
brutal_chaosoh, I have to windows hackz...:( Need to allow up to 3GB per image I guess.16:13
fijalantocuni: seems to work thank you16:14
antocunigood16:15
brutal_chaosVarriount: you build will fail16:15
kenaan12fijal default 11531879ba26f2 15/pypy/jit/metainterp/: fix the test16:15
antocunibtw, translation seems to work now16:15
antocuniI'm at c:writing16:15
fijalgood16:16
fijalmaybe we can reenable those merge points now16:16
fijalbut I'll double check16:16
kenaan12fijal range-immutable 11a17d21b7ede9 15/pypy/: merge default again x216:17
brutal_chaosVarriount: you may need to run (w/o quotes), "bcdedit /set IncreaseUserVa 3072"16:20
JaRoel|4D (~jaroel_4d@office.fourdigits.nl) left irc: Remote host closed the connection16:22
brutal_chaosI just did bcdedit /set IncreaseUserVa 4096. Idunno if that's going to break stuff or what...restarting to find out.16:22
brutal_chaos (~Justin@c-98-232-189-109.hsd1.or.comcast.net) left irc: Read error: Connection reset by peer16:22
G2P (~G2P@fw-asn1.ornis.com) left irc: Quit: Leaving.16:23
etrepum (~bob@accessnat4.mochimedia.net) joined #pypy.16:24
brutal_chaos (~Justin@c-98-232-189-109.hsd1.or.comcast.net) joined #pypy.16:26
brutal_chaosugh, ok hopefully I can build pypy now.16:28
iratsu (~alang@dhcp1-nat.comlab.ox.ac.uk) left irc: Ping timeout: 240 seconds16:28
brutal_chaosVarriount: the last time I built pypy, I had to flip the magical /3G switch.16:28
brutal_chaosfijal: you might want to note that in the docs.16:28
brutal_chaosfijal:  Exact directions, but pertaining to a different application: http://usa.autodesk.com/adsk/servlet/ps/dl/item?siteID=123112&id=9583842&linkID=924061716:29
fijal (~fijal@41.49.194.208) left irc: Ping timeout: 252 seconds16:29
etrepum_ (~bob@accessnat4.mochimedia.net) joined #pypy.16:30
etrepum__ (~bob@accessnat4.mochimedia.net) joined #pypy.16:32
Jerubevery time i try a translate it a) fails, and b) hg pull -u gives me more changes.16:32
Jerubso i don't feel right chasing up the problem yet16:33
etrepum (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 250 seconds16:33
Nick change: etrepum__ -> etrepum16:33
brutal_chaosJerub: hg up e4eef33f1a6516:34
brutal_chaossupposedly that's the last working commit16:34
Varriountbrutal_chaos, /3g?16:35
brutal_chaosI have yet to verify that, I ran out of memory last time I tried it.16:35
VarriountOh, that16:35
etrepum_ (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 264 seconds16:35
amaury (~amaury_@nat/google/x-pbmcnzqzcenmmkvh) left irc: Ping timeout: 264 seconds16:35
VarriountI have 8gb of ram, I don't think I'l need it16:35
brutal_chaosIn windows vista/7, it's different, but the idea is the same16:35
brutal_chaosVarriount: Windows limits 32bit applications to only 2gb of memory, it doesn't matter how much ram you actually have.16:36
VarriountI run 64 bit16:36
brutal_chaosSo do I, but pypy is a 32bit application16:36
amaury (~amaury_@nat/google/x-whbxdhcxaewdqpzn) joined #pypy.16:36
VarriountAnd you tell me this now, halfway through translation.16:36
brutal_chaosyou may have better luck16:37
brutal_chaosbut I only found out just now because it failed on me.16:37
brutal_chaosout of memory, even though it was only using 1,9??,280k.16:37
brutal_chaosI have 5gigs in my box right now, nothing else running. I have done this on a 3gigs before16:38
bogner (~bogner@d50-99-181-1.abhsia.telus.net) joined #pypy.16:42
cfbolzhakanardo: pong16:43
whyking (~quassel@128.148.208.164) joined #pypy.16:44
VarriountFor some reason I'm getting a "Cannot find -llibffi-5"16:46
hakanardocfbolz: is the mixing of array descrs on the same box in test_optimizeopt.test_residual_call_invalidate_some_arrays intentional?16:47
cfbolzprobably not16:47
hakanardoin that case there is one getarrayitem_gc(p1, 0) missing in expected?16:48
hakanardoassuming arraydescr is always used for p116:49
hakanardowould it be safe to assume that array descrs are never mixed on the same box in the jit optimizer?16:50
Action: cfbolz actually reads the test16:51
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) left irc: Ping timeout: 276 seconds16:51
brutal_chaosVarriount: how's your translation going?16:52
kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #pypy.16:52
rekamso (~textual@67.51.82.66) joined #pypy.16:53
cfbolzhakanardo: I think it's indeed safe to assume that array descrs are never mixed on the same box16:55
cfbolzhakanardo: I'll fix the test16:56
hakanardook, thanx16:56
kenaan12cfbolz default 112ead4778c7ac 15/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py: fix tests to consistenty use array descrs16:56
stakkars_ (~tismer@i59F77DCE.versanet.de) left irc: Quit: schnarch16:57
arigato (~arigo@fwstups.cs.uni-duesseldorf.de) left irc: Quit: See you17:02
fijal (~fijal@196-210-182-4.dynamic.isadsl.co.za) joined #pypy.17:04
Varriountbrutal_chaos, Set my memory switch to 5gb, in case the 64 bit doubling goes high17:04
dgl (~dgl@109.86.165.231) left irc: Read error: Connection reset by peer17:05
brutal_chaosVarriount: I don't think it does anything past 307217:11
brutal_chaosbut who knows17:11
witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) joined #pypy.17:12
Action: Varriount 's ram explodes17:12
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.17:13
justinpeel fijal: what needs to be done about the setslice jit stuff?17:13
brutal_chaosalmost done w/translation (at the [c] part) and sitting at 1,820,980K. Hopefully it can go higher than 1,9??,???K17:14
fijaljustinpeel: I think it can just be enabled back17:14
VarriountMine keeps erroring on the libffi17:14
VarriountI put the misssing file in place, then it turns out I need to put another one somewhere else17:14
fijaljustinpeel: what you can do is pull trunk, enable and make sure it translates17:14
brutal_chaosVarriount: dunno what to tell you, sorry. I don't need libffi, nor do i use mingw17:15
justinpeelfijal: okay, I moved the unary functions in numarray back to ufuncs. That all seems to be working so I'll just commit it (it follows what Alex did).17:15
VarriountT_T17:15
VarriountMine's now at rtyping..17:15
justinpeelthen I'll try renabling the jit17:15
justinpeelerr.. jit test17:15
brutal_chaosfijal: is pypy broken or is this my fault? http://paste.pocoo.org/show/443666/17:16
fijalbrutal_chaos: I think that's simply "can't go over 2G" thing17:16
brutal_chaosI can though...hmm17:16
Varriountbrutal_chaos, Whats happening is that the system gives each process a virtual chunk of memory to use17:17
witulski (~stupsi@fwstups.cs.uni-duesseldorf.de) left irc: Quit: Leaving.17:17
VarriountAnd what you are doing is raising a limit on how big that chunk can get17:17
fijalgenerators produce nonsense17:18
fijalbrutal_chaos: are you sure?17:18
VarriountTechnically, I believe a programs memory is scattered all around the actual ram/main memory, but provided as a contiguous block to the program17:18
ramusara (~ramusara@220.156.210.236.user.e-catv.ne.jp) left irc: Quit: Leaving...17:18
fijalantocuni: ping?17:19
cfbolzfijal: generators produce nonsense?17:20
fijalcfbolz: as in traces for generators are not good17:20
cfbolzah17:20
cfbolzyes, there is a plan for that17:20
fijalis there?17:20
cfbolzyes17:20
fijalis it on a branch?17:20
cfbolz"plan"17:20
fijalok17:20
Alex_Gaynorplanning/jit.txt!17:20
Alex_Gaynor:)17:20
Action: fijal is listening17:20
Alex_Gaynorcfbolz: can you explain?17:20
cfbolzthe goal would be to enable inlining of generators again17:21
kenaan12justinpeel default 11136146a41b4a 15/pypy/module/micronumpy/: numpy: changed numarray unary functions to use ufuncs17:21
kenaan12justinpeel default 119b3ddfcb4c38 15/pypy/module/micronumpy/: merged unary functs17:21
Alex_Gaynorfijal: I believe I suggested that yesterday :D17:21
cfbolzand make sure that if the generator yields every iteration, that exactly one iteration of the generator is inlined17:21
fijalyes, how do we make sure that?17:21
fenrrir (~fenrrir@187.40.141.152) joined #pypy.17:21
kenaan12fijal extradoc 11886df227da76 15/planning/jit.txt: done17:22
cfbolzfijal: for example by having a flag on the frame and ignoring the first jit merge point17:22
cfbolzfirst can_enter_jit, I mean17:23
fijalok17:23
fijaldo you think it's a good goal for a mini-sprint on the weekend17:23
fijal?17:23
cfbolzit's not really a parallelizable task17:24
fijaluh, that's just me & hodgestar17:24
cfbolzshould work17:24
fijalso we don't need a parallelizable task :)17:24
fijalthe other plan was to make call_assembler faster17:25
fijalbut I don't think it would help in this particular case17:25
hakanardofijal: better generators would be great ;)17:25
Alex_Gaynorcall_assembler faster would be cool17:25
cfbolzfijal: generators should be easier17:25
cfbolzalso, they reduce the amount of call_assembler17:26
Alex_Gaynorjustinpeel: why did you remove the neg test_zjit?17:26
brutal_chaosfijal: no17:26
justinpeelAlex_Gaynor the ufunc test uses negative17:26
justinpeelAlex_Gaynor: ^17:26
cfbolzfijal: note that the generator thing can only now be done that armin implemented store sinking of arrays17:27
brutal_chaosVarriount: yes, i know. You have to set a flag on the executable to allow for >2GB memory as well.17:27
Alex_Gaynorcfbolz: btw, was armin trying to kill virtualizables?17:27
brutal_chaosfijal: yes, I know it's possible17:27
Varriountbrutal_chaos, Oh?17:27
cfbolzAlex_Gaynor: not seriously, he played with whether it would be possible17:27
VarriountWhat kind of flag?17:27
brutal_chaos /3G switch needs to be enable and IMAGE_FILE_LARGE_ADDRESS_AWARE needs to be added to pypy.exe17:27
cfbolzAlex_Gaynor: virtualizables are a serious pain17:27
Action: fijal noticed17:28
Alex_GaynorI'm not surprised17:28
fijalthey're not really nicely separated in one spot in codebase :)17:28
fijalanyway17:28
Varriountbrutal_chaos, How would I add those switches?17:29
fijalI'm off to celebrate the fact that I don't have to work tomorrow17:29
fijalwill probably only do some work tomorrow17:29
fijalAlex_Gaynor, cfbolz: check out new feature of jitviewer17:29
fijala new feature17:29
cfbolzlink?17:29
fijalyou can filter loops by name17:29
brutal_chaosVarriount: you already did the ram thing (up to 5g). Right now I am looking into an easy way of enabling IMAGE_FILE_LARGE_ADDRESS_AWARE17:29
Alex_GaynorI will, the next time I want to filter something :)17:29
fijaldownload new jitviewer I fear, no demo ready :-/17:29
Alex_Gaynorfijal: you said profiling is next?  how do you plan to do that17:29
fijalI dunno17:29
fijalmaybe I'll try to play more with interface first17:30
fijalanyway, offf really17:30
Alex_Gaynoradios17:30
cfbolzbye17:30
Alex_Gaynorwhy am I not getting commit emails?17:30
brutal_chaosVarriount: afaik you need vc to do it or some PE editor (such as http://www.ntcore.com/exsuite.php, here are the directions, http://www.codeproject.com/KB/vista/vista_x64.aspx, search for LARGE_ADDRESS_AWARE, only one on the page).17:32
brutal_chaosif you go the vc route, all you do is run 'binedit /largeaddressaware pypy.exe'17:32
brutal_chaosVarriount: if you'd like I can send you a pypy with that flag.17:33
teknico (~teknico@95.235.21.156) left irc: Remote host closed the connection17:33
VarriountThat would be nce17:34
Varriount*nice17:34
fijal (~fijal@196-210-182-4.dynamic.isadsl.co.za) left irc: Ping timeout: 250 seconds17:34
Varriountbrutal_chaos, Under these measures, I might be moved to install vc, but last time I did, it updated a dll and made my graphics driver malfunction17:35
VarriountBrb, have to restart for mingw17:35
dmalcolm (~david@nat/redhat/x-dnlbqvmftnwyizfn) joined #pypy.17:37
gorakhargosh (~user@14.96.115.245) left irc: Remote host closed the connection17:38
brutal_chaosWhat's used to create pypy.exe?17:40
kenaan12justinpeel default 11acad170d7ecf 15/pypy/module/micronumpy/interp_numarray.py: Re-enable set slice drivers for numarrays for that the zjit tests succeed.17:40
justinpeelwow, should have re-read that commit message17:41
Shinato (~John@osbk-4db161d8.pool.mediaWays.net) left irc: Ping timeout: 255 seconds17:48
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Ping timeout: 255 seconds17:50
Shinato (~John@osbk-4db161d8.pool.mediaWays.net) joined #pypy.17:51
amaury (~amaury_@nat/google/x-whbxdhcxaewdqpzn) left irc: Ping timeout: 264 seconds17:53
brutal_chaoslol wut: [rtyper] replaced 142 'jit_force_virtualizable' with <* delayed!force_virtualizable_if_necessary>17:58
Alex_Gaynorwhat about it?17:58
brutal_chaoslooks interesting, never seen anything like it17:58
brutal_chaos! is allowed in a type?17:59
brutal_chaosthe if_necessary part looks the most interesting.18:00
Alex_Gaynorwhat? you can put whatever you like an objects repr18:00
brutal_chaosah18:01
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.18:01
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) left irc: Ping timeout: 260 seconds18:02
brutal_chaoswho is in charge of pypy for windows?18:05
brutal_chaosor rather, who's the one that does it.18:06
etrepum_ (~bob@accessnat4.mochimedia.net) joined #pypy.18:10
etrepum (~bob@accessnat4.mochimedia.net) left irc: Read error: Connection reset by peer18:10
Nick change: etrepum_ -> etrepum18:10
brutal_chaoswoot /largeaddressaware worked18:18
antocunibrutal_chaos: do you mind writing a few instructions on how to do it?18:26
brutal_chaosalready have. where would you like it posted?18:27
antocunino preference18:27
antocunieither on the ML, directly here, as a patch in the bug tracker, etc.18:27
brutal_chaosantocuni: kk, I want to test something first before I finalize the documentation. It might be a while.18:28
antocuniok18:30
antocuniI'll go offline very soon18:30
antocuniyou can maybe ask someone else to commit it18:31
antocunior ping me tomorrow18:31
Action: antocuni off18:31
brutal_chaoskk18:34
antocuni (~antocuni@host200-122-dynamic.16-79-r.retail.telecomitalia.it) left irc: Ping timeout: 276 seconds18:36
Sho_ (~EHS1@kde/hein) left irc: Remote host closed the connection18:37
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) left irc: Read error: Connection reset by peer18:37
cfbolz (~cfbolz@fwstups.cs.uni-duesseldorf.de) left irc: Quit: Leaving18:38
Sho_ (~EHS1@kde/hein) joined #pypy.18:38
brutal_chaosantocuni or anyone who can commit. here is the instructions for more than 2gb of memory usage on windows: http://paste.pocoo.org/show/443718/18:43
brutal_chaosMore documentation for that: http://paste.pocoo.org/show/443721/18:46
brutal_chaosanyone around?18:47
Alex_Gaynorif this was a patch against our existing documentation it would be a little easier18:48
nirbheek (~nirbheek@gentoo/developer/flyingspaghettimonster/nirbheek) joined #pypy.18:54
kenaan12hakanardo jit-short_from_state 113c2afbf75c4a 15/pypy/jit/metainterp/optimizeopt/: produce guards before forcing virtuals as one force might lead to another18:56
kenaan12hakanardo jit-short_from_state 115b76193812ac 15/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py: fix test18:56
kenaan12hakanardo jit-short_from_state 11aad66f8cf6be 15/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py: variable index strgetitem nolong cached across loop boundaries18:56
kenaan12hakanardo jit-short_from_state 111bf3cbdade3a 15/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py: variable index unicodegetitem nolong cached across loop boundaries18:56
kenaan12hakanardo jit-short_from_state 1174ad7bd66501 15/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py: fixed test18:56
amaury (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy.18:57
brutal_chaosAlex_Gaynor: how do I do that?18:58
Alex_Gaynorthe docs are right in the repository18:58
brutal_chaosah, one sec18:58
brutal_chaosAlex_Gaynor: not seeing them...18:59
Alex_Gaynorpypy/docs18:59
brutal_chaosAlex_Gaynor: the windows docs seem fairly out of date. Shall I revamp them?19:03
Alex_GaynorI guess, I know nothign about it/them19:03
etrepum (~bob@accessnat4.mochimedia.net) left irc: Ping timeout: 250 seconds19:06
kenaan12ademan ootype-rerased 113af86a0633cc 15/pypy/: Added test for oo{,un}box_integer. Currently fails.19:14
Ademan (~dan@adsl-71-141-241-76.dsl.snfc21.pacbell.net) joined #pypy.19:14
brutal_chaosAlex_Gaynor: how do I create a patch now? (sorry, used to git)19:20
jblaze_ipad (~jblazeipa@mobile-166-147-112-163.mycingular.net) left irc: Quit: Colloquy for iPad - http://colloquy.mobi19:20
Alex_Gaynorhg diff19:30
durin42You can also do a commit and then do 'hg export'19:31
durin42which is nice because it preserves authorship and commit message.19:31
santagada (~user@201.47.223.36) joined #pypy.19:31
brutal_chaosHow do I give hg a username / info? I did hg help config, but I am using a dumb terminal and cannot scroll back far enough19:35
donri (~donri@unaffiliated/dagodenhall) joined #pypy.19:40
berdario (~quassel@host188-150-dynamic.50-82-r.retail.telecomitalia.it) joined #pypy.19:40
etrepum (~bob@75-101-96-144.dsl.static.sonic.net) joined #pypy.19:40
durin42brutal_chaos: echo '[ui]\n username = "Your Name <email@host.com>"' >> ~/.hgrc19:40
brutal_chaosWith git I can use HEAD^ to reference the commit before HEAD, is there anything like that in mercurial?19:42
brutal_chaosI am working on export right now19:42
durin42brutal_chaos: hg co .^19:42
durin42'.' means the parent of the working directory19:42
durin42^ means first parent19:42
brutal_chaosinvalid token19:43
brutal_chaoshg export .^19:43
durin42brutal_chaos: hg --version19:43
brutal_chaos1.919:44
brutal_chaoswhen I did, hg export .^, it asked More?19:44
brutal_chaosidunno what to answer for that19:44
brutal_chaoshg export .19:45
brutal_chaosthat works19:45
Rhy0lite (~dje@nat/ibm/x-chvznlxxkokfxypq) left irc: Quit: Leaving19:48
brutal_chaosAlex_Gaynor: http://fpaste.org/3Di919:49
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.19:50
brutal_chaosMy question now is, how can I create a windows pypy package? A package akin to pypy-1.5.zip for windows.19:55
amaurythere is a script19:58
amaurybrutal_chaos/ pypy/tool/release/win32build.py19:59
amauryit translates *and* make zip files19:59
amaurybrutal_chaos: hg export .^ does not work as is on windows20:01
amaurybecause ^ is the escape character to join the line with the next one20:01
brutal_chaosah20:02
amaury".^" may work20:02
brutal_chaosDoes whoever puts together pypy for windows not include bzip2, etc? I am requiring LIBBZ2.dll20:03
brutal_chaosIt wasn't required before20:04
brutal_chaosnor included20:04
brutal_chaosAny idea what, "cannot find gc roots!" is all about?20:06
Trundle (~andy@dslb-188-104-101-173.pools.arcor-ip.net) joined #pypy.20:13
Trundle (~andy@dslb-188-104-101-173.pools.arcor-ip.net) left irc: Changing host20:13
Trundle (~andy@python/site-packages/trundle) joined #pypy.20:13
amaurylibbz2.dll should not be necessary20:13
amaurynormally bz2 is a static library20:14
amauryhow did you compile it?20:14
amaury"cannot find gc roots" is the panic message of the asmgcroot system20:15
amauryit's a fragile thing, and should be replaced at some point20:16
amauryTry to add --gcrootfinder=shadowstack to your translation command20:17
amauryit's a bit slower, but does not rely on assembler transformations20:18
brutal_chaosWhat could be the reason I am getting the error? Is it just the latest (building) code not playing nice with vc++?20:20
amauryyes, it broke at some point20:20
JaRoel|4D (~jaroel_4d@sink.jaroel.nl) joined #pypy.20:20
amauryour win32 buildbot has the same issue20:20
amauryit worked for 1.5.020:20
amaurybut the day after, we lose the only win32 workstation we had20:22
brutal_chaosamaury: i figured out the issue. DLL hell. pypy.exe was trying to use GTKs zlib because that was found first in the PATH, though GTK's zlib is an older one.20:24
brutal_chaosOnce I fixed that, pypy worked just fine20:25
brutal_chaosThough, still am dependent on libbz2.dll, oh well.20:26
amauryhow did you compile it?20:26
amaurynormally it should be a static library20:26
amaurysame for zlib20:27
brutal_chaosi didn't, I just grabbed libbz2.lib and threw it in the LIB path20:27
brutal_chaossame with zlib20:27
amauryhttp://codespeak.net/pypy/dist/pypy/doc/windows.html20:27
brutal_chaosnevermind, not fixed.20:28
amaurycontains instruction to build pypy20:28
amaurythey should still work20:28
brutal_chaosamaury: I just updated that http://fpaste.org/3Di9/20:29
brutal_chaosThough, I will *retry*20:29
amaurybrutal_chaos: about the /3GB, it is not necessary on win6420:31
brutal_chaosamaury: yes it is20:34
brutal_chaosI thought it was anyway20:35
brutal_chaosSince 32bit apps are still limited to 2GB unless 'released'20:35
amauryhttp://stackoverflow.com/questions/586826/image-file-large-address-aware-and-3gb-os-switch/587061#58706120:37
amauryon win64, the /3GB is not needed20:37
amauryas if it was already enabled20:37
amaurythe EDITBIN part is still necessary though20:38
berdario (~quassel@host188-150-dynamic.50-82-r.retail.telecomitalia.it) left irc: Ping timeout: 258 seconds20:39
brutal_chaosok, some people still may be on a 32bit system.20:40
brutal_chaos[platform:ERROR] LINK : fatal error LNK1181: cannot open input file 'libeay32.lib' occurs if I try building from the directions20:40
brutal_chaosa few others popup too20:41
amaurypopups?20:41
brutal_chaosshow up20:41
brutal_chaossorry20:41
brutal_chaos[translation:WARNING]           LINK : fatal error LNK1181: cannot open input file 'libbz2.lib'20:42
brutal_chaosetc20:42
amaurywhere did you compile it?20:42
amauryyour directory structure should be like this:20:46
amauryif you extraced pypy in %BASE%/pypy20:46
amauryyou have files like20:46
amaury%BASE%/pypy/.hg/hgrc20:46
amaury%BASE%/pypy/pypy/test_all.py20:46
amaury%BASE%/bzip2-1.0.5/makefile.msc20:46
brutal_chaosI have done this20:47
brutal_chaosalthough, %BASE%, need it be defined or is that something generic you are using?20:47
amauryit's generic20:47
amaurypypy knows its directory20:48
amauryand libraries are found with relative paths20:48
amaurywhich .lib files do you have under bzip2-1.0.5?20:48
brutal_chaosHow does it find bzip2-1.0.5?20:49
amaury../../bzip2-*20:49
brutal_chaoshow about gzip?20:49
brutal_chaosor openssl?20:50
amaury../../zlib-*20:50
amaury../../openssl-*20:50
brutal_chaoshmm, k20:50
brutal_chaoswhere is that determined?20:50
amauryif there are multiple versions, the last one is chosen20:51
amaurypypy/rlib/rzlib.py for example20:51
amauryThe call to rffi_platform.configure_external_library()20:51
kkris (~kris@188-22-124-75.adsl.highway.telekom.at) left irc: Quit: Leaving.20:52
brutal_chaosamaury: idunno if that is working on windows.20:53
amaurywell, I wrote it *for* windows20:54
brutal_chaoslol20:54
amaurysince Unix platforms have standard places for such libraries20:54
amaurybut it's possible that it broke at some point20:55
amauryit did work the 30th of April20:55
brutal_chaoshttp://i.imgur.com/XdbFe.png20:56
amaurylooks good20:56
brutal_chaoshttp://i.imgur.com/YRk3J.png20:56
iratsu (~alang@cpc2-oxfd21-2-0-cust354.4-3.cable.virginmedia.com) joined #pypy.20:57
amaurywhat it the content of bzip2-*?20:57
amaurydo you have files there, or is there another bzip2 directory inside?20:58
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) left irc: Ping timeout: 252 seconds20:58
brutal_chaoshttp://fpaste.org/Q5HD/20:59
brutal_chaosin Release is libbzip2.lib and libbzip2.dll20:59
brutal_chaosrather, not the dll, but only the lib20:59
ericflo (~ericflo@c-98-234-217-1.hsd1.ca.comcast.net) joined #pypy.21:01
brutal_chaosamaury: ^21:01
amauryhow did you compile this dll?21:04
amaurymakefile.msc does not mention it21:05
brutal_chaosopened libbz2.dsp in VC++ and built a Release build21:05
amauryhttp://codespeak.net/pypy/dist/pypy/doc/windows.html21:06
brutal_chaoswhat's the difference?21:06
amaurynmake -f makefile.msc21:06
Jerubquestion i asked earlier: is it possible to make the pypy translation process use more than 1 cpu?21:07
amauryit builds a static library21:07
amauryJerub: no21:07
Jerubk, thanks.21:07
amauryonly the last part runs "make -j3"21:07
amauryto compile the C files21:07
brutal_chaosamaury: http://paste.pocoo.org/show/443829/21:08
brutal_chaosit builds fine via the solution21:09
amaurybah21:09
amaurythe makefile is probably stale21:09
amaurylet me look at it21:09
brutal_chaosamaury: http://fpaste.org/mj0R/21:11
brutal_chaosthat's the one I am using21:11
amauryyes, I downloaded the tar file21:11
Jerubamaury: the machine i'm compiling on has 6 cpus and i've done a dozen translation attempts today. hence my question ;)21:11
amauryJerub: It would be nice I agree21:12
amaurybut it's not easy at all21:12
Jerubamaury: sure, i was just making sure i wasn't missing a poorly named commandline option, 21:12
amauryand don't forget the GIL, only one cpu can work at a time21:12
brutal_chaosamaury: the makefile.msc is for vc++6 and I am using vc++921:13
amauryshould not matter21:13
amaurythe options did not change so much21:13
amaurydid you start a "Microsoft Compiler environment" windows?21:14
iratsu (~alang@cpc2-oxfd21-2-0-cust354.4-3.cable.virginmedia.com) left irc: Remote host closed the connection21:14
amaurysome environment variables are probably missing21:14
amaurylike: INCLUDE, LIB21:14
brutal_chaosI hadn't, that worked though.21:15
amauryso now you have libbz2.lib in the correct place?21:16
brutal_chaosI guess so, I could have just copied it there tho.21:16
amaury"copied"?21:17
amaurythe one in Release is not a static library21:17
brutal_chaosah21:17
amauryit's the import library for the dll21:17
brutal_chaosI see.21:17
amauryyou should see the difference in file sizes...21:17
brutal_chaoswell then, I need to get perl for openssl21:18
amauryyes :(21:18
amauryeither from ActiveState, or cygwin21:18
Trundle (~andy@python/site-packages/trundle) left irc: Remote host closed the connection21:20
Jerubis translation still broken?21:20
Jerubi'm trying the revision id that brutal_chaos gave to me earlier just now21:21
amauryI see a failure on the buildbot21:22
amaurybut this one was fixed21:22
brutal_chaosamaury: zlib-1.2.5 doesn't build because of a missing symbol, but 1.2.4 builds fine21:22
amaurydo you have an error message?21:23
brutal_chaosI did, one sec21:27
antocuni (~antocuni@host200-122-dynamic.16-79-r.retail.telecomitalia.it) joined #pypy.21:28
brutal_chaosamaury: unresolved external symbol _inflate_fast21:28
amaury!21:29
fijal (~fijal@41.51.82.199) joined #pypy.21:29
ojii (~ojii@84.226.127.220) left irc: Ping timeout: 240 seconds21:29
brutal_chaosamaury: ok, still missing libeay32.lib21:31
brutal_chaosfrom openssl21:31
brutal_chaosbesides that, it looks like all is there.21:31
amaurybrutal_chaos: can you paste the whole output of a zlib-1.2.5 build?21:33
Jerubhttp://paste2.org/p/153382521:36
Jerubmy attempts at translation21:36
brutal_chaosamaury: http://fpaste.org/KprF/21:37
Alex_Gaynoryou need libffi21:37
JerubAlex_Gaynor: i do?21:37
brutal_chaosJerub: mingw?21:37
Alex_Gaynorsorry was talking to brutal_chaos21:38
brutal_chaosAlex_Gaynor: I need libffi for VC++?21:38
Alex_Gaynorerr shit I'm an idiot, I was talking to Jerub 21:38
Jerubheh21:38
Jerubi have libffi5 21:39
Alex_GaynorFTR translation is indeed busted on trunk21:39
Alex_Gaynorfijal: translation isn't working :)21:39
amaurybrutal_chaos: Makefile.msc for zlib-1.2.5 is broken21:39
Jerubi updated to a revision brutal_chaos said would translate.21:40
kenaan12RonnyPfannschmidt default 11b1ae5324c66b 15/: inline the pytest coverage plugin, and autoload it in pypy/test_all.py21:40
ronnyfijal: should do this way, need any more extras?21:40
fijalAlex_Gaynor: no?21:40
JerubAlex_Gaynor: what's the package name i need for libffi?21:40
fijalAlex_Gaynor: what's wrong?21:40
Alex_GaynorJerub: libffi-dev on most linuxes21:40
fijalronny: cool, thanks21:40
Alex_Gaynorfijal: http://paste.pocoo.org/show/443851/21:40
ronnyfijal: you still need the --cov option to give it paths tho21:41
antocuniAlex_Gaynor, fijal: translation worked for me at f653dfeacbc621:41
fijalAlex_Gaynor: hg pull -u?21:41
brutal_chaosamaury: kk21:41
brutal_chaosamaury: still getting, [platform:ERROR] LINK : fatal error LNK1181: cannot open input file 'libeay32.lib'21:41
Alex_Gaynorfijal: the only change I was missing was the one ronny just committed, I can try again if you like21:41
fijalAlex_Gaynor: ?21:41
fijalit should have worked21:41
Ademanantocuni: I pushed the test (it's in pypy/translator/oosupport/test_template/operations.py) it blows up because it wants a method (box_integer) that returns a java.lang.Integer which is wrong, (that *is* what it returns, but it's cast to Object) something is aggressively specializing it21:42
ronnyAlex_Gaynor: my change is irrelevant to pypy itself21:42
Alex_Gaynorit worked at "2ead4778c7ac" for me21:42
Alex_Gaynorronny: yes I know :)21:42
Jerubi ran an apt-get command that was in a document somewhere21:42
Jeruband now i can't find it21:42
amaurybrutal_chaos, is this libeay32.lib somewhere in the openssl dir?21:42
brutal_chaosyeah21:42
Ademanantocuni: if you have a second to look/comment I'd appreciate it21:42
antocuniAdeman: do you have a traceback?\21:43
brutal_chaosamaury: actually, no?21:43
amaury?21:43
brutal_chaosamaury: I can't find any of the libs or dlls21:43
voidspace (~voidspace@python/psf/voidspace) left irc: Quit: Uhm... gotta go21:43
amaurywell, did you compile at least?21:44
fijalpfff21:44
brutal_chaosYeah, I followed the directions from the win-docs page21:44
lizardo (~lizardo@186.212.115.104) left irc: Quit: Leaving21:44
fijalAlex_Gaynor: ok, disable slices again21:44
fijaljustin didn't understand what I said21:44
amaury"nmake install"?21:44
fijalI told him to translate before reenabling them21:44
fijaland not to run jit tests21:44
Alex_Gaynorfijal: can you hit it, I'm trying to make pip install 32 bit stuff ona  64-bit OS, alex@devalex:~/ans/web/lib/a$ CFLAGS="-m32" pip-pypy install PIL -U should work right?21:45
Ademanantocuni: yeah it's not the most useful but give me a minute and I'll get it to you.21:45
Alex_Gaynordo we ignore CFLAGS or something?21:46
brutal_chaosamaury: yeah, says it's up to date but does not build.21:46
Ademanmore important is the generated jasmin source I think21:46
brutal_chaosalso, there isn't a clean option.21:46
kenaan12fijal default 11cb95026e7622 15/pypy/module/micronumpy/interp_numarray.py: disable those until we know it works21:46
brutal_chaosamaury: 'install' is up-to-date21:47
Alex_Gaynorpff, our dsysconfig seems to ignore the env vars21:47
Alex_Gaynoror maybe that's fine21:48
Alex_Gaynorgah, distutils21:48
santagada (~user@201.47.223.36) left irc: Ping timeout: 255 seconds21:48
voidspace (~voidspace@python/psf/voidspace) joined #pypy.21:48
fijalronny: why it only works via testall.py?21:48
brutal_chaosamaury: no ssl :(21:48
brutal_chaosAlso, zlib is being disabled...21:49
ronnyfijal: if its not using entrypoints, you need to actually pass the plugin as object21:49
brutal_chaos_hashlib, _ssl, and zlib21:49
ronnyfijal: since its not installed, one needs to add it manually21:49
davisagli (~davisagli@davisagli.com) left irc: Excess Flood21:49
fijalwhat are entrypoints?21:49
ronnysetuptools entrypoints21:49
fijalalso, how do I add it?21:49
fijaland can it be done by defaults?21:50
fijalby default21:50
ronnyyou'd have to change the pytest code in pypy to add it by default21:50
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.21:50
davisagli (~davisagli@davisagli.com) joined #pypy.21:51
ronnybut it might be a good idea to add that special case for coverage anyway21:51
fijaljustinpeel: hey21:52
justinpeelfijal: ho21:52
justinpeelwhat's up?21:52
fijalronny: honestly, I'm not following, but I think it's a good idea21:52
amaurybrutal_chaos: didn't you say that zlib-1.2.4 was ok?21:52
fijaljustinpeel: you broke stuff. I told you to try translation not test_zjit before merging21:52
justinpeeloh, crap21:52
justinpeelI thought that you were saying that it worked21:53
ronnyfijal: its not a good idea atm, cause it would mean the pytest code in pypy would be different from upstream21:53
fijalyeah21:53
ronnyfijal: for now use test_all, i'll mail holger wrt making early use of coverage in general21:53
fijalbut then I hoped you'll reenable it and translate and see if it still works :)21:53
brutal_chaosyeah21:53
fijalronny: how's testall different than py.test btw?21:53
Alex_Gaynorfijal: what are those?  I use pytests.py21:54
ronnyfijal: it imports pytest_cov and adds it to othe list of initial plugins21:54
brutal_chaosamaury:  it built fine and pypy didn't complain about not finding zlib21:54
Alex_Gaynorpytest.py*21:54
amauryah, that's because you have a zlib-1.2.521:54
fijalronny: can we make py.test do the same in one line or so?21:54
amaurybrutal_chaos: you should rename ti21:54
brutal_chaosamaury: just, after the dependency checks, zlib is disabled21:54
fijalI'm for one fine with never updating py.test in pypy21:54
fijalit breaks stuff21:54
ronnyfijal: yeah, but thats something i'd like to do upstream with holger first21:54
fijalyes, but we won't merge upstream21:55
amauryren zlib-1.2.5 notworking-zlib-1.2.521:55
fijalis is one line or not?21:55
kenaan12antocuni ootype-rerased 1121953bca75cb 15/pypy/translator/jvm/typesystem.py: fix the signature of the oo{box,unbox}_int java methods21:55
brutal_chaosamaury: 1.2.4 you mean?21:55
ronnyok, i'll do it21:55
antocuniAdeman: I fixed it21:55
brutal_chaosamaury:  1.2.5 doesn't work atm21:55
antocunithe problem was that the signature in the PyPy.java file and the one declared in typesystem.py did not match21:56
amauryyes, that's why you shoudl rename it21:56
amauryso 1.2.4 is taken instead21:56
Alex_Gaynoramaury: our sysconfig.customize_compiler doesn't seem to respect the env vars, how hard do you think it would be to make it? (the only one I need is CFLAGS)21:56
brutal_chaosamaury: ah, it's not in the folder any more, it's been deleted21:56
brutal_chaos[translation:WARNING] because importing pypy.rlib.rzlib raised ImportError21:57
brutal_chaos[translation:WARNING] Could not find a zlib library21:57
amauryAlex_Gaynor: you may copy more code from sysconfig-cpython.py21:57
amaurybrutal_chaos: normally there is another message21:58
Alex_Gaynoramaury: ok, thanks21:58
amauryprovided you have at least one zlib-*21:58
brutal_chaos[translation:WARNING] The module 'zlib' is disabled21:58
brutal_chaos[translation:WARNING] because importing pypy.rlib.rzlib raised ImportError21:58
brutal_chaos[translation:WARNING] Could not find a zlib library21:59
fijalronny: how do I make it work btw?21:59
brutal_chaosamaury: that's all21:59
fijalI installed coverage and run testall.py --cov-report=html21:59
fijal(I think --cov is a stupid prefix, I always type --cover or --coverage)21:59
brutal_chaosamaury: oh would you look at that, I overlooked one.21:59
brutal_chaosamaury: http://fpaste.org/xZBq/22:00
brutal_chaosthat's what's causing zlib to fail22:00
gtaylor (~gtaylor@108-196-160-120.lightspeed.tukrga.sbcglobal.net) left irc: Remote host closed the connection22:00
ronnyfijal: --cov apath --cov-report something22:02
ronnyfijal: it always needs --cov apath22:02
fijalok22:02
fijalit has changed then22:02
fijalINTERNALERROR> PluginValidationError: <pytest_cov.CovPlugin object at 0xf51050>:22:02
fijalINTERNALERROR> found unknown hook: pytest_testnodedown22:02
fijaldid you look if it works btw?22:02
ronnyoh, i forgot to check for the xdist stuff22:03
Action: fijal is uber-confused22:03
fijalwhy do we need xdist stuff?22:03
fijalI mean it's fine22:03
ronnyfijal: we dont, but coverage hasnt marked the distribution hooks as optional22:03
fijalok22:03
ronnythus pytest is mad at it22:03
fijalthen maybe we should mark it?22:04
amaurybrutal_chaos: is there a file named zlib-1.2.4/zlib.lib ?22:04
Jerubi recall having many a fight with coverage and xdist. they don't play well together.22:04
Ademanantocuni: WOW, I can't believe I used jIntegerClass I totally didn't mean to... thanks for fixing that22:04
antocuniyou're welcome22:04
Jerubthings like loop on failing+ coverage 22:04
brutal_chaosamaury: yes22:04
AdemanI guess it just needs a cli version and it can go back to trunk, although I should probably fix unerasing prebuilt ints on ootype22:05
antocuniAdeman: I think you should also make sure that test_box works in the llinterp22:05
amaurybrutal_chaos: can you modify temporarily the file pypy/rpython/tool/rffi_platform.py22:05
amauryand remove the line "configurations.append({})"22:06
amaury(replace with a "pass")22:06
antocunii.e., you should put it e.g. in rpython/test/test_rclass.py or test_rint.py22:06
antocuni(only in the TestOOType class, of course)22:06
amauryso that we get the real error22:06
Alex_Gaynoramaury: how does one test this customize_compiler stuff?22:06
Ademanantocuni: sounds good22:06
amauryAlex_Gaynor: by running tests :(22:07
Alex_Gaynordon't thye fail ATM22:07
amaury:( because most of them fail22:07
brutal_chaosamaury: kk, translate again?\22:07
fijalronny: ?22:08
Jerubwooo. it's translating22:08
brutal_chaosamaury: http://fpaste.org/mBXV/22:09
brutal_chaosI didn't see any missing zlib.lib this time, but zlib was still disabled22:10
ronnyfijal: working on it, cant get rid of pytest-xdist atm, python hates me22:11
fijalronny: ok, so pytest-xdist is fine22:11
fijaljust make it work22:11
kenaan12alex_gaynor default 117203ebd350a7 15/lib-python/modified-2.7/distutils/sysconfig_pypy.py: respect CFLAGS when installing stuff with distutils.22:13
fijalok22:15
fijalI got an example where 64bit is 30% slower than 32bit22:15
Alex_Gaynorhmm, english needs more precise words, it's not "good" per-se, but it is good that we know, given it was always like this22:16
CIA-5503fijal 07roundup * 10#805/64 bit 30% slower than 32bit pypy: [new] Attached example (regexes) * 14https://bugs.pypy.org/issue80522:17
fijalit's also quite a bit slower than cpython22:17
Alex_Gaynorfijal: on 32-bit as well?22:18
whyking (~quassel@128.148.208.164) left irc: Ping timeout: 250 seconds22:18
brutal_chaosamaury: heres the current starting output: http://fpaste.org/DaN4/22:18
fijalyeah22:19
Alex_Gaynorfijal: uhh, you didn't attach anything22:19
Alex_Gaynor(yay roundup)22:19
fijalless so though22:19
Alex_Gaynor30% less perhaps22:19
fijalI totally did22:19
fijalI attached now22:19
fijalbut I did attach the first time as well22:19
brutal_chaosamaury: ugh, that didn't get everything. scratch that.22:20
amauryIMO you should use zlib-1.2.322:20
fijalantocuni: http://paste.pocoo.org/show/443886/22:20
fijalI can't mix int and addressasint?22:20
antocuni (~antocuni@host200-122-dynamic.16-79-r.retail.telecomitalia.it) left irc: Ping timeout: 276 seconds22:21
brutal_chaosamaury: will do. what about the libeay32.lib tho22:21
amaurywell, try openssl 0.9.822:21
Alex_Gaynorfijal: is this slow because of GC/22:21
ronnyfijal: i figured what to mark, i'll push it upstream as well22:22
fijalI don't know22:22
brutal_chaosamaury: pyopenssl (as of 0.11 anyway), requires openssl 1.0.022:22
Hodgestarfijal: We need to photograph you with a sign that says "Will speed up numpy for food". :)22:22
fijalHodgestar: :)22:22
exarkunpyopenssl does not require openssl 1.0.022:23
amauryand it's not an issue on windows22:23
amaurythe _ssl module can link statically with one openssl version22:23
amauryand pyopenssl use another one22:24
brutal_chaoscool22:24
brutal_chaosamaury: hmm, i must have read something wrong. I will get 0.9.8 then.22:24
kenaan12RonnyPfannschmidt default 11ff4a90f9be99 15/pytest.py: also use pytest_cov in the normal pytest script22:25
kenaan12RonnyPfannschmidt default 11e16267c17fb1 15/pytest_cov.py: mark the xdist hooks of pytest_cov optional22:25
kenaan12RonnyPfannschmidt default 11cededc37c18e 15/: merge22:25
davisagli (~davisagli@davisagli.com) left irc: Excess Flood22:25
davisagli (~davisagli@davisagli.com) joined #pypy.22:26
brutal_chaosamaury: I have no idea where I got that idea. 22:26
ronnyfijal: ok, now stuff should be fine either way22:26
brutal_chaosoh well, will try zlib-1.2.3 and openssl-0.9.8. for now, I am off. bb in a few hours.22:27
brutal_chaosthanks for the help everyone22:27
fijalINTERNALERROR> ImportError: No module named cov_core22:27
fijalronny: did you actually check it?22:27
amaurythanks *you* for trying pypy on windows!22:27
`fox` (~fox@host254-107-dynamic.45-79-r.retail.telecomitalia.it) joined #pypy.22:28
fijalronny: what's cov_core anyway?22:29
Moldymoss (~chatzilla@host109-149-99-59.range109-149.btcentralplus.com) joined #pypy.22:29
fijalAlex_Gaynor: I don't have a built pypy-c to check22:30
fijalwill do soon22:30
Alex_Gaynorfijal: check what?22:30
Alex_GaynorI forget what I asked22:30
fijalcheck what's the problem with this code22:30
ronnyfijal: pobably another thing i missed in the details, what coverage version22:30
Alex_Gaynorah ok22:31
fijalronny: ok, but can you actually check if it works before pushing?22:31
Alex_Gaynordoes cc -shared -m32 <.o files> not invoke ld with some flag?22:31
Alex_GaynorI don't see /usr/lib32/ on the search path for libs22:31
ronnyfijal: the main problem is that it friggin works here it seems i'll have to kill my dev env22:31
fijalronny: an empty virtualenv for example22:32
fijal?22:32
fijal--no-site-packages or so22:32
ronnyok, found what was missed22:35
ronnythere is a extra package called cov-core22:36
ronnyits support code for test tools, including coverage in subprocesses and stuff like that22:36
ronnyyou probably want that installed22:36
ronnysince it adds a utility pth22:36
fijalok22:36
ronnyare there some docs where i should add that?22:37
fijaldunno22:37
fijalsomewhere...22:37
JaRoel|4D (~jaroel_4d@sink.jaroel.nl) left irc: Remote host closed the connection22:37
fijalbut not sure where :)22:37
fijalbut clearly22:37
fijallook at docs and see where it's the best spot?22:38
whitelynx (~whitelynx@li117-47.members.linode.com) left irc: Quit: Ex-Chat22:38
`fox` (~fox@host254-107-dynamic.45-79-r.retail.telecomitalia.it) left irc: Quit: <322:39
Alex_Gaynorbah, what magic do I need to convince cc -m32 to look in /usr/lib32/ for libs?22:41
fijalyour chroot should pick it up22:41
dmalcolm (~david@nat/redhat/x-dnlbqvmftnwyizfn) left irc: Quit: Leaving22:42
Alex_GaynorI don' thave a chroot22:42
fijaloh wow22:42
fijalwhy?22:42
Alex_Gaynorthis is just a 64-bit OS22:42
Alex_Gaynorbecause mess :)  given I don't have one, how do I convince gcc to do this22:42
fijalset LD_FLAGS or so?22:42
fijalor static libs?22:42
fijal-Lstuff22:42
Alex_GaynorLD_FLAGS I suppose22:42
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) left irc: Quit: Leaving.22:46
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.22:46
fijalronny: works, thanks22:47
Alex_Gaynorfijal: wow, the issue was getlibs installs stuff as lib32/foo.so.1.2.3 and doesn't symlink to lib32/foo.so22:48
justinpeel (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) left irc: Read error: Connection reset by peer22:48
kenaan12RonnyPfannschmidt default 1138aa87797a59 15/pypy/doc/coding-guide.rst: add using coverage reports to the coding guide22:48
justinpeel1 (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.22:48
fijalbtw, the only think untested in micronumpy is dead code22:49
kenaan12fijal default 11d6837e825d00 15/pypy/module/micronumpy/interp_numarray.py: kill some dead code22:50
Alex_Gaynorfijal: if someone reminds me I might run a coverage on all of own-tests, to see how we're doing22:51
fijaland put it online somewhere22:52
Alex_Gaynorsure22:53
Alex_Gaynorwell I'll run it on tannit, because it'll be fater22:53
ronnytime for me to sleep22:55
kenaan12fijal default 117b3a66f3c80a 15/pypy/module/micronumpy/test/test_numarray.py: a missing test22:56
ronnynight22:57
fijalAlex_Gaynor: is app numpy necessary?22:57
fijalronny: night22:57
Alex_Gaynorfijal: necesary relative to what?22:57
fijalas in, won't it work without it?22:57
brutal_chaos (~Justin@c-98-232-189-109.hsd1.or.comcast.net) left irc: Quit: Leaving.22:58
justinpeel1I think that we can get rid of it22:58
fijalwe have convert_to_array and whatnot23:00
fijalanyway, sleep for me as well23:00
justinpeel1okay, I'm working on the jit stuff23:01
justinpeel1 (nepo@c-76-23-44-72.hsd1.ut.comcast.net) left #pypy.23:02
Jerubyay, self hosting translation done. 33 minutes23:02
justinpeel1 (~nepo@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.23:02
fijaljustinpeel1: I'll look into reenabling those merge points tomorrow23:03
fijalit's a bit non-trivial23:03
fijal(feel free to experiment)23:03
justinpeel1yeah, it looks that way23:03
justinpeel1does that test you just added work correctly?23:03
fijalbut make sure you translate before you merge in anything23:03
fijalyes?23:03
justinpeel1I thought that array() == array() doesn't work yet..23:03
justinpeel1thought you had to loop over it and check each item23:03
fijalhm23:04
fijallooks about right23:04
fijaloops indeed23:04
justinpeel1in numpy if you do array([1,2,3]) == array([1,4,5]) you get a bool array array([True, False, False])23:04
fijalah I see23:05
justinpeel1but we aren't there yet..23:05
fijalthan indeed we need dtypes rather sooner than later :)23:05
Jerubhm. you could do: all(lhs == rhs)23:05
justinpeel1Jerub: yes, but right now we don't have bool arrays..23:05
kenaan12fijal default 119b2cf174334c 15/pypy/module/micronumpy/test/test_numarray.py: fix the test, thanks justin23:06
justinpeel1I think I'll add a primitive version that at least gives us basic float, int and bool arrays23:06
Alex_Gaynorwell (lhs == rhs).all() I suppose :)23:06
fijal"primitive"23:06
justinpeel1just using array([1,2,3],dtype=int) or the like for now.23:06
justinpeel1well, it won't handle all types of ints and such23:07
justinpeel1it is actually quite a major thing to implement the dtypes23:07
fijalyeah23:07
justinpeel1I was digging through that part of the numpy code yesterday23:07
fijalwell, dtype is also complex data structures23:08
justinpeel1but I think we should do dtype before multidim for sure23:09
justinpeel1and I'm not going to add any more ufuncs until we get both dtypes and multidim because I think that we will have to redo a lot of things anyway23:09
fijalfortunately only in places23:10
fijalbecause there is not much code duplication23:10
Moldymoss (~chatzilla@host109-149-99-59.range109-149.btcentralplus.com) left irc: Quit: ChatZilla 0.9.87 [Firefox 5.0/20110619063910]23:11
justinpeel1yes, but we'll also have to expand a lot of code when we get to multidim to deal with the axis parameter23:11
danrasband (~danrasban@c-76-27-1-182.hsd1.ut.comcast.net) left irc: Quit: Leaving23:11
amaury (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 250 seconds23:11
amaury (~amaury_@74.125.121.33) joined #pypy.23:12
Alex_Gaynorjustinpeel1: yes, but that's just a matter of expanding hte decorator right, none of the functions need changing23:13
Alex_Gaynorwhich is awesome23:14
justinpeel1well, all of the binary and unary ops will work just fine23:14
justinpeel1but the reduce functions will need to be redone23:14
Alex_GaynorI think this weekend I'll add ufunc.reduce() method, and make sum/prod use them23:15
justinpeel1I thought about doing that23:16
justinpeel1what might be better is to add a Ufunc class23:16
justinpeel1which will have a reduce function, accumulator, etc.23:16
Alex_Gaynoreventually, yes23:16
Alex_Gaynorufuncs will get a class23:16
fijal (~fijal@41.51.82.199) left irc: Ping timeout: 240 seconds23:24
whitelynx (~whitelynx@75.110.189.230) joined #pypy.23:31
whitelynx (~whitelynx@75.110.189.230) left irc: Client Quit23:34
whitelynx (~whitelynx@75.110.189.230) joined #pypy.23:34
Sho_ (~EHS1@kde/hein) left irc: Quit: Stop leaking memory like it's going out of fashion.23:41
whitelynx (~whitelynx@75.110.189.230) left irc: Quit: Leaving23:49
whitelynx (~whitelynx@75.110.189.230) joined #pypy.23:50
whyking (~quassel@pool-108-12-201-88.prvdri.fios.verizon.net) joined #pypy.23:50
whitelynx (~whitelynx@75.110.189.230) left irc: Client Quit23:50
whitelynx (~whitelynx@75.110.189.230) joined #pypy.23:50
--- Fri Jul 22 201100:00

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