This PR limits ourselves to a very limited implementation of toString. The old approach using a to-string-builder and including a lot of fields was actually costing some performance, for example in the (debug) output of the inference system.
I would argue that toString should only include the very basic things to quickly identify a node, which is in most cases its name and location and then sparsley adding additional information. In one particular case the execution time of the symbol resolver was reduced from 3000ms to 500ms.
This PR limits ourselves to a very limited implementation of
toString
. The old approach using a to-string-builder and including a lot of fields was actually costing some performance, for example in the (debug) output of the inference system.I would argue that toString should only include the very basic things to quickly identify a node, which is in most cases its name and location and then sparsley adding additional information. In one particular case the execution time of the symbol resolver was reduced from 3000ms to 500ms.