==== Channel ##pypy: 10/31/05 ====

[00:04] <xorAxAx> whoot!

[00:06] <xorAxAx> assuming 2 functions foo and foo2 whereas foo computes the factorial using recursive calls and foo2 computes it using xrange and *=, the time used to call these functions for a few values is called x1 (foo) and x2 (foo2)

[00:06] <xorAxAx> on cpython, x1/x2 is 1.90 and on pypy it is 0.3333

[00:06] <xorAxAx> that means that the recursive one is much more faster. (stackless here of course=

[00:07] <xorAxAx> s/pypy/pypy-c/

[00:08] <xorAxAx> hmm

[00:08] <xorAxAx> time.clock is weird

[00:09] <xorAxAx> in fact, it is 0.33617334879164534

----- silence for 25 minutes -----

[00:34] <stakkars> foo is recursive and foo2 iterative.

[00:34] <stakkars> x1 = time(foo) and x2 = time(foo2)

[00:35] <xorAxAx> yes!

[00:35] <stakkars> x1/x2 == 1.90 on CPython means iteration is almost twice as fast,

[00:35] <xorAxAx> correct :)

[00:35] <stakkars> while with pypy recursion is three times faster?

[00:35] Shoragan (n=shoragan@d072.apm.etc.tu-bs.de) left irc: Client Quit

[00:35] <xorAxAx> yes

[00:36] <xorAxAx> note that xrange involves app-level helpers, doesnt it?

[00:36] <stakkars> this is in fact very bad, and a very good observation.

[00:36] <stakkars> ok, stop it, crap, sure.

[00:36] <stakkars> to be fair,please userange.

[00:36] <xorAxAx> ok, trying again

[00:36] <Jerub> w00t, fast recursion is exciting.

[00:38] <xorAxAx> 2.8874018272158999

[00:38] <stakkars> phew!

[00:38] <xorAxAx> so recursion is slower (except if you choose xrange)

[00:38] <stakkars> that's more in the direction I would expect,yes.

[00:39] <stakkars> it would be interesting to know how fast this is at interpreter level.

[00:39] <stakkars> you wouldneed to write a target that compiles just htis code.

[00:39] <stakkars> and enable stackless.

[00:40] <xorAxAx> hmm, a little bit late :)

[00:40] <stakkars> I think the factor would raise even a bit higher.

[00:40] <stakkars> yes, it would take you half an hour,maybe later.

[00:41] <stakkars> the iterative version gets probably very fast.

[00:41] <stakkars> the recursive one will be fast, too, but it will generate stackless support code for infinite recursion.

[00:42] <stakkars> In the interpreted case, this happens for both cases.

[00:42] <stakkars> So I guess iterative versions get relatively faster, the more the code knows.

[00:42] paniq (n=paniq@port-212-202-49-191.dynamic.qsc.de) joined #pypy.

[00:42] <stakkars> good night

[00:43] <xorAxAx> gn stakkars

[00:44] <stakkars> p.s.: didn't check it in, yet: stackless PyPy is now almost 10 percent slower than normal pypy.

[00:45] <stakkars> if it would be five, I'd optfor making it the default.But realitiy is crude.

[00:45] <stakkars> night**2

[00:50] paniq (n=paniq@port-212-202-49-191.dynamic.qsc.de) left irc: Remote closed the connection

[01:02] paniq (n=paniq@port-212-202-49-191.dynamic.qsc.de) joined #pypy.

----- silence for 28 minutes -----

[01:30] Nick change: paniq -> paniq_EarlGreyHo

[01:31] Nick change: paniq_EarlGreyHo -> paniqEarlGreyHot

----- silence for 37 minutes -----

[02:08] <pedronis> night

[02:08] pedronis (n=Samuele_@c-3c8b70d5.022-54-67626719.cust.bredbandsbolaget.se) left irc: "Chatzilla 0.9.68a [Firefox 1.0.4/20050511]"

----- silence for 32 minutes -----

[02:40] Nick change: paniqEarlGreyHot -> paniq

----- silence for 39 minutes -----

[03:19] xyz359 (n=xyz359@pool-68-238-174-197.tampfl.fios.verizon.net) joined #pypy.

----- silence for 1 hr and 12 minutes -----

[04:31] xyz359 (n=xyz359@pool-68-238-174-197.tampfl.fios.verizon.net) left irc: "Mmm..."

[04:31] xyz359 (n=xyz359@pool-68-238-174-197.tampfl.fios.verizon.net) joined #pypy.

----- silence for 3 hr and 8 minutes -----

[07:39] tic (n=vision@c-8faae255.019-35-67626717.cust.bredbandsbolaget.se) left irc: Read error: 113 (No route to host)

[07:41] tic (n=vision@c-8faae255.019-35-67626717.cust.bredbandsbolaget.se) joined #pypy.

----- silence for 38 minutes -----

[08:19] Shoragan (n=shoragan@d072.apm.etc.tu-bs.de) joined #pypy.

----- silence for 26 minutes -----

[08:45] aleale (n=andersle@clogs.dfki.uni-sb.de) joined #pypy.

[08:52] Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) left irc: Read error: 104 (Connection reset by peer)

[08:54] Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) joined #pypy.

[08:58] cfbolz (n=carlson@p54A43594.dip0.t-ipconnect.de) joined #pypy.

[08:58] <cfbolz> hi all!

----- silence for 31 minutes -----

[09:29] cfbolz (n=carlson@p54A43594.dip0.t-ipconnect.de) left irc: "bye"

----- silence for 59 minutes -----

[10:28] <mwh> morning

[10:29] <aleale> hi

[10:30] <mwh> i seem to have lots of mail from samuele-via-roundup :)

[10:31] ericvrp2 (n=eric@ericvrp.demon.nl) joined #pypy.

[10:37] <mwh> and also, we should mail our pycon submissions in today

[10:52] ericvrp2 (n=eric@ericvrp.demon.nl) left irc: "Lost terminal"

----- silence for 28 minutes -----

[11:20] jacob22 (n=jacob@c-51c6e055.1321-1-64736c11.cust.bredbandsbolaget.se) left irc: Read error: 113 (No route to host)

[11:24] <stakkars> mwh: I'm going to submit another talk proposal as well. It is about stackless in CPython and PyPy, about similarities and differences.

[11:24] <stakkars> do you think I should check that in, or just submit it?

[11:24] ericvrp (n=ericvrp@ericvrp.demon.nl) joined #pypy.

[11:25] <mwh> depends if you want feedback from "us lot" :)

[11:26] <aleale> I am going to submit a talk about Semantic web. Not very related to PyPy

[11:26] <stakkars> I was asking because it is a bit touching Michael's and my presentation, but it is just an intersection, not taking things away :)

[11:27] <stakkars> I'm also planning a stackless sprint right before the conference.

[11:38] <thingie90> Hi Christian. What is involved in having the sprint before the conference?

[11:38] <thingie90> (this is richard from ccp btw)

[11:40] <stakkars> thingie90: dunno. I just started sorting this out.

[11:41] <mwh> when is the release meeting today?

[11:41] <stakkars> if this isn't possible, it might also be after the sprint.

[11:41] <stakkars> 14-15:00

[11:42] <stakkars> I could switch between sprints, possibly. If we really try to port stackless,

[11:43] <stakkars> my part would be to explain the problems and the way this is normally done, a bit every day.

[11:43] <stakkars> it is just a lot of work, and I wonder if we can get at least four experienced CPython hackers. That would do it in 3 days, maybe.

[11:43] <thingie90> What is involved?

[11:44] <stakkars> the involved part of porting?

[11:45] <thingie90> Yes. Is it porting over all the main python cvs changes to maintain cvs history of old stackless versions?

[11:45] <thingie90> Or the actual work to make 2.4 stackless?

[11:45] <stakkars> both.

[11:45] <stakkars> First, an analysis must be done about what the changes between the versions of CPythons are.

[11:46] <stakkars> they usually port a lot of python source to C (Hettinger effect)

[11:46] <mwh> so 13:00 - 14:00 for me

[11:46] <mwh> ok

[11:46] <stakkars> then, everybody needs to understand the stackless machinery, and what principles of CPython need to be changed.

[11:47] <thingie90> Btw, I didn't mean for us to do all those things in the email. The sprint and doing some work on stackless there is probably something we should definitely do if possible and one tutorial a bonus. Although I am not sure what a tutorial would involve.

[11:47] <thingie90> I assume a tutorial is something more interactive than a passive presentation?

[11:47] <stakkars> Then, all the stackless patches need to be moved over gradually,doing the ceval at the very last, hardest part.

[11:48] <stakkars> I would prefer to do the tutorial as part of the sprint, and maybe a little, every day.

[11:48] <thingie90> That sounds good to me

[11:48] <stakkars> I used to give interactive sessions, stepping throught the stackless interpreter, so everybody gets a feeling.

[11:49] <stakkars> the other hurdle is that I do some involved extension to the type system. I need to teach about typeobject.c,

[11:49] <stakkars> one of the most involved parts of CPython.

