Сообщение от SBJoker
Ты непонял меня.
Я и неговорил что пхп исполняется многопоточно. Дело в том что отдавая команду "поспать" процессу ты выводишь его из очереди на выполнение, и в следующий раз он может быть с 50% вероятностью для двухядерного процессора исполнен другим ядром. А время ядер никогда не совпадает так точно.
|
Прошу извинить за придирку и откапывание старых тем, но, возможно, это будет кому-то полезно.
Из книги Дж. Рихтера
Windows для профессионалов: создание эффективных Win32 приложений с учетом специфики 64-разрядной версии Windows/Пер, англ - 4-е изд. - СПб; Питер; М.: Издательско-торговый дом "Русская Редакция", 2001. - 752 с.; ил.
По умолчанию Windows 2000 использует нежесткую привязку (soft affmity) потоков к процессорам. Это означает, что при прочих равных условиях, система пытается выполнять поток на том же процессоре, на котором он работал в последний раз. При таком подходе можно повторно использовать данные, все еще хранящиеся в кэше процессора
|
Т.е., в общем случае, 50% - завышенная оценка.
В остальном - Джокер первым верно указал проблему.