Зі вчорашнім випуском Laravel 9.32 було представлено помічник з порівняльного аналізу, який корисний для швидкого тестування продуктивності певних частин вашої програми.
Це працює, передаючиYou thought that yesterday was only about the new "dd" source stuff? There is more! Beginning with yesterday's @laravelphp release, you may use the new "Benchmark" class to quickly test the performance of certain parts of your application. ⏱
— nuno maduro 🤌🏻 (@enunomaduro) September 29, 2022
📚 https://t.co/7G7B5mJuVx. pic.twitter.com/JeYVk9m5Tm
Closure, який запускає деякий код, який ви хочете перевірити, і повертає час, який знадобився в
ms:
Closure і, за бажанням, налаштувати, скільки ітерацій закриття мають виконуватися:
use Illuminate\Support\Benchmark;
Benchmark::measure(fn() => Post::find(1));
// Returns time in ms.
// i.e., 0.1ms
Клас Benchmark має метод dd(), який запускає наведені вище вимірювання, обернені викликом
dd(), який виведе результати на консоль або браузер і завершить роботу.
// Run each callback three times
Benchmark::measure([
fn() => Post::find(1),
fn() => Post::find(5),
], 3);
// [0.02, 0.03]
// Use keys
Benchmark::measure([
'Post 1' => fn() => Post::find(1),
'Post 5' => fn() => Post::find(5),
], 3);
// ['Post 1' => 0.02, 'Post 5' => 0.03]
Поєднайте це оновлення з виведенням файлу/рядка dd(), і у вас є нові корисні інструменти для налагодження!
Benchmark::dd([
'Post 1' => fn() => Post::find(1),
'Post 5' => fn() => Post::find(5),
]);
Щоб дізнатися більше, перегляньте розділ порівняльного аналізу