Hi Peter,
ist es via PHP möglich, auf ein bestimmtes Bit einer Variablen zuzugreifen? Ich denke nicht an ($a & pow(2, n)) für das n-te Bit von hinten, da so erst 2^n ausgerechnet wird, doch in meinem Anwendungsfall macht das einen großen Teil der Zeit aus.
Wenn die Anwendung so zeitkritisch ist, solltest du, falls möglich, nicht PHP nehmen. Beispiel (10 Millionen Bitverschiebungen um 8 Bits nach links):
ag@bart:~$ time php -r 'for ($i = 0; $i < 10000000; $i++) 1<<8;'
real 0m8.571s
user 0m7.633s
sys 0m0.025s
im Gegenzug ein kleines C-Programm (test.c):
int main (void)
{
int i;
for (i = 0; i < 10000000; i++) 1<<8;
return 0;
}
ag@bart:~$ gcc test.c
ag@bart:~$ time ./a.out
real 0m0.037s
user 0m0.023s
sys 0m0.002s
Wenn ich bei dem C-Programm keinen Bock geschossen habe, würde ich sagen, es lohnt sich ;-)
Gruß,
Andreas.