[11:49] <thingie90> nod

[11:50] <stakkars> then we might get a partially working new Stackless, with probably a bunch of features missing.

[11:50] <stakkars> pickling support for instance will not work completely, since it takes time to support new C modules.

[11:50] <stakkars> Another thing to be considered is way more tests, we have some, but compared to PyPy, this is nothing.

[11:51] <stakkars> sounds heavy, like a lot?

[11:51] <thingie90> Well, I am not sure, I didn't think my port of stackless to 2.4 was that hard and seemed straightforwards. But it failed on the generator pickling and as you pointed out, it was not the dev branch I was pointing.

[11:51] <stakkars> I know I can do that in a week or 10 days full-time, at least this was possible so far.

[11:52] <thingie90> If you think it is a lot, then it most likely is

[11:52] <stakkars> maybe I'm over-estimating.

[11:53] <stakkars> the dev branch also has one bug hiding somewhere deep. Although I used this version in

[11:53] <stakkars> a larger project, I hesitated to make it the standard. :-(

[11:53] <stakkars> and PyPy always distracted me completely, therefor the sprint idea is just great.

[11:55] <thingie90> Cool So, we are set on just doing the sprint for stackless and considering the tutorial idea to be integrated then?

[11:55] <stakkars> if we traget at doing a successful port, I'd suggest this, yes.

[11:56] <stakkars> you said your port wasn't that hard. I don't think that it will be much harder for stackless-dev.

[11:56] <stakkars> There were heavy changes on the stackless core, but the changes to CPython were not that involved.

[11:57] <thingie90> Well, it was just a matter of pretty much straightforward movement of the diffs over. There was some ceval changes, but that just meant one macro call had to be changed.

[11:57] <thingie90> And the dictionary key,val,item iterators was the other thing I think

[11:57] <stakkars> some things are tricky, like generator support.

[11:58] <thingie90> Yes, since I don't have the c level debugging of the python runtime skills, that was where I tripped up on finishing (if that was the finish of it)

[11:58] <stakkars> did I have that? I do have it in 3.1 of course, together with real thread support etc.

[11:58] <thingie90> I believe so. There was a test that tested pickling of them

[11:59] <stakkars> that's a thing I know very well, with the windows environment, I can guide everybody through this.

[11:59] <thingie90> What were you thinking of doing in order to organise a sprint before the conference? Or would you prefer to do the have it at the same time as pypy idea you mentioned earlier?

[11:59] <stakkars> I had the impression that there is no time before the sprint provided.

[12:00] <thingie90> Yes, just a day for tutorials

[12:00] <thingie90> Was what I thought I read

[12:00] <stakkars> and after re-thinking, it might make some sense to have them in parallel. I could switch, maybe PyPy members would like to, too for a day or so.

[12:00] <thingie90> What do you mean by switch? Just attend the stackless one?

[12:01] <stakkars> we might propose a tutorial and see if it gets accepted.

[12:01] <stakkars> but do extra tutorials on the sprint as needed.

[12:01] <stakkars> yes, I could be on both sprints as needed, since I know how PyPy wokrs well enough to jump at any time.

[12:02] <xorAxAx> and if they jump fast enough, they can attend both at the same time (tunneling effect) :)

[12:02] <stakkars> :)

[12:03] <stakkars> not really, I just think that Ineed toget people going, but don't need to work on stackless myself all day

[12:03] <thingie90> That sounds feasible to me

[12:03] <stakkars> instead, as I realized onj the Berlin stackless sprint, I should try to stay away from actually implementing something.

[12:03] <thingie90> Regarding the tutorial proposal, what do you have in mind concerning its contents?

[12:04] <thingie90> I just worry about my involvement if it is at some level where only you know what you are talking about :)

[12:04] <stakkars> depends. Do we intend to prepare people for the sprint, or tach people to use stackless style for programming?

[12:04] <stakkars> tech

[12:04] <stakkars> ick!

[12:06] <stakkars> maybe, especially if the tutorial is before PyCon, it is better to give a tutorial on the programming paradigm.

[12:06] <stakkars> writing cooperative little worker tasks which communicate, etc.

[12:06] <stakkars> or explaining the implementation of a stackless socket module.

[12:07] <stakkars> because our intetn was to spread how to use it, right?

[12:07] <stakkars> intent (need a new keyboard and new fingers)

[12:07] <thingie90> Well, it could be. What do you prefer?

[12:08] <stakkars> no, what would you prefer? We wanted to do something together, so we should merge what we know.

[12:08] <thingie90> Heh

[12:08] <thingie90> a tutorial on the programming paradigm sounds perfect to me

[12:09] <thingie90> the format of a tutorial is stand up the front and demonstrate soemthing?

[12:09] <stakkars> implementation stuff would put the focus too much on me.

[12:09] <stakkars> yes, you have some slides, or a programming session or both

[12:09] <thingie90> what is a programming session?

[12:10] <stakkars> you have a laptop and a beamer, and you type something in and let the auditorium follow it.

[12:10] <stakkars> then you switch to theory, go back to practice, answer questions,

[12:10] <stakkars> and suddenly three hours are over :-)

[12:11] <thingie90> Ah, ok, so that disabuses any notion I had completely that a tutorial is anything like people sitting around trying to use it and us helping them. Its more like an educational presentation

[12:11] <thingie90> 3 hours. jesus :)

[12:11] <stakkars> it is fine to do this in a group.

[12:11] <stakkars> Well, I gave only one tutorial about Python and COM, couple of years ago. There I could use my machine,

[12:11] <stakkars> but the people were watching, only.

[12:12] <stakkars> Of course, interactive sessions would be better. Maybe they have laptops and we could use that.

[12:12] <stakkars> In Berlin, I'm giving a Python tutorial at the free university every week, for four hours. There we have machines for everybody, and I walk around and help them doing small exercises.

[12:13] <stakkars> I'm flexible about that, depends on what we can have.

[12:13] <stakkars> sure, practicing immediately is the best one can get.

[12:14] <thingie90> So, we´d want to state in our proposal that the attendees should bring a laptop or come with a friend whose laptop they could share, if we went that way

[12:15] <stakkars> good idea, yes.

[12:15] <stakkars> how long does a tutorial take these days?

[12:15] <thingie90> I was completely unenlightened by the pycon wiki unfortunately

[12:15] <stakkars> if we go for the interactive laptop approach, we loose 15-30 minutes just for the setup.

[12:16] cfbolz (n=cfbolz@p54AB97A3.dip0.t-ipconnect.de) joined #pypy.

[12:16] <cfbolz> hi!

[12:16] <stakkars> hi

[12:16] <thingie90> http://wiki.python.org/moin/PyCon2006/SpeakerNotes: Refers to 3 hour tutorials

[12:17] <thingie90> Conference tutorials last 3.5 hours with a half hour break in the middle

[12:18] <stakkars> good.

[12:18] <thingie90> Sorry, that is in reference to perl conference. It does say 3 hours though.

[12:18] <stakkars> to simplify things, I can put all setup stuff onto a memory stick.

[12:24] <thingie90> We might need several to save 30 minutes of hand round the memory stick :) Or we can burn cds (I have many blanks I have never used), but if there is wifi, maybe they can download it.

[12:24] <thingie90> Found a relevant link I think: http://www.amk.ca/diary/2005/10/wanted_suggestions_for_tutoria

[12:25] <thingie90> According to that there is a separate date for tutorial proposals, so we might not have to meet a deadline for today for a proposal if that is the case

[12:32] xyz359 (n=xyz359@pool-68-238-174-197.tampfl.fios.verizon.net) left irc: Read error: 104 (Connection reset by peer)

[12:32] <stakkars> maybe I can mail the responsible person?

[12:33] <stakkars> but it's still night, there

[12:38] <thingie90> Sure. What do you think about a post on the stackless and maybe python mailing lists, trying to garner interest and skilled cpythoners?

[12:39] <stakkars> yes. Do you think we should do that before it's accepted?

[12:39] <stakkars> or is acceptancelikely enough and would even be supported by the post.

[12:40] <thingie90> Well, I mean for the sprint

[12:40] <thingie90> Does that have to be accepted?

[12:40] <thingie90> Or do you just have it?

[12:40] <stakkars> no idea

[12:40] <thingie90> Heh

[12:40] Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) left irc: Read error: 104 (Connection reset by peer)

[12:41] <stakkars> if there are 1024 sprints, they might need to consider.

[12:41] <thingie90> Well, waiting to see if it is accepted or whether it can be held, is as you say, wise

[12:41] <stakkars> that's why I'd like to ask the responsible man. will try to figure this out...

[12:43] <stakkars> who is btw. "hosting" these things?

[12:43] <thingie90> Great :) Let me know if theres anything you want me to do, I know you're short of time.

[12:43] <stakkars> CCP, and I'm in the team, orjust me, and CCP is participating?

[12:43] <thingie90> Well, CCPs point of view is that stackless is your project

[12:43] <thingie90> And we don't want to steal credit

