• Час читання ~1 хв
  • 08.10.2022

Зі вчорашнім випуском Laravel 9.32 було представлено помічник з порівняльного аналізу, який корисний для швидкого тестування продуктивності певних частин вашої програми.

Це працює, передаючи

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),
]);

Щоб дізнатися більше, перегляньте розділ порівняльного аналізу

тепер доступний у допоміжній документації.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Про автора CrazyBoy49z
WORK EXPERIENCE
Контакти
Ukraine, Lutsk
+380979856297