Как быстрее всего преобразовать число в шестнадцатеричное представление в PHP: dechex($number)
или sprintf("%x",$number)
?
Хороший тест производительности, как правило, включает сотни тестов, чтобы гарантировать, что другие факторы (такие как загрузка ЦП на сервере, использование памяти, задержка в сети и т. д.), которые могут колебаться со временем, не оказывают чрезмерного влияния на результаты.
Вот так... dechex
быстрее, на незначительную цифру
0,0042848587036133
0,0037119388580322
<?php
$numbers = [];
for ($i = 1; $i < 10000; $i++) {
$numbers[] = random_int(1, 10000);
}
$start = microtime(true);
foreach ($numbers as $number) {
$test = sprintf("%x",$number);
}
echo microtime(true) - $start . PHP_EOL;
$start = microtime(true);
foreach ($numbers as $number) {
$test = dechex($number);
}
echo microtime(true) - $start . PHP_EOL;
Я думал, что должны быть какие-то документы об этом. php.net ничего не говорит. Достаточно ли использовать один скрипт с циклами. Или я должен генерировать много одновременных запросов?