Zainstalowałem bibliotekę pthreads według instrukcji znalezionej tutaj
http://php.net/manual/en/pthreads.installation.php
Zainstalowała się poprawnie.
Ale
Uruchomiłem kilka razy skrypt Benchmark.php pobrany z stąd
https://github.com/krakjoe/pthreads/blob/ma...s/Benchmark.php
class T extends Thread { public function run() {} } $max = @$argv[1] ? $argv[1] : 100; $sample = @$argv[2] ? $argv[2] : 5; $it = 0; do { /* begin test */ $ts = []; $t = new T(); $t->start(); $ts[]=$t; } $ts = []; /* end test */ } while ($it++ < $sample);
#Windows console:
Działa prawidłowo i tak samo:
#First run 1102 Thread per s

#Second run 974 Thread per s

RAM used ~600MB

Kiedy skrypt zakończy działanie proces php.exe zostaje zakończony a pamięć zwolniona
#Przeglądarka(FF i Chrome ten sam błąd)
#First run 1175 Thread per s and 161 RAM

#Second run 565 Thread per s and 534 RAM

#Third run 235 Thread per s and 977 RAM

Po wykonaniu skryptu proces httpd.exe ZOSTAJE A PAMIĘĆ NIE ZOSTAJE UWOLNIONA.
W najgorszej sytuacji wydajność spadła do 20 t/ps a httpd.exe zjadł prawie 6GB RAM
Konfiguracja:
> Windows 7 64 bit
>
> WampServer64
> PHP Version :5.5.12
> (php info)
> Compiler MSVC11 (Visual C++ 2012)
> Architecture x64
> Zend Extension Build API220121212,TS,VC11
> PHP Extension Build API20121212,TS,VC11
>Thread Safety enabled
>
> Apache Version :2.4.9
>
> Procesor: i7-4790k
Bardzo mi zależy na uruchomieniu skryptów używających pthreads przez przeglądarkę. Czy ktoś wie dlaczego tak się dzieje?
Bardzo proszę o pomoc.