Skip to content

Commit 562593a

Browse files
committed
Improve docstrings
1 parent 468dbd4 commit 562593a

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

pyperformance/data-files/benchmarks/bm_xdsl/run_benchmark.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,21 @@
44
``get_constant_folding_module()`` function, which is then transformed by the
55
``xdsl.transforms.test_constant_folding.TestConstantFoldingPass`` xDSL
66
transformation pass.
7+
8+
xDSL is a Python-native compiler framework built around SSA-based intermediate
9+
representations. It re-implements many of MLIR's data structures and methods in
10+
Python. This benchmark exercises the simple pattern rewriting transformation of
11+
constant folding. This is a fair proxy for pattern rewriting transformations in
12+
general, which are a major component of MLIR-like compilers in lowering passes.
13+
14+
Pattern rewriting in both xDSL and MLIR is a pointer-chasing, unstructured
15+
workload, which makes it hard to optimise ahead-of-time. This diminishes the
16+
traditional performance advantage of ahead-of-time compiled languages such as
17+
C++ over dynamic languages such as Python -- making it an interesting benchmark.
18+
More information about the design and impact of this benchmark can be found in
19+
the Master's thesis ``Performance and Dynamism in User-extensible Compiler
20+
Infrastructures'', which is `available on GitHub
21+
<https://github.com/EdmundGoodman/masters-project>`_.
722
"""
823

924
import random

0 commit comments

Comments
 (0)