Ekipa „internalsów” puściła chyba wodzy fantazji – Kenan Sulayman rozpoczął wątek o wprowadzeniu akceleracji GPU do PHP. Rzecz może wydawać się trochę zaskakująca, bo jak w generowaniu stron www może pomóc karta graficzna ? Otóż jest kilka zastosowań.
Oprócz oczywistych rzeczy takich jak funkcje przetwarzające obrazki, jest jeszcze druga grupa funkcji – funkcje operujące na tablicach. Weźmy sobie tak popularną funkcję jak in_array(), nie jestem pewien jak ona jest do końca zaimplementowana, ale sądzę, że po prostu jest iterowana cała tablica i każdy jej element jest porównywany z szukaną wartością. Wyobraźmy teraz sobie, że po zastosowaniu akceleracji GPU, zamiast iterować po całej tablicy, równolegle wykonane jest porównanie szukanej wartości z każdym z elementów tablicy. Teoretyczne przyspieszenie dla tablicy, która ma 512 elementów, na GPU, który ma 512 procesorów wyniosło by 512x.
Powiedzmy sobie szczerze, takie przyśpieszenie powoduje małe WOW wśród zgromadzonej publiki
. Pojawia się pytanie, czy jest to możliwe w praktyce do osiągnięcia? Z pewnością w dużej mierze zależy to od sposobu implementacji.
Stan Vass podszedł do sprawy bardziej pragmatycznie. Stwierdził, że pierwszą rzeczą jaką należało by zrobić w kwestii przyspieszenia PHP to dołączenie APC do standartowej dystrybucji. Następnie zintegrowanie go bezpośrednio z Zend Engine’em a na koniec dołożenie kompilacji JIT (Just In Time), co podobno już było próbowane przy pomocy LVVM-a. Dopiero po tych wszystkich przyśpieszeniach ma sens jakakolwiek akceleracja przy pomocy GPU.
Widać więc, że przynajmniej niektórzy deweloperzy PHP mają jasną wizję na temat tego co trzeba zrobić by uczynić PHP szybszym. Pytanie czy uda im się przeforsować swoje koncepcje oraz zaimplementować je z powodzeniem.
Jak zwykle czekam na Wasze komentarze dotyczące tych jakże interesujących nowinek.