Running one node, reruns the whole Dynamo graph?


There is one concept of Dynamo graph which confuses me:
Why does running a Dynamo Python node, reruns the whole Dynamo graph?

Here is an example case: a Python node presented here, exports information about the username, project name, number etc of the current file/user to a .txt file.

example.dyn (8.3 KB)

This Python node is completely independent, and not related to any other nodes in the graph. It just exports a .txt file, that’s all.

However, whenever I run that Python node, it will rerun the whole dynamo graph. In order to prevent this I need to freeze some of the nodes in the graph.
By googling I see that the other workaround is to always use Boolean Gates.

Why can’t Dynamo recognize that the Python node is not connected to any other nodes in the graph, and just run the Python node, and not all the nodes in the graphs?
This will remove the tedious job of freezing/unfreezing or setting Boolean Gates to False/True, EACH time we just want to run a single Python node.

The upper screenshot and .dyn file is just an example. It can be any other situation where a Python node is not in anyway connected to the rest of the graph.