From a679a81432d59282bb07772530a7e332b887e1d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Sat, 18 Nov 2017 22:53:17 +0100 Subject: [PATCH] try to max out mpl wrapper performance --- src/c3nav/mapdata/utils/mpl.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/c3nav/mapdata/utils/mpl.py b/src/c3nav/mapdata/utils/mpl.py index 6ee644cd..d731067f 100644 --- a/src/c3nav/mapdata/utils/mpl.py +++ b/src/c3nav/mapdata/utils/mpl.py @@ -18,8 +18,10 @@ class MplPathProxy(ABC): class MplMultipolygonPath(MplPathProxy): + __slots__ = ('polygons') + def __init__(self, polygon): - self.polygons = [MplPolygonPath(polygon) for polygon in assert_multipolygon(polygon)] + self.polygons = tuple(MplPolygonPath(polygon) for polygon in assert_multipolygon(polygon)) @property def exteriors(self): @@ -46,6 +48,8 @@ class MplMultipolygonPath(MplPathProxy): class MplPolygonPath(MplPathProxy): + __slots__ = ('exterior', 'interiors') + def __init__(self, polygon): self.exterior = linearring_to_mpl_path(polygon.exterior) self.interiors = [linearring_to_mpl_path(interior) for interior in polygon.interiors]