[12:44] <stakkars> you are just channeling me to get this rolling. I see. (I wouldn't care at all)

[12:46] <thingie90> Well, not sure about just channeling you. sorry, coworker bothering me about something

[12:46] <stakkars> this line defines what they want us to do in the tutorial. Thisis at least clear:

[12:46] <stakkars> """For 2006, we're especially interested in tutorial presentations that will teach conference-goers something new and useful. Can you show attendees how to: use a module? explore a Python language feature? package an application?"""

[12:47] <thingie90> More wanting to get involved, and promote stackless since its done so well for us

[12:47] <stakkars> it will probably live for two more years I guess, but then it will be needless.

[12:48] <stakkars> PyPy is already *completely* stackless, at a level that CPython never ever can reach.

[12:48] <stakkars> we just need to become 10 times faster :-)

[12:49] <thingie90> Yes, I keep up with the chat history here and the mailing list, thats very interesting to see happening.

[12:51] <stakkars> I think you will even be able to get rid of lots of C++ code and rewrite that in LL PyPy

[12:51] <stakkars> I meant interp-level, sorry.

[12:52] <stakkars> the code quality is already very good, if you look at the tiny examples.

[12:53] <stakkars> the biggest show stopper is ATM the interpreter loop and its virtual calls. I'm working on

[12:53] <thingie90> I expect it will do wonders for us, but its not something we can consider at this time, as you say there is a few years before it becomes practical for us to use probably

[12:53] <stakkars> a transformation that inlines this.

[12:53] <stakkars> sure. I just wanted to express that I strongly believe in PyPy's success. It will not fail.

[12:54] <thingie90> I get the same feeling from what I observe.

[12:55] <stakkars> just wrote an email concerning the sprint. Let's see.

[12:56] <thingie90> Thanks, I look forward to getting this all sorted out and organised :)

[12:59] pedronis (i=pedronis@ratthing-b246.strakt.com) joined #pypy.

[12:59] <cfbolz> hi samuele!

[12:59] <pedronis> hi

[13:01] Nick change: pedronis -> pedronis_afk

[13:03] <stakkars> thingie90: on the tutorial: would you like to write the proposal, or should I do it? Or both working on it, in which order?

[13:04] <thingie90> Well, theres still a call for proposals to come out on that as i understand it (from that link i posted earlier)

[13:04] <stakkars> so today's deadline is for presentations, only?

[13:05] <thingie90> Yes, or 45 minute tutorial/presentation slots. As I understand it.

[13:05] <stakkars> then I will whip up that text, first. Does anybody of CCP want to participate in that?

[13:07] <thingie90> Participate in what, sorryt?

[13:08] hpk (n=hpk@adsl-241-181-192-81.adsl2.iam.net.ma) joined #pypy.

[13:08] <stakkars> I'm intending to give a talk, too

[13:08] <stakkars> we could put a time slot in for CCP to show its application :-)

[13:09] <stakkars> better to not do this alone, as I tried last time at EuroPython

[13:09] <stakkars> (and I'm not good at EVE)

[13:09] <thingie90> Kristjan has already applied to do a session for ccp

[13:09] <thingie90> I believe

[13:10] <stakkars> ok, that's even better!

[13:10] <thingie90> I can forward you the prposal if you want?

[13:10] <stakkars> sure, thanks

[13:14] <thingie90> Sent :)

[13:26] <stakkars> read :-)

[13:27] <stakkars> the proposal does not say whether it is doing a presentation. But I guess ti will?

[13:27] <stakkars> if you need a powerful enough laptop, I bought mine especially for that :)

[13:27] <thingie90> I think thats what the proposal is for

[13:28] <stakkars> used to illustrate the

[13:28] <stakkars> - Eve Online

[13:28] <stakkars> - Overview

[13:28] <stakkars> - History

[13:28] <stakkars> - Game architecture

[13:28] <stakkars> part I guess.

[13:29] <thingie90> I think we should be ok for laptops, but thanks

[13:29] <stakkars> last time I had to carry my desktop. a*very* bad idea.

[13:30] <thingie90> I can imagine :) A laptop gets heavy enough.

[13:34] <mwh> release meeting in 20 minutes?

[13:34] <mwh> time enough to make a coffee :)

[13:34] <stakkars> even for lunch, at home :)

[13:38] <mwh> unfortunately, not really because lunch today requires going and buying it...

[13:39] <cfbolz> :-)

[13:39] <cfbolz> how was climbing?

[13:39] <mwh> wet

[13:39] <mwh> unfortunately :/

[13:40] <cfbolz> oh, damn

[13:40] <mwh> well, saturday was ok but yesterday was a washout

[13:48] <hpk> is the release meeting just going to be here on #pypy?

[13:49] <mwh> i think so

[13:49] <stakkars> this was not decided, but probably

[13:50] Action: hpk really is not that much of a friend of meetings with many people and you don't know for which ones agreeing you have to wait

[13:51] <hpk> (and i don't like it if just two people make decisions by agreeing to each other, for that matter)

[13:51] <cfbolz> so should we go to #pypy-release?

[13:51] <hpk> but anyway, i am not the moderator :)

[13:51] <cfbolz> (or maybe pypy-sync, since it is logged)

[13:53] Action: mwh prods pedronis_afk

[13:56] <stakkars> yes, then let's use pypy-sync

[13:58] <stakkars> pypy-sync, all? It is one minute after 2:00

[13:58] Nick change: pedronis_afk -> pedronis

[13:58] <mwh> but pedronis_afk is chairing...

[13:58] <mwh> ah

[13:59] <pedronis> back, sorry, long Strakt own meeting

[13:59] <stakkars> sorry, Samuele, I hope you don't mind :-)

[14:00] <pedronis> let's go to #pypy-sync

[14:00] <pedronis> ericvrp: do you want to partecipate? -> #pypy-sync

----- silence for 38 minutes -----

[14:38] ericvrp (n=ericvrp@ericvrp.demon.nl) left irc:

[14:43] _hannes (n=yuuhu@i577B55C4.versanet.de) joined #pypy.

----- silence for 19 minutes -----

[15:02] <stakkars> hola.

[15:04] hpk (n=hpk@adsl-241-181-192-81.adsl2.iam.net.ma) left #pypy ("Leaving").

[15:05] cfbolz (n=cfbolz@p54AB97A3.dip0.t-ipconnect.de) left irc: Remote closed the connection

[15:06] cfbolz (n=cfbolz@p54AB97A3.dip0.t-ipconnect.de) joined #pypy.

[15:06] BenYoung (n=BenYoung@starship.python.net) joined #pypy.

[15:16] <aleale> mwh: could you try "sudo python makecontributor.py ." in a pypy checkout on codespeak ?

[15:16] <aleale> I think one need to be root in order to run makecontributor.py

[15:16] <cfbolz> I think I managed to run it already

[15:17] <cfbolz> (without sudo)

[15:17] <aleale> I get permission denied try to get pedronis' email

[15:17] <cfbolz> hm

[15:28] <pedronis> yes, it dies for me too

[15:28] <pedronis> it tries to read the .forward files of people

[15:28] <pedronis> and some are not world readable

[15:28] <mwh> oops, wasn't reading for a sec

[15:29] <pedronis> mwh: we need extra permissions to run makecontributor

[15:30] <mwh> so i see

[15:30] <mwh> checking out the branch on codespeak now

[15:30] <BenYoung> Hi Everyone. I've just noticed that 19226 has a 30% (in richards) speed increase over 18988! (refcounting as usual). Well done whoever's changes these were!

[15:31] ericvrp (n=ericvrp@ericvrp.demon.nl) joined #pypy.

[15:32] <pedronis> mwh: can you run it and put the result somewhere and attach the where to the issue

[15:32] <mwh> sure

[15:32] <aleale> mwh: thanks

[15:32] <pedronis> mwh: thanks

[15:36] <mwh> done

[15:36] <mwh> https://codespeak.net/issue/pypy-dev/file3/contributor.txt

[15:36] <stakkars> BenYoung: that's more than I get, on 19099, which is basically the same, performance-wise.

[15:39] rhymes (n=rhymes@host84-77.pool8254.interbusiness.it) left irc: "supercalifragiliblahblah"

[15:40] <BenYoung> stakkars: not sure why I get the bit change, but it is reproducable!

[15:40] <BenYoung> anyway, just thought I'd let you know.

[15:41] <mwh> hmm

[15:41] <mwh> pypy/dist/README is more of a release announcement for 0.7.0...

[15:42] <cfbolz> mwh: indeed, I think that was the policy for the last two releases

[15:42] <cfbolz> (now that I think of it...)

[15:42] <pedronis> well, but it is different fromt he announcement

[15:43] <cfbolz> but there are shared parts

[15:43] <mwh> well, ok, but it's very much "a README for 0.7" not "a README for PyPy"

[15:43] <stakkars> BenYoung: what was your cache size, btw?

[15:43] <cfbolz> mwh: indeed

[15:43] <pedronis> mwh: may it should change in that direction

