Path 1: 7 calls (0.88)

'column' (4) 'row' (3)

tuple (7)

1def split(
2        self,
3        *layouts: Union["Layout", RenderableType],
4        splitter: Union[Splitter, str] = "column",
5    ) -> None:
6        """Split the layout in to multiple sub-layouts.
7
8        Args:
9            *layouts (Layout): Positional arguments should be (sub) Layout instances.
10            splitter (Union[Splitter, str]): Splitter instance or name of splitter.
11        """
12        _layouts = [
13            layout if isinstance(layout, Layout) else Layout(layout)
14            for layout in layouts
15        ]
16        try:
17            self.splitter = (
18                splitter
19                if isinstance(splitter, Splitter)
20                else self.splitters[splitter]()
21            )
22        except KeyError:
23            raise NoSplitter(f"No splitter called {splitter!r}")
24        self._children[:] = _layouts
            

Path 2: 1 calls (0.12)

'nope' (1)

tuple (1)

NoSplitter (1)

1def split(
2        self,
3        *layouts: Union["Layout", RenderableType],
4        splitter: Union[Splitter, str] = "column",
5    ) -> None:
6        """Split the layout in to multiple sub-layouts.
7
8        Args:
9            *layouts (Layout): Positional arguments should be (sub) Layout instances.
10            splitter (Union[Splitter, str]): Splitter instance or name of splitter.
11        """
12        _layouts = [
13            layout if isinstance(layout, Layout) else Layout(layout)
14            for layout in layouts
15        ]
16        try:
17            self.splitter = (
18                splitter
19                if isinstance(splitter, Splitter)
20                else self.splitters[splitter]()
21            )
22        except KeyError:
23            raise NoSplitter(f"No splitter called {splitter!r}")
24        self._children[:] = _layouts