• Czas czytania ~1 min
  • 08.10.2022

Wczoraj wraz z wydaniem Laravel 9.32 wprowadzono pomocnik do testów porównawczych, który jest przydatny do szybkiego testowania wydajności niektórych części aplikacji.

Działa poprzez przekazanie

Zamknięcia, które uruchamia kod, który chcesz przetestować i zwraca czas, jaki zajęło to ms:

Dodatkowo możesz przekazać tablicę

zamknięći opcjonalnie skonfigurować liczbę iteracji, które zamknięcia powinny być wykonywane:

use Illuminate\Support\Benchmark;
 
Benchmark::measure(fn() => Post::find(1));
// Returns time in ms.
// i.e., 0.1ms

Klasa Benchmark ma metodę

dd(), która uruchamia powyższe pomiary zapakowane w wywołanie dd(), które wyśle ​​wyniki do konsoli lub przeglądarki i wyjdzie.

// 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]

Połącz tę aktualizację z wyjściem pliku/linii

dd(), i masz kilka przydatnych nowych narzędzi do debugowania!

Benchmark::dd([
  'Post 1' => fn() => Post::find(1),
  'Post 5' => fn() => Post::find(5),
]);

Aby dowiedzieć się więcej, zajrzyj do sekcji testów porównawczych

teraz dostępnej w dokumentacji pomocników.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

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...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297