[15:44] <pedronis> maybe even

[15:48] ericvrp (n=ericvrp@ericvrp.demon.nl) left irc:

[15:51] <BenYoung> stakkars: 1MB L2 cache

[15:52] <pedronis> but this is with refcounting so is possible that the improvement is larger

[15:56] <BenYoung> indeed

[15:58] <mwh> new README

[15:58] <mwh> http://codespeak.net/svn/pypy/release/0.8.x/README

[15:58] <pedronis> the last significative change was avoiding the spurious tuple creation(s) on ops

[16:00] ericvrp (n=ericvrp@ericvrp.demon.nl) joined #pypy.

[16:00] <mwh> oh, and who's going to send in the pycon proposals?

[16:02] <cfbolz> mwh: I think holger sent some of them

[16:03] <mwh> yes, it looks like it

[16:03] <aleale> I just noticed the comment on filtering people out of contributor.txt. How am I going to do that ?

[16:03] <mwh> i have no idea :/

[16:03] <mwh> read the pypy-dev archives around the time of the last release?

[16:03] <xorAxAx> mwh: umm

[16:04] <xorAxAx> mwh: can you correct my name in the svn accounts (or the pam)?

[16:04] <xorAxAx> mwh: i am alexander schremmer

[16:04] <aleale> I'll try. maybe i can create a diff from 0.7

[16:04] <pedronis> yes, you should look at who was not listed in 0.7

[16:05] <pedronis> aleale: or can do that?

[16:05] <pedronis> or I can do that

[16:06] <aleale> I am at it already. but please check next time I commit

[16:07] <pedronis> cfbolz: I'm about to rename getting-started-0.8.txt to just getting-started on the branch (to fix the refs)

[16:07] <xorAxAx> mwh: TIA

[16:07] <mwh> hmm

[16:07] <cfbolz> pedronis: no problem

[16:09] BenYoung (n=BenYoung@starship.python.net) left irc: Remote closed the connection

[16:09] <mwh> xorAxAx: done, i think

[16:10] <mwh> finger xoraxax

[16:10] <mwh> Login: xoraxax Name: Alexander Schremmer

[16:10] <mwh> ...

[16:10] <xorAxAx> mwh: ok, a corrected contributors list would round up this thing :)

[16:10] <mwh> well, i guess that's aleale's problem now...

[16:11] <aleale> I changed the name to Alexander Schremmer

[16:12] <xorAxAx> thanks

[16:12] <xorAxAx> ... aleale

[16:12] <cfbolz> do we really want to have our mail addresses in the contributors file?

[16:12] <xorAxAx> not in the plain form IMHO

[16:12] <cfbolz> I rather think not at all

[16:13] <mwh> there's no email addys in contributor.html now

[16:13] <pedronis> better not

[16:14] <cfbolz> yes, but on the branch there is

[16:15] <aleale> I'll remove them then

[16:17] Action: mwh waits for his pycon submission password

[16:18] <aleale> can we delete the contributor.txt file from the tracker ?

[16:18] _hannes (n=yuuhu@i577B55C4.versanet.de) left irc: Connection timed out

[16:18] <aleale> fg

[16:19] <mwh> erm, i think i can

[16:20] <mwh> want me to?

[16:20] <aleale> the email addresses are in that file too

[16:20] <mwh> it's gone

[16:21] <mwh> they're in pypy-svn archives too, i guess...

[16:21] <cfbolz> of course, but give them at least some effort :-)

[16:21] <aleale> true, a good deed never goes unpunished

[16:24] <cfbolz> does anyone remember where the contributor discussion took place?

[16:25] stakkars (i=lhpckqns@i577B55C4.versanet.de) left irc: Read error: 110 (Connection timed out)

[16:25] <aleale> no

[16:27] <pedronis> seems to work, you can see the branch doc at: http://codespeak.net/~pedronis/rel0.8/pypy/doc/

[16:29] <pedronis> it should update on commit

----- silence for 16 minutes -----

[16:45] <pedronis> aleale: I will look at the annoucement later

[16:50] <mwh> any last comments on

[16:50] <mwh> http://codespeak.net/svn/pypy/extradoc/talk/pycon2006/pypy-selfcontained.txt

[16:50] <mwh> ?

[16:51] <cfbolz> mwh: looks good!

[16:54] <mwh> http://submit.python.org/proposal/38/

[16:55] <mwh> don't know if you can see that without being logged in, though

[16:55] <pedronis> you can't

[16:56] <mwh> fine

[16:56] <mwh> you can see what it says anyway :)

----- silence for 16 minutes -----

[17:12] arigo (n=arigo@d213-103-157-213.cust.tele2.ch) joined #pypy.

[17:12] <cfbolz> hi armin!

[17:14] <arigo> hi

[17:14] <arigo> sorry for the meeting -- that was the last sunny afternoon of my holidays :-)

[17:14] <cfbolz> :-)

[17:14] <cfbolz> understandable

[17:27] <cfbolz> arigo: I think mwh already submitted

[17:27] <arigo> ok, it wasn't an important fix anyway

[17:28] <pedronis> cfbolz: do you have new LOC numbers for the architecture.txt?

[17:28] <cfbolz> pedronis: one moment

[17:29] Action: mwh goes out for a bit

[17:29] <mwh> i could change the submission, but am too lazy right now

[17:32] <cfbolz> pedronis: 137093 lines of code ?!

[17:32] <cfbolz> (without tests)

[17:32] <pedronis> under pypy?

[17:32] <cfbolz> yes

[17:33] <cfbolz> including unicodedb.py

[17:33] <cfbolz> and such

[17:33] <cfbolz> (which should probably go)

[17:33] <cfbolz> without unicodedb it is 106073

[17:34] <pedronis> sort of like last time

[17:34] ericvrp (n=ericvrp@ericvrp.demon.nl) left irc:

[17:34] <pedronis> becasue of the shuffling with compiler versions I presume

[17:34] <cfbolz> indeed

[17:35] <pedronis> no

[17:35] <pedronis> the number before was with tests

[17:35] <cfbolz> you want with tests?

[17:35] <pedronis> well architecture has total (with tests) and tests alone

[17:37] <cfbolz> ok

[17:38] <cfbolz> all lines (without unicodedb): 138343

[17:39] <pedronis> without Pyrex?

[17:40] <cfbolz> of course

[17:40] <pedronis> we have grown quite a bit

[17:40] <cfbolz> indeed

[17:40] <pedronis> tests?

[17:40] rhymes (n=rhymes@host84-77.pool8254.interbusiness.it) joined #pypy.

[17:41] <cfbolz> tests what

[17:41] <cfbolz> ?

[17:41] <pedronis> how many lines of just tests

[17:42] <cfbolz> the difference :-)

[17:42] <cfbolz> 32270

[17:43] <pedronis> thanks :)

[17:43] <cfbolz> np

[17:43] <pedronis> if someone has time architecture, especially status needs a reviewer

----- silence for 18 minutes -----

[18:01] _hannes (n=yuuhu@i577B6923.versanet.de) joined #pypy.

[18:05] <cfbolz> pedronis: the arch doc looks good

[18:06] <pedronis> thanks

[18:12] Shoragan (n=shoragan@d072.apm.etc.tu-bs.de) left irc: Client Quit

----- silence for 17 minutes -----

[18:29] hpk (n=hpk@adsl-241-181-192-81.adsl2.iam.net.ma) joined #pypy.

[18:33] <arigo> for reference, pypy appears to translate correctly on a 64-bit machine (codespeak) after a minor fix

[18:34] <arigo> hpk: I installed the Boehm GC in my account; might make sense to install it globally

[18:34] <hpk> on codespeak?

[18:34] <arigo> yes

[18:34] <hpk> yes, well, codespeak should not really be used that much for actually working on it :)

[18:35] <hpk> so it's ok if it takes some efforts

[18:35] <hpk> there still is a migration pending :(

[18:35] <arigo> I know -- ok :-) for testing though it's our only 64-bit machine so far

[18:36] <pedronis> hpk: I managed to get updated on commit branch doc: http://codespeak.net/~pedronis/rel0.8/pypy/doc/

[18:36] <hpk> arigo: sure

[18:45] arigo (n=arigo@d213-103-157-213.cust.tele2.ch) left irc: "[x]chat"

[18:47] stakkars (i=vngnfy@i577B6923.versanet.de) joined #pypy.

[18:48] <stakkars> pedronis: but this was not after 19099, right?

[18:48] <pedronis> ?

[18:48] <pedronis> well one thing to consider is that thread are disabled now because they are broken also with refcounting

[18:49] <pedronis> threads have also an unclarified but large overhead

[18:49] <pedronis> so maybe is just that

[18:49] <pedronis> because sofar with refcounting you were getting threads too

[18:50] <pedronis> with boehm no

[18:50] <pedronis> now there's a flag --thread to give to target on trunk to ask for threads

[18:50] <pedronis> but now it tells you that threads are not working

[18:53] <aleale> pedronis: arch looks fine to me too

