Documentation | 文档 | Contributors | Release Notes
MatxScript is an ahead of time compiler for a subset of the Python language.
pip install matxscriptimportmatximporttimeitdeffib(n: int) ->int:
ifn<=1:
returnnelse:
returnfib(n-1) +fib(n-2)
if__name__=='__main__':
fib_script=matx.script(fib)
# test on Macbook with m1 chipprint(f'Python execution time: {timeit.timeit(lambda: fib(30), number=10)}s') # 1.59sprint(f'Matx execution time: {timeit.timeit(lambda: fib_script(30), number=10)}s') # 0.03s© Bytedance Inc. Licensed under an Apache-2.0 license.
Everyone is welcomed to contribute. We value all forms of contributions, including, but not limited to:
- Code reviewing of the existing patches.
- Documentation and usage examples
- Community participation in issues.
- Code readability and developer guide
- We welcome contributions that add code comments to improve readability
- We also welcome contributions to docs to explain the design choices of the internal.
- Test cases to make the codebase more robust
- Tutorials, blog posts, talks that promote the project.
We learned a lot from the following projects when building MatxScript.
TVM: Part of MatxScript's IR and Runtime originates from TVM. We also learned and adapted some part of codegen pipeline from TVM.
Python: Part of the runtime code comes from cpython for align the semantics
Folly: We adopted the idea of FBString to design our runtime::string_core
abseil-cpp: The string_view structure and ByteHash algorithm originates from abseil
rapidjson: The json module is implemented based on rapidjson