I'm loading a few hundred phrases from disk and doing some processing and categorizing (note distribution, transpose and grouping based on scales and keys). That takes a minute or two and it's interrupted by Renoise which assumes that the script hangs. I suppose Renoise is just not the right tool for this.
Ah ok, but this does not depend on LUA, nor any tool, this depends on the executable of Renoise, its motherboard, CPU and RAM basically. It is passing data from the hard disk or SSD to the RAM memory through the CPU ordered by Renoise. If you have problems here, you will have to look at these factors. Another thing is that you are using a specific LUA tool that has to do with that, or that does not stop reading "things" when adding data in the pattern editor, for example. Before I mentioned an example, as the line_notifier. If you have a function in a tool using it constantly, you can have problems if you change the data of the pattern editor (delete patterns, lines, tracks, or add notes, parameters, things like that). But this is a very specific case, which does not depend on the LUA code, but on how the API is designed to access the data. In general, LUA goes very fast. I have no complaints here. Yes I have experienced strange things with the use of textures in the GUI, and other details.
By the way, if you use OSC Server, you can send messages in real time to shoot and stop notes. Generally, I only miss more things within the Viewbuilder, and some API improvements in general to access certain data. That Renoise resents processing other things, that's another issue. For example, think about adding one more instrument to your song when you have dozens of them. Here you will notice "delays". That depends on how it's programmed under the hood, not the code itself. You can use the code right or wrong. That does not mean that LUA is the best. Everything is improvable. But for Renoise I consider LUA a good companion.