[18:54] <pedronis> ok

[18:54] <stakkars> pedronis: I reffered to the spurious tuple creation you mentioned three hours ago. I was in the hospital.

[18:55] <pedronis> yea, but now I rembered that I have just disabled threads because they don't work anymore

[18:55] <pedronis> this has an effect only with refcounting because they were off by default with boehm

[18:55] <stakkars> I have to single step though a thread buildto understand why it costs so much.

[18:56] <pedronis> yes, that's an open issue too

[18:57] hpk (n=hpk@adsl-241-181-192-81.adsl2.iam.net.ma) left irc: "Leaving"

[18:57] <pedronis> aleale: I'm going home, I will expand the release announcement a bit later from there

[18:58] Action: pedronis -> home

[18:58] pedronis (i=pedronis@ratthing-b246.strakt.com) left irc: "Chatzilla 0.9.67 [Firefox 1.0.2/20050325]"

[19:07] <cfbolz> see you later!

[19:07] <stakkars> bye

[19:07] cfbolz (n=cfbolz@p54AB97A3.dip0.t-ipconnect.de) left irc: "Leaving"

[19:12] <xorAxAx> hmm, got a segfaulting pypy-c

[19:12] <xorAxAx> with refcounting

[19:12] <xorAxAx> and no thread usage

[19:12] <stakkars> yuck! segfault while running what?

[19:12] <xorAxAx> moinmoin :)

[19:12] <xorAxAx> (on linux)

[19:13] <xorAxAx> currently compiling with current trunk sources

[19:13] <stakkars> segfaults right a way, of with specific program?

[19:13] <xorAxAx> with a specific program after many seconds of loading

[19:13] <xorAxAx> (i.e. a fun to debug)

[19:21] <paniq> good evening

[19:21] <paniq> is the rpython -> plain c converter that i ordered last week ready yet?

[19:22] ericvrp (n=ericvrp@ericvrp.demon.nl) joined #pypy.

[19:23] <xorAxAx> paniq: plain C? %-)

[19:23] <paniq> yeah

[19:23] <paniq> well, nevermind ;)

[19:23] <xorAxAx> opposed to c-with-long-tokens-and-weird-jumps?

[19:23] <paniq> exactly

[19:24] <paniq> naw well

[19:24] <paniq> the last time i saw some output, it looked like cpython and was way slower

[19:24] <xorAxAx> you could write an m4 macro :)

[19:24] <paniq> its just

[19:24] <paniq> i really want to use python for dsp stuff

[19:24] <xorAxAx> yeah, i remember

[19:24] <paniq> its so painful to use c++ :)

[19:24] <xorAxAx> maybe you dont really want to :)

[19:24] <paniq> i do

[19:26] <paniq> why wouldnt i?

[19:27] <xorAxAx> because python is not rpython :)

[19:27] <xorAxAx> have you checked the c output in the dsp-asm?

[19:27] <xorAxAx> i mean after compiling

[19:28] <xorAxAx> s/asm/disasm/

[19:28] <xorAxAx> it should optimise most jumps away

[19:28] <paniq> void dostuff(float* in, float* out, int size, int amp) { do { *out++ = *in++ * amp; } while(--size); }

[19:28] <paniq> compare this to

[19:28] <paniq> def dostuff(in,amp): return [x*amp for x in in]

[19:28] <paniq> err

[19:28] <paniq> in in ;)

[19:28] <paniq> but you get the idea.

[19:29] <paniq> if the code below gives me the code above

[19:29] <paniq> i'm happy :)

[19:29] <mwh> no

[19:29] <mwh> you should be happy if they compile to the same machine code, surely?

[19:29] arigo (n=arigo@d213-103-157-213.cust.tele2.ch) joined #pypy.

[19:29] <paniq> indeed.

[19:29] <stakkars> would work with RPython. The output would not be that nice, but the intent is not to produce nice code.

[19:30] <paniq> ok but havent the results been _slower_ than real python so far?

[19:30] <xorAxAx> paniq: rpython is much faster than cpython

[19:30] <stakkars> only on the generated interpreter. The RPython resultds are phantastic.

[19:30] <paniq> got some benchmarks?

[19:30] fzZzy (n=dp@71.140.173.83) joined #pypy.

[19:31] <stakkars> how about reading pypy-dev

[19:31] <xorAxAx> the factor is such high, i forget it regularly

[19:31] <stakkars> 100-300

[19:31] <paniq> compared to plain py?

[19:31] <xorAxAx> compared to cpython

[19:31] <paniq> wow.

[19:31] cfbolz (n=cfbolz@p54AB97A3.dip0.t-ipconnect.de) joined #pypy.

[19:31] <paniq> now thats something.

[19:31] <paniq> is rpython production ready?

[19:32] <paniq> (i know i'm making these stupid non-academic questions, but i'm really just a toolkit-using engineer)

[19:32] ericvrp (n=ericvrp@ericvrp.demon.nl) left irc:

[19:32] <paniq> that is, can i install pypy on my system and then go like #rpython mystuff.rpy?

[19:33] <mwh> no

[19:33] <paniq> dammit!

[19:33] <mwh> it's not so amazingly hard, but it's not that easy

[19:33] <mwh> it's not really a design goal of pypy

[19:33] <paniq> hey, whenever theres something to use, why not use it.

[19:33] <paniq> x100-x300 sounds already like a good tool to me.

[19:33] <arigo> you need to write a translator/goal/target*.py -- not that hard indeed

[19:34] <stakkars> mwh: yes, but a really useful partial result that we in fact should publish ASAP

[19:34] <paniq> yup

[19:34] <paniq> this will be teh bomb

[19:35] <paniq> gets you the attention this project deserves

[19:35] <cfbolz> which is exactly the problem

[19:35] <paniq> hey, since i got too much free time on my hands i could try to get above working

[19:35] <stakkars> for a simple example, try for instance targetrpystonedalone.py which creates an .exe for compiled richards and pystone benchmarks.

[19:36] Action: paniq updates svn

[19:36] <stakkars> the generated C source is not as nice as possible, but readable, you get a match with the Python source if you rrad it.

[19:36] <stakkars> read it.

[19:37] aleale (n=andersle@clogs.dfki.uni-sb.de) left #pypy.

[19:37] <stakkars> the problem that stops it from becoming a tool, easily, is that when you do something non-rpythonic, you don't get understandable error messages in many cases.

[19:37] <paniq> Updated to revision 19292.

[19:37] <paniq> nice revision.

[19:38] <stakkars> to figure out why certain things break, we would nett quite some work.

[19:38] <stakkars> need

[19:39] <paniq> btw

[19:39] <paniq> mwh said its not the design goal

[19:39] <paniq> what is the design goal then?

[19:40] <mwh> a fast, flexible implementation of python

[19:40] <paniq> how fast?

[19:40] <stakkars> rpython code is a nice side effect, that could even be used to write device drivers in (R)Python.

[19:41] <paniq> and dsp code.

[19:41] <paniq> it could solve a lot of the interfacing nightmare we have to endure currently.

[19:41] <paniq> using SWIG or pyrex or boost.python isnt what i would call easy.

[19:41] <stakkars> first, almost as fast as CPython, then with the JIT compiler, probably a bit faster

[19:42] <paniq> i think your ffpy (fast & flexible python) implementation, combined with rpy

[19:42] <paniq> could be a great front/backend suite.

[19:42] <paniq> but i'm talking out of my ass right now... reading targetrpystonedalone

[19:42] <paniq> what is "richards" ;)

[19:42] <mwh> a benchmark

[19:43] <stakkars> a benchmark, which comes from Richards, the inventor of the ancient "BCPL" language, C's predecessor

[19:43] <paniq> [paniq@zeitgeist goal]$ python targetrpystonedalone.py

[19:43] <paniq> Traceback (most recent call last):

[19:43] <paniq> File "targetrpystonedalone.py", line 2, in ?

[19:43] <paniq> from pypy.translator.test import rpystone

[19:43] <paniq> ImportError: No module named pypy.translator.test

[19:43] <paniq> hm

[19:43] <stakkars> does some useless stuff with lots of object instances

[19:44] <arigo> paniq: python translate_pypy.py --help

[19:44] <stakkars> translate-pypy targetrypystonedalone

[19:45] <paniq> bash: slate_pypy.py: command not found

[19:45] <paniq> weird things are happening here ;)

[19:45] ericvrp (n=ericvrp@ericvrp.demon.nl) joined #pypy.

[19:45] <paniq> ah

[19:45] <paniq> now

[19:45] <paniq> impressive output )

[19:45] <paniq> ;)

[19:46] <paniq> RPystone(19282) time for 10000000 passes = 1.070000

[19:46] <paniq> This machine benchmarks at 9345794.392523 pystones/second

[19:47] <paniq> is this good? ;)

[19:50] <stakkars> you can compare this to running pystone on CPython, this gives you maybe 40000

[19:51] <paniq> 40000 pystones/second?

