Performance profiling

This might be handy to spot troublesome loops or just expensive functions, as a level of debugging that could directly help the end-user.

What it could look like:

Programs like Substance Designer use ms per node,
11011_Substance_Designer

Other programs like Sverchok for Blender can display cumulative ms of the graph until that point
11013_blender

This would be useful, yes, but there are some issue to overcome because of the way that the procedure evaluation works. Apart from the technical implementation work needed to support it, its’ not immediately possible to attribute a time to any given node very easily. One problem is that all parts of the graph are evaluated on demand and so can be passed through once per output connection. Another is that if you have many instance of a procedure in your scene, you will likely get different results for each.
This is something I will add eventually, as part of a more general graph debugger that’s been planned for a long time, but this is a large piece of work that I can’t justify at the moment.
The whole debugger/instrumentation thing is a really interesting feature that has a lot of potential, that I’d love to dive into, but it will have to wait.

That makes a lot of sense, thanks!