Reactive graph-based execution model
Hex projects are backed by a graph which links cells together and defines how they re-execute. This graph can be visualized in the Graph View, activated by pressing the Graph button.
This differs from a traditional code notebook, and offers several advantages:
- Interpretability: it's easy to see how cells relate to each other, and how re-computes flow through the project. The Graph View is a visual "mind map" of the complexity you'd previously have to keep track of in your head.
- Reproducibility: Hex projects are reproducible by default, in that a given change will trigger a predictable, consistent set of re-computes through the graph.
- Performance: in logic development, but especially in published apps, this new DAG model is a massive leap forward. Input parameters will only trigger downstream, dependent logic, without any additional overhead or complexity.
How cells link together
The graph is built automatically based on parameter references in Python and SQL code. In the simple example below, we can see that
y are both defined in and then referenced down in cells 2 and 3. These linkages are automatically inferred, without any need for user definition.