[19:51] <stakkars> well my result is about 4298847.5, so you have probably 80000 pystones

[19:51] <stakkars> ( I get 200x on pystone, 290x on richards)

[19:51] <paniq> how do i run it with python?

[19:52] <stakkars> the comparison is not quite right,because I had to make pystone rpysthonic. You can run this, too, but I think it's slower for CPython.

[19:53] <paniq> which file?

[19:53] <stakkars> /python/lib/test/pystone.py is the original

[19:53] <paniq> Pystone(1.1) time for 50000 passes = 1.29

[19:53] <paniq> This machine benchmarks at 38759.7 pystones/second

[19:54] <paniq> so this is interesting ;)

[19:54] <stakkars> slow, yes. .)

[19:55] <paniq> hm

[19:55] <paniq> why file contains the rpython equivalentß

[19:56] <paniq> ?

[19:56] <paniq> -y+ich

[19:56] ericvrp (n=ericvrp@ericvrp.demon.nl) left irc:

[19:57] pedronis (n=Samuele_@c-3c8b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy.

[19:57] <stakkars> rpystone.py somewhere in translator/test maybe. should be visible fromt he source you are looking at

[19:58] <paniq> oh, yes.

[19:58] <paniq> and uh

[19:58] <stakkars> pedronis: did you break the --batch option? it does not accept it any longer.

[19:58] <stakkars> [translation:WARNING] target specific arguments supplied but will be ignored: --batch

[19:59] <paniq> the relation of rpython to python is:

[19:59] <paniq> you can run rpython with python, but not vice versa?

[19:59] <paniq> Pystone(1.1) time for 50000 passes = 1.42

[19:59] <paniq> This machine benchmarks at 35211.3 pystones/second

[19:59] <paniq> this is rpystone

[19:59] <paniq> with python

[20:00] <stakkars> as I said, a little slower, even. :-)

[20:00] <paniq> :)

[20:00] Action: paniq reads code

[20:00] <stakkars> I had to replaceglobal arrays with instances

[20:01] <pedronis> stakkars: all options should come before the target on the trunk now

[20:01] <pedronis> because you can pass target specific options

[20:01] <stakkars> very unpleasant idea. this needs much more typing when debugging.

[20:01] <pedronis> which comes after

[20:02] <pedronis> more typing?

[20:05] <stakkars> yes. I used to place common options at front and then add something else to the end of the command line.

[20:05] <stakkars> no big thing, but why don't we allow global options to be anywhere, do we intend to produce name clashes?

[20:06] <pedronis> because you is up to target how parse its options

[20:06] <pedronis> and indeed translate_pypy is already using quite a bit of namespace

[20:07] <pedronis> also you need to load the target to know what its options are

[20:08] ericvrp (n=ericvrp@ericvrp.demon.nl) joined #pypy.

[20:08] <stakkars> this has never been an issue so far and is more a theoretical problem,which I would not solve in advance.

[20:08] <stakkars> complicating things.

[20:09] <stakkars> ok I shut up, bad mood right now.

[20:09] <pedronis> no, from the point of view of the impl, free mixing is more complicated beceause optparse is not meant for that

[20:10] <stakkars> do the backends do their parsing alone, now?

[20:10] <stakkars> so translate-pypy does no longer have to care about everything?

[20:11] rhymes (n=rhymes@host84-77.pool8254.interbusiness.it) left irc: Read error: 110 (Connection timed out)

[20:11] <pedronis> targetpypystandalone does some parsing on its own yes

[20:11] <stakkars> that's good. I retract and say this is a good thing :-))

[20:11] <pedronis> not really, because translate_pypy does some parsing too

[20:12] <pedronis> but yes you could add support to pass py.py options to targetpypystandalone now

[20:16] <pedronis> that's indeed the plan after the release

[20:16] <pedronis> this change is not in the release

[20:16] <xorAxAx> stakkars: segfault reproducible

[20:17] <cfbolz> do we really want to mention socket, ootyper, genjs, PPC backend in the release announcement?

[20:18] <xorAxAx> is socket ready?

[20:18] <cfbolz> no!

[20:18] <cfbolz> see, that's the point!

[20:18] <cfbolz> :-)

[20:18] <pedronis> no, I think not

[20:19] <pedronis> especially socket, which far from complete

[20:19] <pedronis> also js has lots of failing tests

[20:19] <stakkars> xorAxAx: code, please? :-)

[20:19] <xorAxAx> stakkars: no idea

[20:19] <stakkars> haeh

[20:19] <xorAxAx> stakkars: download moinmoin desktop edition :)

[20:20] <xorAxAx> i mean, its more than 1 MB, i havent found the cause yet

[20:20] <xorAxAx> currently trying gdb

[20:20] <stakkars> and run that on pypy, which then crashes with socket? That's ok.

[20:20] <stakkars> we should disable it for now.

[20:21] <xorAxAx> socket is not ready yet

[20:21] <pedronis> it is disabled, is not compiled in

[20:21] <xorAxAx> i have a `touch socket.py` socket :)

[20:21] <pedronis> pypy-c doesn't contain socket

[20:22] <xorAxAx> in pypy_g_ll_os_read__Signed_Signed

[20:22] <xorAxAx> what is UWS?

[20:22] <pedronis> unwrap spec

[20:23] <xorAxAx> #0 0x107ba210 in pypy_g_ll_os_read__Signed_Signed ()

[20:23] <xorAxAx> #1 0x10758cc0 in pypy_g_read ()

[20:23] <xorAxAx> #2 0x1085aab4 in pypy_g__run_UWS_ObjSpace_int_int ()

[20:23] <xorAxAx> #3 0x10335008 in pypy_g_run_2 ()

[20:23] <xorAxAx> #4 0x10081650 in pypy_g_call_args_1 ()

[20:23] <xorAxAx> somewhere deep in the interpreter ...

[20:23] <xorAxAx> (108 items in the BT)

[20:24] <xorAxAx> is threading enabled with the standard target?

[20:24] <pedronis> not anymore

[20:24] <xorAxAx> gdb loaded pthreads

[20:24] <xorAxAx> thats why i am asking

[20:24] <arigo> we still link with -lpthread :-/

[20:24] <xorAxAx> (i mean the symbols or something like that)

[20:25] <xorAxAx> arigo: and that could be the cause?

[20:25] <arigo> of gdb loading pthreads? yes

[20:26] <xorAxAx> :-)

[20:26] <xorAxAx> i mean of that segfault. but as long there is just one thread ...

[20:26] <arigo> ah, yes indeed

[20:27] <xorAxAx> (and pthreads wont create a second one in its init code)

[20:27] paniq_ (n=paniq@port-212-202-49-191.dynamic.qsc.de) joined #pypy.

[20:27] <pedronis> no, it's a while we always link with -pthread -lthread

[20:27] <xorAxAx> stakkars: do you have an account on tick?

[20:27] paniq (n=paniq@port-212-202-49-191.dynamic.qsc.de) left irc: Read error: 104 (Connection reset by peer)

[20:28] <xorAxAx> maybe an alignment issue?

[20:28] <xorAxAx> its a power5 machine with ppc userland

[20:28] <arigo> I just fixed a 64-bit-related bug

[20:29] <arigo> we never really tested pypy-c on 64-bit machiens

[20:29] <xorAxAx> i svn up'ped after that

[20:29] <xorAxAx> the userland is 32bit

[20:29] <arigo> ok

[20:29] <paniq_> hm

[20:29] <paniq_> so how is interfacing with rypthon

[20:29] <xorAxAx> just ppc doesnt like misalignments (like i386), i heard :)

[20:29] <paniq_> am i able to call c interfaces somehow?

[20:29] <pedronis> not easely at all

[20:30] <pedronis> is not really meant to be used as a standalone tool right now

[20:30] <paniq_> i see

[20:30] <paniq_> you should really try and make this production ready

[20:30] <paniq_> even if its not the main goal

[20:30] <paniq_> my opinion :)

[20:31] <pedronis> anyway is rpython is garbage collected language

[20:31] <pedronis> so I don't know it it make sense for a dsp

[20:31] <xorAxAx> in visual basic, you can easily interface with C - just in a single line

[20:31] <xorAxAx> though VB is dynamically typed and needs a lot of marshalling

[20:31] <paniq_> :(

[20:31] <paniq_> never mention vb to me again.

[20:31] <xorAxAx> paniq_: its a nice language :)

[20:31] <paniq_> i am not interested in using a high level language because i'm incompetent.

[20:32] <paniq_> i am interested because c++ is a waste of time.

[20:33] <pedronis> well, even if we put more work on rpython it would be to make extensions for CPython

[20:33] <pedronis> standalone you have the issue that there are no libraries basically

[20:33] <pedronis> apart whatever we needed so far for pypy-c

[20:34] <xorAxAx> but you can use c-libs

[20:34] <stakkars> they couldalso play the role of extensions for PyPy

[20:34] <pedronis> if you change 5 files and write glue code to deal with GC issues etc

[20:34] <stakkars> as long as we are not able to figure out how to produce RPython speed from source analysis

