HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //home/ubuntu/neovim/.deps/build/src/treesitter/script/benchmark
#!/usr/bin/env bash

set -e

function usage {
  cat <<EOF
USAGE

  $0  [-h] [-l language-name] [-e example-file-name] [-r repetition-count]

OPTIONS

  -h  print this message

  -l  run only the benchmarks for the given language

  -e  run only the benchmarks that parse the example file with the given name

  -r  parse each sample the given number of times (default 5)

  -g  debug

EOF
}

mode=normal

while getopts "hgl:e:r:" option; do
  case ${option} in
    h)
      usage
      exit
      ;;
    g)
      mode=debug
      ;;
    e)
      export TREE_SITTER_BENCHMARK_EXAMPLE_FILTER=${OPTARG}
      ;;
    l)
      export TREE_SITTER_BENCHMARK_LANGUAGE_FILTER=${OPTARG}
      ;;
    r)
      export TREE_SITTER_BENCHMARK_REPETITION_COUNT=${OPTARG}
      ;;
    *)
      usage
      exit 1
      ;;
  esac
done

if [[ $mode == debug ]]; then
  test_binary=$(
    cargo bench benchmark -p tree-sitter-cli --no-run --message-format=json 2> /dev/null |
    jq -rs 'map(select(.target.name == "benchmark" and .executable))[0].executable'
  )
  env | grep TREE_SITTER
  echo "$test_binary"
else
  exec cargo bench benchmark -p tree-sitter-cli
fi