Kalles Fraktaler 2 +

quick start | limits | videos | download | source | benchmarks | gallery | manual

As the orginal upstream author Karl Runmo says:

Want to create DEEP Mandelbrot fractals 100 times faster than the commercial programs, for FREE? One hour or one minute? Three months or one day? Try Kalles Fraktaler!

It works by using perturbation techniques and series approximation, to allow faster lower precision number types to be used for pixel iterations, based on a high precision reference.

I (Claude Heiland-Allen) forked the code and swapped out the custom arbitrary precision floating point code for highly optimized libraries, making it even faster. Cross-compiled to Windows from Linux MINGW64. Now with many other enhancements.

You can donate to support my work at ko-fi.com/claudeha.

Quick Start




Zoom Videos


Legal note: these binaries are released under AGPLv3+ license. If you redistribute the binaries (or provide access to the binaries as a service) you must also be prepared to distribute the source corresponding to those binaries to anyone you distribute the binary to. To make this easier for you, the more recent zips include the source too (though you'll also need to get the library sources - check the about dialog ("?" menu) for details). And of course insert here the usual legal disclaimers about no warranty of any kind.

Latest binary downloads for Windows (64bit recommended, includes 32bit too) which also work in Wine on Linux (you need 7-zip to unpack recent releases):

Older versions (for example for bisecting bugs) can be downloaded by browsing mathr.co.uk/kf. Check the change log for details of what changed in each version.

Source code

The source code is available from my git repository:

git clone https://code.mathr.co.uk/kalles-fraktaler-2.git
cd kalles-fraktaler-2
git checkout master       # for Karl's original upstream
git checkout kf-2.12      # for oldest stable branch
git checkout kf-2.13      # for older stable branch
git checkout kf-2.14      # for old stable branch
git checkout kf-2.15      # for current development
git tag -l                # list available release tags

Build instructions are in the README.md that accompanies the source code, and available online in the manual for Linux and Windows.


I benchmarked with 6 Mandelbrot power 2 locations at various depths, testing each of double, scaled double, long double. Still looking for locations to benchmark scaled long double (deeper than 1e4900 or so) and floatexp (deeper than 1e9800 or so), and formulae other than power 2 Mandelbrot. Please send me locations that you are happy for me to put into the repository for benchmarking.

These results are with a smaller version of the benchmark suite found in my git repository: I only tested 'fast' settings (with both settings for the Derivatives field for kf-2.13 branch, see D0 and D1 tags), and only with an image size of '512x512'. I tested on two machines, one laptop 'latte' (Intel Core 2 Duo P7550) and one desktop 'eiskaffee' (AMD Ryzen 7 2700X).

If you want to contribute results for your machine, let me know and I can guide you through the process.

WINE Benchmarks

I don't have Windows, so these benchmarks were run in WINE (the performance of kf-2.11.1 is abysmal in WINE because of a single threaded wineserver or something along those lines). These are all with the 64bit versions. The timings are real/user/sys, which means the elapsed wall-clock time, the total CPU time for all threads, and then kernel time for the process.

2.11.136m46 / 24m47 / 11m03(not tested yet) 6m42 /  9m52 /  0m491m35 /  5m44 / 0m04
2.13.4 D0 6m55 / 10m17 /  0m471m38 /  6m30 / 0m05
2.13.4 D110m25 / 19m22 /  0m151m09 / 12m51 / 0m01

Windows Benchmarks

TODO. As I don't have Windows, you sending me benchmark results would be especially appreciated. Also if anyone is using WINE on Mac OS X, if that is a thing.

Here are images of some of the formulas available:

(back to top)