[20:35] <stakkars> yes, it is not *that* easy Ihave to say :-)

[20:35] <stakkars> that might be the job to automate -- he he

[20:35] <paniq_> hmhm :)

[20:36] <pedronis> yes, making extension is a goal for PyPy too

[20:37] ericvrp (n=ericvrp@ericvrp.demon.nl) left irc:

[20:38] <stakkars> pedronis: garbage collection: this would be an application of refcounting, only.

[20:38] <xorAxAx> hmm, how can i debug the segfault in gdb?

[20:38] <stakkars> by using windows :-)

[20:39] <pedronis> stakkars: the socket code for example has already grown some a bit ugly hacks to deal with ref counts indeed

[20:39] <stakkars> auuwaa

[20:39] <xorAxAx> stakkars: maybe the problem doesnt occur ther

[20:39] <pedronis> it's really an are that needs thinking: writining separate extension

[20:39] <stakkars> xorAxAx: if you use sockets (and you do if twisted is involved), you can save to heaten the debugger

[20:39] <xorAxAx> neither twisted nor sockets are involved, stakkars

[20:40] <xorAxAx> as i said, my socket module is empty

[20:40] <pedronis> ... and we need to start to work on it, but is a bit unclear exactly when right now

[20:40] <xorAxAx> (in order to make urllib happy)

[20:40] <stakkars> itis a larger python application?

[20:40] <xorAxAx> stakkars: yes

[20:40] <stakkars> first thing to do is to see what is imported. Put a patch into import hook and see what it uses

[20:41] <xorAxAx> hmm, good idea

[20:41] <stakkars> running on CPython ofcourse.

[20:41] <xorAxAx> why on cypthon? i look at the imports until it crashes :)

[20:41] <stakkars> ok, sure,pypy should do it too, if you don't assume it crashes before

[20:42] <stakkars> then, I'm not good at gdb, and I use a debug build on windows and use the IDE, which works very well.

[20:44] <stakkars> xorAxAx: does it crash with boehm, too? If not, then it is bad.

[20:46] <stakkars> pedronis: yes, at some point we need to start this, especially mapping forth and back

[20:50] <cfbolz> mwh: you cannot look at other people's pycon submissions, right?

[20:50] <cfbolz> I am not sure whether bea submitted hers

[20:51] <pedronis> does she how to do that? because for example I don't

[20:51] <pedronis> maybe she expected someone to submit

[20:52] <cfbolz> I wrote her a mail and will do it if she does not answer

[20:52] <cfbolz> (in, say, the next two hours)

[20:54] <pedronis> in her last related check-in she wrote: I will submit tomorrow after lunch (around 14:00)...

[20:54] <xorAxAx> stakkars: i dont have boehm on that system

[20:54] <cfbolz> pedronis: yes, but holger told me she went to the hospital or something, so I am not sure

[20:55] <pedronis> ah, I see

[20:55] <stakkars> xorAxAx: hum. You might use my machine, but I have no time, today

[20:55] <xorAxAx> stakkars: maybe its not broken there :)

[20:55] <xorAxAx> i am trying the import thing :)

[20:56] <pedronis> maybe read() has indeed some aligment requirement

[20:56] <pedronis> which we have some chance of violating

[20:57] <pedronis> seems strange because it should not but

[21:01] ericvrp (n=ericvrp@ericvrp.demon.nl) joined #pypy.

[21:01] <stakkars> pedronis: >translate_pypy.py --batch targetrpystone.py

[21:01] <stakkars> does no longer create pypy-c.exe in my folder ???

[21:02] <arigo> stakkars: 12345? :-)

[21:03] <stakkars> is the copy step left out now?

[21:03] <stakkars> arigo: 67890? :-)

[21:03] <pedronis> nothing was changed about that

[21:03] <arigo> oups, I just did

[21:03] <arigo> not sure how I broke that, though

[21:04] <pedronis> stakkars: and rpystone is not a standalone target?

[21:04] <xorAxAx> hmm, my python file exits with a runtimeerror in pypy-c, but runs on cpython

[21:05] <stakkars> pedronis: sorry sorry sorry, I did not mean to compile this but the standalone one. sorry

[21:05] <stakkars> arigo:sorry too

[21:05] <arigo> :-)

[21:05] <pedronis> :)

[21:06] <xorAxAx> __builtins__.__import__ = newImp fails ...

[21:07] <xorAxAx> why ist that?

[21:07] <pedronis> __builtins__ is a dict maybe?

[21:07] <xorAxAx> no, its not. at least not officially :)

[21:07] <stakkars> sometimes a dict, sometimes a module :-(

[21:08] <pedronis> I think on PyPy is consistent

[21:08] <pedronis> but I don't remember in which direction

[21:08] <xorAxAx> umm

[21:08] <arigo> __builtins__ should never be used, officially you need to 'import __builtin__'

[21:08] <pedronis> but indeed in CPython is not

[21:08] <stakkars> import __builtin__ as b

[21:08] <stakkars> and then use it

[21:08] <pedronis> arigo: also true

[21:09] <xorAxAx> and, much worse, the exception is not routed into the except block

[21:09] <xorAxAx> i.e. pypy is failing internally

[21:09] <xorAxAx> (i.e. i created a try/except around that line)

[21:09] <arigo> that's in pypy-c ?

[21:10] <xorAxAx> yes

[21:10] Action: stakkars afk a while, need to take care of grandpa

[21:11] bima (n=loubna_g@adsl-241-181-192-81.adsl2.iam.net.ma) joined #pypy.

[21:11] Action: xorAxAx finds the darkest bugs

[21:11] <arigo> xorAxAx: is a reproducible on a small example?

[21:12] <xorAxAx> oldi = __builtins__.__import__

[21:12] <xorAxAx> def newImp(name, globals=None, locals=None, fromlist=None): print "Called __import__ with (%r, %r, %r, %r)" % (name, globals, locals, fromlist) if globals is None: globals = __builtins__.globals() return oldi(name, globals, locals, fromlist)

[21:12] <xorAxAx> add line breaks if necessarry (damn irssi) :)

[21:12] <xorAxAx> and "__builtins__.__import__ = newImp" after that fails

[21:13] <arigo> and the exception handler?

[21:14] <arigo> (I don't mind that this fails, that's an expected difference with CPython)

[21:14] <xorAxAx> try : ... except Exception, e: print e, e.args

[21:15] <arigo> enclosing only __builtins__.__import__ = newImp ?

[21:16] <xorAxAx> yes

[21:16] <arigo> then I put all this in x.py and run "pypy-c x.py" -- no crash. Does this exact "pypy-c x.py" command-line crash for you?

[21:17] <xorAxAx> ok, will cut down the file locally

[21:18] <pedronis> if you try: __builtins__.__import__ = None

[21:18] <pedronis> at the pypy-c prompt

[21:18] <pedronis> pypy-c exits

[21:18] <stakkars> buhuu :-)

[21:18] <arigo> with "object None is not callable"

[21:18] <xorAxAx> pedronis: try to delete all builtins in cpython -- that is funny :)

[21:19] <arigo> is that a joke? if you assign 42 to the import hook, you can expect fatal crashes

[21:19] <stakkars> well, assign to None in Python and you have fun, too

[21:19] <pedronis> no just pointing out that wrong __import__ stops pypy to print proper tracebacks

[21:20] <xorAxAx> arigo: ok, the file separately crashes as well

[21:20] <arigo> xorAxAx: how?

[21:20] <xorAxAx> OperationError, operror-type: RuntimeError, operror-value: internal error: <RuntimeError object>

[21:20] <arigo> xorAxAx: ah, I get this with 'import x'

[21:20] <arigo> xorAxAx: not with 'pypy-c x.py'

[21:21] <arigo> xorAxAx: you too?

[21:21] <xorAxAx> i am using the shebang

[21:21] <xorAxAx> import gives me the same result

[21:22] <stakkars> pedronis: because we load the needed modules lazily?

[21:22] <xorAxAx> its strange that it works for you if given on the cmd line

[21:22] <arigo> indeed

[21:23] <arigo> ah, I see

[21:23] <arigo> the 'print' in the import hook causes an 'import'

[21:23] <arigo> => infinite recursion

[21:24] <arigo> hum, maybe not

[21:24] <stakkars> :-]

[21:24] <arigo> xorAxAx: in any case I think that the RuntimeError comes from running the import hook somewhere *after* the assignment, so that's why it's not caught

[21:25] <pedronis> arigo: maybe it can, because if have some local imports in some app-level helpers

[21:25] <pedronis> they remain even after geninterping

[21:25] <stakkars> grumble! --stackless is not targetspecific, too. This is no good! There will be targets that cannot support this.

[21:25] <arigo> xorAxAx: even sys.stdout.write() causes a recursive import!

[21:26] <arigo> xorAxAx: but os.write() is safe...

[21:26] <arigo> xorAxAx: it shows that we are doing some 'import sys' under the hood

[21:26] <pedronis> or import __builtin__

