Самое быстрое усечение в PHP — Benckmark

Я имею дело со временем в базе данных, отличной от sql, В базу данных MySql. Данные из API, который я использую, приходят с миллисекундами в формате:

2015-04-14T18:01:49.783

Я нашел несколько способов удаления всего после точки, но не могу найти способ сравнить, какой из них самый быстрый.

Это работает хорошо:

$time="2015-04-14T18:01:49.783";
$timeArr= explode(".", $time);
$newTime= $timeArr[0];

Но так и это:

$time = "2015-04-14T18:01:49.783";
$new_time = substr($time, 0, strpos($time, "."));

Кроме того, я нашел несколько других методов.

API, который я извлекаю, составляет от 40 до 80 тысяч человек на «Клинику», а у меня более 20 клиник. Так что их миллионы. Я думаю, я спрашиваю абстрактно: «Как мне сравнить мой код с другим кодом? " ТАКЖЕ - для доставки API потребуется время, и, похоже, он никогда не будет выполняться с тем же интервалом, что и в прошлый раз. Трудно понять, зависит ли время ожидания от моего кода или от сервера API.


person Jason    schedule 20.04.2015    source источник
comment
Почему бы вам не провести тест с более чем 50 000 строк для обоих (просто фиктивные данные) и не выяснить, какой из них самый быстрый?   -  person James Spence    schedule 20.04.2015
comment
вы, вероятно, только экономите секунду или две, что для 50 000 строк по сути ничего. начните сравнивать/выбирать между ними, когда вы получите миллионы или миллиарды строк, и экономия может составлять минуты или часы.   -  person Marc B    schedule 20.04.2015
comment
Во втором примере вы запускаете функцию strpos() внутри функции substr(). Вероятно, первый пример (со взрывом()) работает быстрее.   -  person Damian Mąsior    schedule 20.04.2015
comment
Извините, нужно уточнить. API, из которого я извлекаю, составляет от 40 до 80 тысяч человек на клинику, а у меня более 20 клиник.. Так что их миллионы.. Думаю, я спросил немного более абстрактно, как я могу сравнить мой код против другого кода? ТАКЖЕ - для доставки API потребуется время, и его трудно определить, если время ожидания связано с моим кодом или сервером API.   -  person Jason    schedule 20.04.2015
comment
И больше регистрации в вашем коде, чтобы у вас было понимание, необходимое для ответа на этот вопрос. Сделать его легче различать.   -  person ficuscr    schedule 20.04.2015
comment
Ознакомьтесь с этим вопросом о том, как сравнить свой код: stackoverflow.com/questions/5447778/   -  person Cas Wolters    schedule 21.04.2015
comment
Чем меньше вы делаете, тем быстрее это происходит. Я провел тест на небольшой виртуальной машине Ubuntu. При 10 миллионах итераций первый метод занимает 5,59 секунды, а второй — 5,11 секунды — имейте в виду, я запускал тест только один раз. Более чем безопасно предположить, что вы ждете, пока другой сервер доставит данные, больше, чем тратите время на выбор самого быстрого метода, как вы можете видеть - выигрыш абсолютно ужасен и не стоит и полсекунды вашего времени. Создавайте код, который работает точно — проверяйте ввод, не доверяйте слепо другому серверу.   -  person N.B.    schedule 21.04.2015
comment
Спасибо, что нашли время, чтобы запустить их .. Я действительно ценю это. Можете ли вы рассказать мне, как вы быстро создали фиктивные данные для запуска этого теста?   -  person Jason    schedule 21.04.2015