17.13. Pomiar wydajności alternatywnych rozwiązań

Problem

Chcemy przekonać się, które z dwóch rozwiązań problemu działa szybciej. W taki sposób można porównać dwa różne algorytmy lub dwie biblioteki wykonujące takie same działania.

Rozwiązanie

Można wykorzystać bibliotekę benchmark w celu zmierzenia czasu wykonywania zadań, które chcemy uruchomić. Metoda Benchmark.bm zwraca obiekt, który pozwala na zmierzenie czasu wykonywania się bloku kodu.

Spróbujmy się dowiedzieć, czy metoda member? działa szybciej w odniesieniu do tablic numerycznych (Array), czy haszów (Hash). Najpierw utworzymy dużą tablicę numeryczną i duży hasz o takiej samej zawartości i zdefiniujemy metodę testującą dla metody member?:

RANGE = (0..1000) array = RANGE.to_a ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.