[21:26] <arigo> no, I don't see any

[21:26] <pedronis> to import _classobj

[21:27] <arigo> I mean I'm looking at what is printed by xorAxAx's newImp()

[21:27] <arigo> playing with the interactive prompts triggers a few "Called __import__ with ('sys', {}, None, None)" per command

[21:27] <pedronis> ah, because app_inspect contains some local impot __builtin__

[21:28] <pedronis> mmh, we have a real problem here

[21:29] <pedronis> this local import are done because geninterp otherwise would capture the wrong thing or even fail

[21:29] <pedronis> because some things don't exist on top of CPython

[21:29] <xorAxAx> geninterp workarounds in pypy-c? %-)

[21:30] <arigo> we can special-case calls to the builtin __import__ in geninterplevel

[21:31] <stakkars> for some reason, the stackless build of targetrpystonedalone is now even slightly faster than without stackless :)

[21:31] <arigo> e.g. generate code like space.getbuiltinmodule('sys') instead of space.call_function((space.builtin.get(space.str_w(gs___import__))), gs_sys)

[21:31] <arigo> which looks a good move anyway

[21:31] <arigo> stakkars: great :-)

[21:32] <arigo> this would make internal imports faster and not user-overrideable, avoiding this problem

[21:33] <pedronis> well, it was known that was a fragile area of geninterp, we didn't thought of this consequence though

[21:33] <arigo> indeed

[21:35] <stakkars> arigo: stackless call analysis checked in.

[21:35] <stakkars> had also the side effect to produce nicer flow-graphs.

[21:36] <stakkars> on targetrpystonedalone: it figures out that there is no need at all for stackless support. Had to artificially put a recxursion in to evoke *something*.

[21:37] <xorAxAx> even though its not needed it becomes faster?

[21:37] <stakkars> that's probablyone of the flaky effects of code positioning and L1 cache lines...

[21:38] <stakkars> the stackless version is 4k bigger but has no overhead atall.and is 1/1000 faster. dunno why.

[21:38] <xorAxAx> physicists use errors computation to mitigate such problems :)

[21:38] <stakkars> (I#m also working on a cache line simulator for pypy)

[21:38] <xorAxAx> stakkars: no overhead = the c-code is equal?

[21:39] <stakkars> yes, almost but the constant overhead of the extra stackless code

[21:40] <stakkars> which is in the include files. Plus one little artifivial stackless recursion handling in pystone_main

[21:40] <xorAxAx> that might be enough to add 4K

[21:41] <xorAxAx> in fact, 1 byte could be enough :)

[21:41] <stakkars> yup. just look at the code. it is nice.

[21:41] <stakkars> arigo: e.g. generate code like space.getbuiltinmodule('sys') instead of space.call_function((space.builtin.get(space.str_w(gs___import__))), gs_sys)

[21:41] <stakkars> absolutely doppelsuperpluplu-ly right

[21:42] <stakkars> should not try to use import to get at sys :)

[21:45] arigo (n=arigo@d213-103-157-213.cust.tele2.ch) left irc: "good night"

[21:47] <paniq_> http://rafb.net/paste/results/0zCTJd92.html

[21:47] <paniq_> why the hell do i get negative time values?

[21:48] <xorAxAx> paniq_: havent you read "Momo"?

[21:49] <paniq_> yes

[21:51] <paniq_> ah

[21:51] <paniq_> forgot one zero

[21:51] <paniq_> i'm creating a little dsp-like benchmark

[21:52] <paniq_> by the way

[21:53] <paniq_> i have been playing with the idea of providing a set of constants both to python and to C++

[21:53] <paniq_> the whole thing can work with sets such as

[21:53] <paniq_> DEFINE(Variable,5)

[21:53] <xorAxAx> DEFINE(PI, 3)

[21:53] <paniq_> ;)

[21:54] <paniq_> and i found a great way of doing comments:

[21:54] <xorAxAx> i think they call it "#define"

[21:54] <paniq_> #// this is valid in python AND c++

[21:55] <paniq_> the same way you can hide code from c++

[21:55] <paniq_> #/*

[21:55] <paniq_> :)

[22:00] <paniq_> ROFL

[22:00] <paniq_> i just managed to hide a c++ function from python and a python function from c++

[22:01] <paniq_> which means i can write the whole test for python AND c++ in one file :)

[22:01] <xorAxAx> now you have invented cython

[22:01] <paniq_> its so fucked

[22:01] <paniq_> you will love it :)

[22:04] Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) joined #pypy.

[22:11] <xorAxAx> how should i continue with my problem?

[22:24] <paniq_> allright, there it is:

[22:24] <paniq_> http://rafb.net/paste/results/hX7LCn66.html

[22:25] <cfbolz> wtf?

[22:26] <xorAxAx> :-)

[22:27] <xorAxAx> LOL, funny

[22:27] <cfbolz> it's not rpython, though

[22:28] <paniq_> yep

[22:28] <paniq_> whats not working in rpython?

[22:28] <cfbolz> array

[22:28] <pedronis> array

[22:28] <cfbolz> :-)

[22:29] <pedronis> there's no real library in RPython

[22:29] Nick change: paniq_ -> paniq

[22:29] ericvrp (n=ericvrp@ericvrp.demon.nl) left irc:

[22:29] <xorAxAx> __builtin__.__import__ fails as well

[22:30] <xorAxAx> so i cannot use an import hook at all?

[22:30] <xorAxAx> so i cannot debug the problem tonight?

[22:30] <xorAxAx> :-(

[22:30] <pedronis> I'm fixing that

[22:30] <xorAxAx> ah, ok

[22:32] <pedronis> running the tests now

[22:42] loubna (n=loubna_g@adsl-241-215-192-81.adsl2.iam.net.ma) joined #pypy.

[22:43] Action: loubna slaps bima around a bit with a large trout

[22:43] loubna (n=loubna_g@adsl-241-215-192-81.adsl2.iam.net.ma) left #pypy.

[22:45] Shoragan (n=shoragan@d072.apm.etc.tu-bs.de) joined #pypy.

[22:49] <pedronis> xorAxAx: done

[22:52] Action: xorAxAx launches translation

[22:53] bima (n=loubna_g@adsl-241-181-192-81.adsl2.iam.net.ma) left irc: Read error: 110 (Connection timed out)

[22:54] ericvrp (n=ericvrp@ericvrp.demon.nl) joined #pypy.

[22:54] ericvrp (n=ericvrp@ericvrp.demon.nl) left irc: Client Quit

[22:56] bima (n=loubna_g@adsl-241-215-192-81.adsl2.iam.net.ma) joined #pypy.

[23:00] <stakkars> #// ROTFLMAO

[23:02] <stakkars> xorAxAx:hours later... :-)

[23:02] <paniq> http://rafb.net/paste/results/s9IuKS53.html

[23:02] <paniq> we get better and better

[23:02] <paniq> now the first function is written in python and C++

[23:03] <xorAxAx> paniq: now write an m4 ruleset that simplifies writing such files :)

[23:03] <paniq> heh

[23:12] bima (n=loubna_g@adsl-241-215-192-81.adsl2.iam.net.ma) left #pypy.

----- silence for 31 minutes -----

[23:43] <paniq> http://rafb.net/paste/results/5LgW7w11.html

[23:44] <xorAxAx> pedronis: i still get a runtimeerror

[23:46] <pedronis> what is printing

[23:46] <cfbolz> paniq: you are crazy :-)

[23:46] <xorAxAx> pedronis: operror-value: internal error: <RuntimeError object>

[23:46] <xorAxAx> like before

[23:47] <paniq> cfbolz: Rhamphoryncus is crazy too... he helped

[23:47] <pedronis> did you remove the _cache before compiling?

[23:47] <xorAxAx> is __builtins__ or __builtin__ supposed to work?

[23:48] <xorAxAx> pedronis: umm, does that matter? no, i didnt

[23:48] <Rhamphoryncus> anybody who knows me would have long since realized I'm crazy ;)

[23:48] <pedronis> well, is partly my fault I should have bumped getinterp version

[23:48] <pedronis> but yes it matters

[23:48] <pedronis> the fix is about things in the cache

[23:48] <pedronis> to avoid the infinite recursion

[23:49] <xorAxAx> cant it ignore the cache files if the mtime of the pypy basedir has changed?

[23:49] <xorAxAx> umm, ok, not good, that idea

[23:50] <xorAxAx> ok, good night

[23:50] <paniq> heh

[23:50] <paniq> good idea for a finished product that turns rpython into compiled code:

[23:50] <paniq> it would have the name "cobra"

[23:51] <paniq> :D

[23:51] <paniq> a bit cheesy tho

[23:54] <pedronis> good night

[23:54] pedronis (n=Samuele_@c-3c8b70d5.022-54-67626719.cust.bredbandsbolaget.se) left irc: "Chatzilla 0.9.68a [Firefox 1.0.4/20050511]"

[23:58] <cfbolz> good night as well

[00:00] --- Tue Nov 1 2005