(2026) "The Third" - The Mandelbrot Benchmark

Creator: Charles Zhang Dev Time: A few hours

Screens

A mendelbrot benchmark built in Divooka, showcasing document module data members

Overview

We calculated a checksum instead of output an image for this purpose to reduce external dependencies and make the benchmark easily portable to other platforms.

"The Mandelbrot Benchmark" came at a time when we have achieved document-level modules (and data member properties), which paves the way for turing completeness for Divooka. Though considerable shorter than The Second, the significance of this program is considered greater.

Development

We used those features when assembling this:

  1. Full (Basic Application) procedural context nodes (loop, while)
  2. Document module data members

The while loop was especialy tricky to do due to lack of an expression mechanism, which would inspire the latter lambda-based while loops.

Like when using Unreal Blueprints, for such numerical algorithms, practical construction still require pseudocode at best. But generally speaking, for any algorithm it's helpful to have (text-based) pesudocode - but with text languages it's possibel to gain efficiency to avoid that.

Comments

This clearly showed the necessity for a compiled runtime in order for any significant native performance.

A few important observations:

  1. Definitely advanced
  2. Rquires lots of control states
  3. Works well if we work small modules by modules on graph then piece things together
  4. Takes long time to construct in graph - and not really migratable especially without code gen or copy-paste

There are other important derivations from this setup, which we will discuss in the future.

Footnotes

This setup is still a work-in-progress and not finished as of the time of this writing.

Resources

  • Original Source (Github)
  • Example file: This example is provided as part of standard Divooka Explore distribution and available under Benchmarks folder.

References