mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-05-23 12:55:26 +00:00
- Move router-* folders into crates/ directory - Move profiling folder into crates/ - Update Cargo.toml workspace to include new crate locations - Add node_modules/ and package-lock.json to .gitignore - Remove node_modules directory from repository - Create new README.md with project overview and badges - Move old technical documentation to docs/TECHNICAL_PLAN.md This reorganization improves the project structure by: - Consolidating all Rust crates in the crates/ directory - Following standard Rust workspace conventions - Cleaning up root directory clutter - Providing a clear, professional README for new users
60 lines
1.8 KiB
Bash
Executable file
60 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
# Install profiling and benchmarking tools
|
|
|
|
set -e
|
|
|
|
echo "Installing Ruvector profiling tools..."
|
|
|
|
# Install perf (Linux performance tools)
|
|
if ! command -v perf &> /dev/null; then
|
|
echo "Installing perf..."
|
|
sudo apt-get update
|
|
sudo apt-get install -y linux-tools-common linux-tools-generic linux-tools-$(uname -r) || true
|
|
fi
|
|
|
|
# Install valgrind
|
|
if ! command -v valgrind &> /dev/null; then
|
|
echo "Installing valgrind..."
|
|
sudo apt-get install -y valgrind
|
|
fi
|
|
|
|
# Install heaptrack
|
|
if ! command -v heaptrack &> /dev/null; then
|
|
echo "Installing heaptrack..."
|
|
sudo apt-get install -y heaptrack || echo "heaptrack not available, skipping..."
|
|
fi
|
|
|
|
# Install flamegraph tools
|
|
if ! command -v cargo-flamegraph &> /dev/null; then
|
|
echo "Installing cargo-flamegraph..."
|
|
cargo install flamegraph
|
|
fi
|
|
|
|
# Install cargo benchmarking tools
|
|
if ! command -v cargo-criterion &> /dev/null; then
|
|
echo "Installing cargo-criterion..."
|
|
cargo install cargo-criterion || echo "cargo-criterion installation failed, using built-in criterion"
|
|
fi
|
|
|
|
# Install hyperfine for command-line benchmarking
|
|
if ! command -v hyperfine &> /dev/null; then
|
|
echo "Installing hyperfine..."
|
|
cargo install hyperfine
|
|
fi
|
|
|
|
# Install cargo-bench-cmp for comparing benchmarks
|
|
if ! command -v cargo-bench-cmp &> /dev/null; then
|
|
echo "Installing cargo-bench-cmp..."
|
|
cargo install cargo-bench-cmp || echo "cargo-bench-cmp not available, skipping..."
|
|
fi
|
|
|
|
echo "✅ Profiling tools installation complete!"
|
|
echo ""
|
|
echo "Available tools:"
|
|
echo " - perf: CPU profiling"
|
|
echo " - valgrind: Memory profiling"
|
|
echo " - heaptrack: Heap profiling"
|
|
echo " - cargo-flamegraph: Flamegraph generation"
|
|
echo " - hyperfine: Command-line benchmarking"
|
|
echo ""
|
|
echo "Note: Some tools may require sudo privileges to run."
|