@@ -128,10 +128,10 @@ and executes them.
128
128
### Branching Limitations
129
129
130
130
Most of branching's limitations are around:
131
+
131
132
- [ using a branch to manipulate another] ( #branch-interactions )
132
133
- [ shared SDF state] ( #using-with-state )
133
134
134
-
135
135
## Branching Example
136
136
137
137
In this example, we have purchase events similar to our [ purchase-filtering tutorial] ( tutorials/purchase-filtering/tutorial.md ) :
@@ -248,7 +248,7 @@ Processing the [example value](#example-value) would produce 2 values in the fol
248
248
- ` "Congratulations Jane Doe, your recent purchase totaling $212.36 was enough to earn you a coupon!" `
249
249
250
250
251
- # Execution Ordering
251
+ ## Execution Ordering
252
252
253
253
Because of the way branches are tracked and interact, ordering can be tricky.
254
254
@@ -259,7 +259,7 @@ That said, if you have behavior that relies on a specific execution ordering,
259
259
it is recommended to test it and ensure its occurring in the order you expect, as
260
260
there may be uncaught edge cases.
261
261
262
- ## Ordering Example
262
+ ### Ordering Example
263
263
264
264
``` python
265
265
from quixstreams import Application
308
308
└── (+ 500 ) = 530
309
309
```
310
310
311
- ## Ordering with ` expand=True `
311
+ ### Ordering with ` expand=True `
312
312
313
313
Using ` expand=True ` (like with ` SDF.apply(f, expand=True) ` ) also produces its results
314
314
in a specific order: each element of the expand is fully processed before handling the
@@ -426,8 +426,10 @@ are much cheaper relative to the first).
426
426
Some considerations for mitigating loss in performance due to cloning:
427
427
428
428
Before (or while) creating a branch:
429
+
429
430
1 . Reduce the value size (ex: use column projection)
430
431
- Smaller value = lower clone cost
432
+
431
433
2 . Filter values upfront
432
434
- lower data volume = less data to clone
433
435
0 commit comments