Задать вопрос

Может ли встроенная функция php работать медленнее «велосипеда»?

Подсчитываю количество повторяющихся значений в массиве так:
foreach ($groups as $item)
		{
			if(!isset($final[$item]))
				{
				$final[$item] = 1;
				}
			
			else 
				{
				$final[$item] = $final[$item] + 1;
				}
		}

Потом вспомнил, что есть array_count_values. Попробовал заменить код на нее:
$final = array_count_values($groups);
- и время выполнения скрипта выросло! Конечно, на время выполнения влияют и другие части скрипта, но это самое "узкое" место - массив с 200 000 ячеек.
  • Вопрос задан
  • 2458 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@Lu_den Автор вопроса
Перепроверил, убрав все кроме выполнения этой операции. Функция все-таки быстрее. Но экономия совсем невелика.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@IceJOKER
Web/Android developer
Может, если этот "велосипед" написан грамотно, но думаю что разрабы PHP лучше знают свое дело и встроенные функции они пишут учитывая все тонкости работы PHP.
Так или иначе ответ на вопрос - МОЖЕТ.

Чтобы удостовериться в этом измеряете время до и после выполнения данного кода и сравниваете и чтоб лишнее не мешало
Ответ написан
Комментировать
Rastishka
@Rastishka
Может. У меня так было с объединением двух ассоциативных массивов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы