Path 1: 546 calls (0.98)

0 (80) 1 (79) 6 (79) 2 (77) 3 (77) 4 (77) 5 (77)

'Mon' (76) 'Sun' (76) 'Tue' (75) 'Wed' (74) 'Thu' (74) 'Fri' (74) 'Sat' (74) 'Monday' (4) 'Tuesday' (4) 'Wednesday' (3)

1def __getitem__(self, i):
2        funcs = self._days[i]
3        if isinstance(i, slice):
4            return [f(self.format) for f in funcs]
5        else:
6            return funcs(self.format)
            

Path 2: 5 calls (0.01)

7 (3) -10 (1) 10 (1)

IndexError (5)

1def __getitem__(self, i):
2        funcs = self._days[i]
3        if isinstance(i, slice):
4            return [f(self.format) for f in funcs]
5        else:
6            return funcs(self.format)
            

Path 3: 4 calls (0.01)

slice (4)

['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] (1) ['Sunday', 'Saturday', 'Friday', 'Thursday', 'Wednesday', 'Tuesday'...

1def __getitem__(self, i):
2        funcs = self._days[i]
3        if isinstance(i, slice):
4            return [f(self.format) for f in funcs]
5        else:
6            return funcs(self.format)