Memory optimizations
In version 1.0 of dynamic blocks, Mage was loading all the data of an upstream dynamic child block from disk into memory in order to calculate how many dynamic child blocks should be created. This can result in using large amounts of memory. In version 2.0 of dynamic blocks, Mage leverages the metadata of upstream block outputs to calculate the number of downstream blocks for dynamic blocks and dynamic child blocks. The metadata is only several bytes on disk and less than a kilobyte in RAM.Stream mode
Stream block output data to dynamically generated blocks without waiting for the upstream parent block to finish executing.Only in Mage Pro.Try our fully managed solution to access this advanced feature.
- Dynamic block A returns a list of 10 items and has 1 direct downstream block B.
- B is a dynamic child block and has 2 direct downstream block: C and D.
- C is a dynamic child block and has 1 direct downstream block: D.
- Block A finishes executing and returns an output of 10 items.
- Block B spawns 10 dynamic child blocks.
- Block B executes all 10 dynamic blocks concurrently.
- Once all 10 block runs from block B finishes, block C starts.
- Block C spawns 10 child blocks and executes them.
- Once Block C completes all 10 runs, block D starts.
- Block D spawns 100 child blocks and executes them.
- Block A executes and can be handled in 2 ways:
- Serial: block A executes its code line by line and at the end, the return statement outputs the entire result of 10 items in a list.
- Generator: block A executes its code line by line up until a yield block. Once yield is called, the object that is yielded is stored as an output of block A. In this example, block A would yield 10 times, 1 for each item.
- As soon as 1 output is detected from block A, block B spawns 1 dynamic child that consumes that single output as its input argument.
- As soon as 1 output is detected from block B, block C spawns 1 dynamic child.
- As soon as 1 output is detected from both block B and block C, block D spawns 1 dynamic child.
Enabling stream mode
Stream mode allows downstream dynamic child blocks to execute without waiting for every upstream block to finish, improving pipeline performance.Accessing block settings
To enable stream mode, access the Dynamic block v2 configuration:- Click the block settings button next to the “Run code” button
- Alternatively, use the Block settings tab in the right side navigation menu
Configuration
- Scroll down to the “Dynamic block v2 configuration” section
- Select “Stream” from the Mode dropdown
- Enter a poll interval in seconds - this is how often the system checks for new data or completed upstream blocks. Lower values (like 1 second) provide faster response times but use more system resources
- (Optional) Toggle “Combine all output into 1” to consolidate outputs for downstream processing

Memory generator
If a dynamic block contains a yield block, the object yielded will be an output from that block. Once that object is stored, it is released from memory and the next object in the generator within that block is processed and loaded into memory.Only in Mage Pro.Try our fully managed solution to access this advanced feature.