Dlaczego procesor nie jest wykorzystywany w 100% do obliczeń?

0

Witam,
Mam kod w php, który na podstawie kilku tysięcy danych w tablicy robi pewne obliczenie głównie arytmetyczne i warunki a wyniki wyświetla na stronie. Całość wykonywana jest w 2 minuty. Przed odpaleniem programu procesor wykorzystany +- 5%. Po odpaleniu +-(60 do 80). Tak się zastanawiam czemu, bo się nie znam, w celu szybszego obliczenia procesor nie jest wykorzystany w 100%. Da się to jakoś wymusić? Bo część procesora w tym momencie nie jest wykorzystywana i chciałbym ją wykorzystać w celu szybszego wykonania programu. Da się wykorzystać wszystkie rdzenie?

PS. Da się jakoś zaktualizować php.ini na linux nie restartując serwera?

0

Są jakieś sposoby aby wykorzystać wszystkie rdzenie do obliczeń zamiast jednego?

0

Tak są sposoby, musisz stworzyć algorytm który będzie coś obliczał wielopotokowo, a nastepnie używając wątków, podzielić to na kilka wątków (np. https://www.php.net/manual/en/class.thread.php) i w każdym osobno obliczać jakąś część problemu, i wszystko razem ładnie synchronizować. Robisz tyle wątków ile jest procesorów komputera, który sam Ci tego w ten sposób automatycznie nie podzieli. Wątek główny który uruchamia inne wątki powinien być tym wątkiem który to synchronizuje. Powodzenia xD

1 użytkowników online, w tym zalogowanych: 0, gości: 1