Почему при сравнении будет разница в скорости?
Для этого есть две причины, которые связаны с тем, как вещи, которые находятся вне вашего контроля, обрабатываютсяPHP и операционная система.
Во-первых, процессор компьютера может выполнять только определенное количество операций в любой момент времени.Операционная система в основном отвечает за обработку многозадачности, чтобы разделить эти доступные циклы с вашими приложениями.Поскольку эти циклы не задаются с постоянной скоростью, следует ожидать небольших изменений скорости даже при одинаковых командах PHP, из-за того, как распределяются циклы процессора.
Во-вторых, более значительная причина временных колебаний - это фоноперации PHP.Есть много вещей, которые полностью скрыты для пользователя, такие как выделение памяти, сборка мусора и обработка различных пространств имен для переменных и тому подобное.Эти операции также занимают компьютерные циклы, и они могут выполняться в непредвиденное время во время выполнения сценария.Если сборка мусора выполняется во время первого приращения, но не во втором, это приводит к тому, что первая операция занимает больше времени, чем вторая.Иногда из-за сборки мусора порядок выполнения тестов также может влиять на время выполнения.
Скоростное тестирование может быть немного сложным, потому что несвязанные факторы (как и другие приложения, работающие в фоновом режиме) могут искажатьсярезультаты вашего теста.Обычно небольшие различия в скорости трудно различить между сценариями, но когда тест скорости выполняется достаточно много раз, можно увидеть реальные результаты.Например, если один сценарий постоянно быстрее другого, это обычно указывает на то, что этот сценарий более эффективен с точки зрения скорости обработки.