Thanks to visit codestin.com
Credit goes to github.com

Skip to content

kaleidawave/depict

Repository files navigation

Depict

Depict: deterministic evaluation of performance via instruction counting.

Important

Currently QBDI only works on ARM MacOs. SDE works on Linux and Windows. Using these requires additional tools or libraries present in paths. See issues.

A tool for benchmarking!

Modes:

  • SDE (x86 only)
  • QBDI

Required dependencies

QBDI

The tool is compiled. Not sure whether QBDI is required is needed but you can get it on macos here.

- name: Get and build QBDI (macos)
  if: ${{ matrix.os == 'macos-latest' }}
  run: |
    curl https://github.com/QBDI/QBDI/releases/download/v0.12.0/QBDI-0.12.0-osx-AARCH64.pkg -L > QBDI.pkg
    sudo installer -pkg QBDI.pkg -target ~

Runtime libraries are required adjacent to the binary.

On Windows: libqbdi_tracer.dll and QBDIWinPreloader.exe are required. On MacOS: libqbdi_tracer.dylib is required. On Linux libqbdi_tracer.so is required. They should be present in the releases assets section.

SDE

This uses an external binary.

You can download it here. sde must be under PATH or SDE_PATH

You can get it on GitHub actions with the following.

- name: Setup SDE binaries (linux or windows)
  if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'windows-latest' }}
  uses: petarpetrovt/[email protected]
  with:
    environmentVariableName: SDE_PATH # default value is `SDE_PATH`
    sdeVersion: 9.58.0 # possible values: 9.58.0 (default), 9.33.0

TODO

  • Find some way to bundle the SDE and QBDI components
  • Explain difference between SDE and QBDI
  • Add wall-clock and unix-events tools
  • Get QBDI working on more platforms / backends

About

deterministic evaluation of performance via instruction counting

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published