Skip to content

Commit 8198e74

Browse files
committed
Checking in updated README file
1 parent d272837 commit 8198e74

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,24 @@
11
# mandelbrot-scripts
22
Mandelbrot checksum scripts for benchmarking Python 3.14's free-threaded interpreter
3+
4+
**Background:**
5+
These scripts implement a CPU-intensive workload for calculating a checksum for a [Mandelbrot set](https://en.wikipedia.org/wiki/Mandelbrot_set).
6+
7+
**Purpose:**
8+
These scripts were used to benchmark Python 3.14's new free-threaded interpreter against the classic GIL-enabled build for a CPU-bound workload.
9+
10+
**Files:**
11+
Several versions of the benchmarking scripts were created to test out a sequential implementation, a multi-processing implementation, and a threaded implementation. A Bash driver script to automate testing and CPU cooldown cycles is also provided.
12+
13+
The respective files are:
14+
* **mandelbrot_baseline.py** --> sequential implementation
15+
* **mandelbrot_multiprocessing.py** --> an implementation using Python's standard multiprocessing library
16+
* **mandelbrot_threading.py** --> an implementation using Python's standard threading library
17+
* **run_tests.sh** --> a Bash script to automate testing of each Python script against the GIL-enabled Python 3.14 interpreter as well as the free-threaded Python 3.14 interpreter
18+
19+
**Running the Code:**
20+
1. Ensure that your test system has [uv installed](https://docs.astral.sh/uv/getting-started/installation/)
21+
2. Clone this repo:
22+
``` bash
23+
git clone https://github.com/Roturgo/mandelbrot-scripts.git
24+
```

0 commit comments

Comments
 (0)