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