From 48d4969f625e3bc9e3c937f6f618171b863cd5aa Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Fri, 10 Jun 2022 12:45:56 +0300 Subject: [PATCH] Debug WIP: Converged static analysis benchmarks into one file --- .../workflows/static-analysis-cachegrind.yml | 96 ------------------- .github/workflows/static-analysis.yml | 12 ++- 2 files changed, 11 insertions(+), 97 deletions(-) delete mode 100644 .github/workflows/static-analysis-cachegrind.yml diff --git a/.github/workflows/static-analysis-cachegrind.yml b/.github/workflows/static-analysis-cachegrind.yml deleted file mode 100644 index d5b73505..00000000 --- a/.github/workflows/static-analysis-cachegrind.yml +++ /dev/null @@ -1,96 +0,0 @@ -name: Luau static file analysis (CacheGrind) - -on: - push: - branches: - - "feat/add-static-file-luau-analyze" - # pull_request: - # paths-ignore: - # - "docs/**" - # - "papers/**" - # - "rfcs/**" - # - "*.md" - # - "prototyping/**" - -jobs: - benchmarks-run: - name: Run ${{ matrix.bench.title }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] - engine: - - { channel: stable, version: latest } - bench: - - { - script: "run-analyze-cachegrind", - timeout: 12, - title: "Luau Analyze", - cachegrindTitle: "Performance", - cachegrindIterCount: 20, - } - - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v3 - with: - token: "${{ secrets.BENCH_GITHUB_TOKEN }}" - - - name: Build Luau - run: make config=release luau luau-analyze - - - uses: actions/setup-python@v3 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install python dependencies - run: | - pip3 install requests - pip3 install numpy scipy matplotlib ipython jupyter pandas sympy nose - - - name: Install valgrind - run: | - sudo apt-get install valgrind - - - name: Run ${{ matrix.bench.title }} (Cold Cachegrind) - run: sudo bash ./scripts/run-with-cachegrind.sh python ./bench/measure_time.py "${{ matrix.bench.cachegrindTitle}}Cold" 1 ./build/release/luau-analyze bench/static_analysis/LuauPolyfillMap.lua | tee ${{ matrix.bench.script }}-output.txt - - # - name: Run ${{ matrix.bench.title }} (Warm Cachegrind) - # run: sudo bash ./scripts/run-with-cachegrind.sh python "./bench/measure_time.py ./build/release/luau-analyze bench/static_analysis/LuauPolyfillMap.lua" "${{ matrix.bench.cachegrindTitle}}" 2 | tee ${{ matrix.bench.script }}-output.txt - - - name: Checkout Benchmark Results repository - uses: actions/checkout@v3 - with: - repository: ${{ matrix.benchResultsRepo.name }} - ref: ${{ matrix.benchResultsRepo.branch }} - token: ${{ secrets.BENCH_GITHUB_TOKEN }} - path: "./gh-pages" - - - name: Store ${{ matrix.bench.title }} result - uses: Roblox/rhysd-github-action-benchmark@v-luau - with: - name: ${{ matrix.bench.title }} - tool: "benchmarkluau" - - gh-pages-branch: "main" - output-file-path: ./${{ matrix.bench.script }}-output.txt - external-data-json-path: ./gh-pages/dev/bench/data.json - alert-threshold: 150% - fail-threshold: 200% - fail-on-alert: true - comment-on-alert: true - comment-always: true - github-token: ${{ secrets.GITHUB_TOKEN }} - - - name: Push benchmark results - if: github.event_name == 'push' - run: | - echo "Pushing benchmark results..." - cd gh-pages - git config user.name github-actions - git config user.email github@users.noreply.github.com - git add ./dev/bench/data.json - git commit -m "Add benchmarks results for ${{ github.sha }}" - git push - cd .. diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml index 83ac4885..03687796 100644 --- a/.github/workflows/static-analysis.yml +++ b/.github/workflows/static-analysis.yml @@ -50,8 +50,18 @@ jobs: python -m pip install requests python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose + - name: Install valgrind + run: | + sudo apt-get install valgrind + - name: Run Luau Analyze on static file - run: python ./bench/measure_time.py ./build/release/luau-analyze bench/static_analysis/LuauPolyfillMap.lua | tee -a ${{ matrix.bench.script }}-output.txt + run: python ./bench/measure_time.py ./build/release/luau-analyze bench/static_analysis/LuauPolyfillMap.lua | tee ${{ matrix.bench.script }}-output.txt + + - name: Run ${{ matrix.bench.title }} (Cold Cachegrind) + run: sudo bash ./scripts/run-with-cachegrind.sh python ./bench/measure_time.py "${{ matrix.bench.cachegrindTitle}}Cold" 1 ./build/release/luau-analyze bench/static_analysis/LuauPolyfillMap.lua | tee -a ${{ matrix.bench.script }}-output.txt + + - name: Run ${{ matrix.bench.title }} (Warm Cachegrind) + run: sudo bash ./scripts/run-with-cachegrind.sh python ./bench/measure_time.py "${{ matrix.bench.cachegrindTitle}}" 1 ./build/release/luau-analyze bench/static_analysis/LuauPolyfillMap.lua | tee -a ${{ matrix.bench.script }}-output.txt - name: Checkout Benchmark Results repository uses: actions/checkout@v3