Re: New switch/case idea

new topic     » goto parent     » topic index » view thread      » older message » newer message
mattlewis said...
kinz said...
mattlewis said...

Igor, please read Derek's response again. You missed a key point: namely, which routines can be stripped out, either by the binder or the translator.

The overhead of this many routine ids isn't very significant, ultimately, though it would probably be faster to do away with routine ids to begin with, and call the routines directly. When this was done with execute.e, speed was increased by about 5-7%.

Matt, what specific function or procedure are you talking about?

Take a look at do_exec() in execute.e. There are actually two versions, but the old, routine id based stuff is ifdef'd out by default. It should probably be removed at this point. It was initially ifdef'd out for comparison purposes, and just in case we wanted to restore it. But I think the speed benefits are substantial enough for eu.ex that it's worth keeping.

Ok, thanks, it seems to be a good landmark, I'll see do_exec() in execute.e.

mattlewis said...
kinz said...

Euphoria 4.0 is Open Source, let me know, please. I can read the concrete Euphoria code. Then I can ask about concrete things. 'Translator or binder' ... it is same thing as to say 'in America'.

I don't understand what you're asking. The translator and the binder are specific things. I suspect you know about them smile

Matt, I was asking about America, don't you see? Why you jumped to some do_exec() in execute.e? Is it America? I have that do_exec() on my machine.

mattlewis said...
kinz said...

4.0 now is alpha, isn't it? You asked about new switch/case ideas. I can provide the specific code sometimes. I asked - Where am I wrong. I'm not talking about some principles, I'm talking about concrete code now. You say execute.e, I'll see execute.e. But compile.e seems to have a problem, sorry.

What's the problem with compile.e? It works fine. Derek explained why he changed it the way he did. You addressed the speed issue (which is probably pretty insignificant, I think we both agree), but not the issue of the translator or binder knowing which routines are routine_id targets, and the benefits of being able to do that.

I reported about ascii.ex compiled with Watcom, it crashes with message from CW.
Who knows why it crashes? And you say 'fine'. ascii.ex is a simplest program. Crashes translated/compiled. BEu complains. So do not tell me about benefits for now, please.

Good luck!


kinz

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu