#php #load #xampp #cpu #primes
#php #загрузка #xampp #процессор #простые числа
Вопрос:
я создал небольшой скрипт для вычисления простых чисел, я использую последнюю версию xampp (x86) на win7 (x64), и скрипт использовал около 25% ЦП и завершил работу за 2 минуты, я попробовал последнюю версию wampserver (x64) и, используя те же 25% ЦП, он каким-то образом занимает больше временичем удвоить время до завершения. как на xampp, так и на wampserver, когда я открываю один и тот же файл много раз, он сохраняется на 25%, если я создаю 4 разных файла с одним и тем же скриптом, но с разными именами, и открываю все 4, процессор переходит на 100%, а темпы увеличиваются почти так же, как при запуске prime 95.
я хотел бы выполнить вычисления простых чисел таким образом, чтобы для запуска одного скрипта потребовалось бы 100% процессора (или немного меньше, если это невозможно), есть идеи?
я начну изучать c , и для такого рода вещей, я думаю, это было бы лучше, но я знаю php, и я хотел бы сделать это с его помощью, может быть, позже я сделаю то же самое или лучше, но с использованием c .
я думаю, что это невозможно, даже не слышал о чем-то подобном, но если бы я мог одновременно запускать два блока кода в одном и том же php-скрипте, возможно, это помогло бы (или не учитывая, что это кажется мне довольно «искусственным» ограничением, которое можно «установить / удалить», яможет быть неправильно, поэтому услышать ваше мнение по этому поводу будет полезно).
кроме того, любые теории о том, почему wampserver такой медленный по сравнению с xampp (оба больше не установлены и оба с настройками по умолчанию), а также несколько хороших советов по их ускорению были бы хороши, я имею в виду, что wamp должен, по крайней мере, быть в состоянии более или менее поддерживать xampp (нетбольшая разница в том, что устанавливается одним и другим)?
Комментарии:
1. Возможно, вы можете настроить свой php.ini, чтобы позволить php использовать больше памяти и тому подобное, чтобы это занимало много процессора.
2. Вы используете четырехъядерный процессор или двухъядерный с HT? Один процесс будет (и может) выполняться только на одном ядре, что означает: вам нужно как минимум столько процессов, сколько у вас ядер
3. Вы не можете загружать более одного ядра одним потоком. Я предполагаю, что у вас процессор с четырьмя ядрами, поэтому вам нужно либо 4 процесса, либо процесс с 4 потоками (или 2 с 2).
4. @KingCrunch Один поток будет (и может) работать только на одном ядре, что означает: вам нужно как минимум столько потоков , сколько у вас ядер — поскольку PHP не поддерживает многопоточность, в данном случае это одно и то же, но лучше быть правильным…
5. @KingCrunch quadcore, и нагрузка распределяется на 25% для каждого ядра, по крайней мере, так сообщает диспетчер задач. кроме того, многие запущенные php-скрипты с одинаковыми именами не пропускают 25%, но если я изменю имена и выполню 4 скрипта с разными именами, он достигнет 100%, как я сказал на свой вопрос
Ответ №1:
Чтобы максимально использовать сервер, вам нужно увеличить максимальное время выполнения php до чего-то действительно большого, но я также предлагаю запускать скрипт из командной строки, потому что apache может иметь большое значение. Попробуйте запустить lighttpd с fast-cgi, это имеет большое значение.
Комментарии:
1. все, что немного помогло в скорости выполнения самого скрипта, что, кстати, тоже хорошо для меня, потому что это скрипт, которому действительно нужна скорость, но что мне действительно нужно, и я буду делать, это распределить работу на 4 отдельных процесса, чтобы максимально использовать все ядра. Спасибо