On Wed, 19 Mar 2003 00:39:11 +0100, Ernest E Vogelsinger wrote about "Re:
[PHP] Which is quicker, if-else statements" what the universal translator
turned into this:

>Noticeable? Probably not, except you're timing loops of a million or more
>cycles... but it's clear that the second method needs more time (in terms
>of cpu cycles) than the first one.
>
>In Intel speak, what would a compiler translate these code examples to?
>
>if (a == b) {} else {}
>    mov      eax,   {a}
>    cmp      eax,   {b}
>    jnz      L01
>; the "true" block goes here
>    jmp      L02
>L01:
>; the "false" (else) block goes here
>L02:
>
>As you can see there's two memory operations and one comparison.

I'm totally lost here ... what does that mean???

Reminds me of assembler, except that assembler is more like:
0001 jnp e002 e003 0005
0002 jmp e002 e003 0008

And so on (not sure if that's fully correct ... haven't touched assembler
since '92) ...

Please ellaborate Ernest ...

>However, PHP is _not_ a compiler, it's an interpreter. It "compiles" code
>at runtime and has not the ability to perform exhaustive optimizations
>which would cost far more time than can be gained within a single
>execution. Additionally there's the time needed to parse the input stream
>(tokenize, add to symbol table, execute token and expression parser, etc
>etc). With interpreting languages the differences will rocket skyhigh
>compared to compiled executables.

Doesn't PHP precompile the files and shove the result into the cache? Or
did I get that wrong ???

Rene

-- 
Rene Brehmer

This message was written on 100% recycled spam.

Come see! My brand new site is now online!
http://www.metalbunny.net

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to