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/heap-profile
#!/usr/bin/env bash

# Usage:
#   script/heap-profile
#
# Parse an example source file and record memory usage
#
# Dependencies:
#   * `pprof` executable:   https://github.com/google/pprof
#   * `gperftools` package: https://github.com/gperftools/gperftools

set -e

GRAMMARS_DIR="$PWD/test/fixtures/grammars"

# Build the library
make libtree-sitter.a

# Build the heap-profiling harness
clang++                                  \
  -Wno-reorder-init-list                 \
  -Wno-c99-designator                    \
  -I lib/include                         \
  -I "$GRAMMARS_DIR"                     \
  -D GRAMMARS_DIR="\"${GRAMMARS_DIR}/\"" \
  test/profile/heap.cc                   \
  -l tcmalloc                            \
  libtree-sitter.a                       \
  -o target/heap-profile

# Run the harness with heap profiling enabled.
export HEAPPROFILE="$PWD/profile"
target/heap-profile "$@"

# Extract statistics using pprof.
pprof -top -cum profile.0001.heap