#! /usr/bin/env sh profile() { cargo flamegraph --bin atuin --profile profiling -- "$@" 2>/dev/null } # SPDX-SnippetBegin # SPDX-SnippetCopyrightText: 2023 mentalisttraceur (https://github.com/mentalisttraceur) # Source: https://github.com/atuinsh/atuin/issues/1188#issuecomment-1698354107 run_and_record_in_turtle() { id="$(atuin history start --author "benchmark-script" --intent "to-profile atuin itself" -- "$@")" "$@" status="$?" profile history end --exit "$status" "$id" return $status } # SPDX-SnippetEnd if [ "$#" -eq 0 ]; then echo "Not enough args" exit 2 fi cargo build --profile profiling run_and_record_in_turtle "$@" # vim: ft=sh