Path 1: 8 calls (0.89)

'left' (3) 'top' (1) 'bottom' (1) 'root' (1) 'bar' (1) 'foo' (1)

Layout (8)

1def __getitem__(self, name: str) -> "Layout":
2        layout = self.get(name)
3        if layout is None:
4            raise KeyError(f"No layout with name {name!r}")
5        return layout
            

Path 2: 1 calls (0.11)

'asdasd' (1)

KeyError (1)

1def __getitem__(self, name: str) -> "Layout":
2        layout = self.get(name)
3        if layout is None:
4            raise KeyError(f"No layout with name {name!r}")
5        return layout