File tree Expand file tree Collapse file tree 1 file changed +15
-0
lines changed
pyperformance/data-files/benchmarks/bm_xdsl Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change 44``get_constant_folding_module()`` function, which is then transformed by the
55``xdsl.transforms.test_constant_folding.TestConstantFoldingPass`` xDSL
66transformation 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
924import random
You can’t perform that action at this time.
0 commit comments