See Good First Issue for open good first issues.
See https://github.com/alipay/fury/issues for open issues.
cd python
pytest -v -s .
cd java
mvn -T10 clean test
Run c++ tests:
bazel test $(bazel query //...)
cd go/fury
# run tests
go test -v
# run xlang tests
go test -v fury_xlang_test.go
Run all checks: bash ci/format.sh --all
docker run --rm -v $(pwd):/github/workspace ghcr.io/korandoru/hawkeye-native:v3 format
cd java
# code format
mvn spotless:apply
# code format check
mvn spotless:check
mvn checkstyle:check
cd python
# install dependencies fro styling
pip install black==22.1.0 flake8==3.9.1 flake8-quotes flake8-bugbear
# format python code
black pyfury
git ls-files -- '*.cc' '*.h' | xargs -P 5 clang-format -i
cd go/fury
gofmt -s -w .
Fury supports dump jit generated code into local file for better debug by configuring environment variables:
FURY_CODE_DIR
:The directory for fury to dump generated code. Set to empty by default to skip dump code.ENABLE_FURY_GENERATED_CLASS_UNIQUE_ID
: Append an unique id for dynamically generated files by default to avoid serializer collision for different classes with same name. Set this to false
to keep serializer name same for multiple execution or AOT
codegen.By using those environment variables, we can generate code to source directory and debug the generated code in next run.
cd python
python setup.py develop
cython: use cython --cplus -a pyfury/_serialization.pyx
to produce an annotated
html file of the source code. Then we can analyze interaction between
Python objects and Python’s C-API.
Debug https://cython.readthedocs.io/en/latest/src/userguide/debugging.html
FURY_DEBUG=true python setup.py build_ext --inplace
# For linux
cygdb build
See cpp_debug doc.
Enable core dump on Macos Monterey 12.1
/usr/libexec/PlistBuddy -c "Add :com.apple.security.get-task-allow bool true" tmp.entitlements
codesign -s - -f --entitlements tmp.entitlements /Users/chaokunyang/anaconda3/envs/py3.8/bin/python
ulimit -c unlimited
python fury_serializer.py
ls -al /cores
# Dtrace
sudo dtrace -x ustackframes=100 -n 'profile-99 /pid == 73485 && arg1/ { @[ustack()] = count(); } tick-60s { exit(0); }' -o out.stack
sudo stackcollapse.pl out.stack > out.folded
sudo flamegraph.pl out.folded > out.svg
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
Fury website are static pages hosted by github pages under https://github.com/fury-project/fury-sites.
All updates about docs under guide and benchmarks will be synced to fury-sites automatically.
If you want write a blog, or update other contents about fury website, please submit PR to fury-sites.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。