Isn't it access to individual TMTag elements of the array which is slow rather than just referencing the whole array? The TMTag elements would be accessed inside the C code which should still be fast.
Unfortunately, it's referencing the whole array which causes the slow down. I profiled the python code, and it's the following assignment (or any other first use) of the array that's problematic: `array = self.geany_plugin.geany_data.app.tm_workspace.tags_array`