Path 1: 34 calls (0.97)

Console (34)

ConsoleOptions (34)

list (25) ['one', 'two', 'three', 'four'] (4) ['FOO'] (3) 'hello' (1) ['Hello, World'] (1)

Measurement (34)

1def measure_renderables(
2    console: "Console",
3    options: "ConsoleOptions",
4    renderables: Sequence["RenderableType"],
5) -> "Measurement":
6    """Get a measurement that would fit a number of renderables.
7
8    Args:
9        console (~rich.console.Console): Console instance.
10        options (~rich.console.ConsoleOptions): Console options.
11        renderables (Iterable[RenderableType]): One or more renderable objects.
12
13    Returns:
14        Measurement: Measurement object containing range of character widths required to
15            contain all given renderables.
16    """
17    if not renderables:
18        return Measurement(0, 0)
19    get_measurement = Measurement.get
20    measurements = [
21        get_measurement(console, options, renderable) for renderable in renderables
22    ]
23    measured_width = Measurement(
24        max(measurements, key=itemgetter(0)).minimum,
25        max(measurements, key=itemgetter(1)).maximum,
26    )
27    return measured_width
            

Path 2: 1 calls (0.03)

Console (1)

ConsoleOptions (1)

'' (1)

Measurement (1)

1def measure_renderables(
2    console: "Console",
3    options: "ConsoleOptions",
4    renderables: Sequence["RenderableType"],
5) -> "Measurement":
6    """Get a measurement that would fit a number of renderables.
7
8    Args:
9        console (~rich.console.Console): Console instance.
10        options (~rich.console.ConsoleOptions): Console options.
11        renderables (Iterable[RenderableType]): One or more renderable objects.
12
13    Returns:
14        Measurement: Measurement object containing range of character widths required to
15            contain all given renderables.
16    """
17    if not renderables:
18        return Measurement(0, 0)
19    get_measurement = Measurement.get
20    measurements = [
21        get_measurement(console, options, renderable) for renderable in renderables
22    ]
23    measured_width = Measurement(
24        max(measurements, key=itemgetter(0)).minimum,
25        max(measurements, key=itemgetter(1)).maximum,
26    )
27    return measured_width