#!/bin/sh export PYTHONPATH=${HOME}/src/pkgcore:${PYTHONPATH} export PATH=${HOME}/src/pkgcore/bin:${PATH} pkg_bench() { echo echo "categoryless lookups" echo for command in \ "paludis -q bsdiff xorg-server" \ "pquery -nv -m bsdiff -m xorg-server" \ "emerge -s bsdiff xorg-server" do echo "uncached: $command" for x in 1 2; do sudo sync echo 3 | sudo tee /proc/sys/vm/drop_caches > /dev/null { time $command &> /dev/null; } 2>&1 done echo echo "cached: $command" $command &> /dev/null for x in 1 2 3; do { time $command &> /dev/null; } 2>&1 done echo done } atom_bench() { echo echo "full atom lookups" echo for command in \ "paludis -q dev-util/bsdiff x11-base/xorg-server" \ "pquery -nv -m dev-util/bsdiff -m x11-base/xorg-server" \ "emerge -s dev-util/bsdiff x11-base/xorg-server" do echo "uncached: $command" for x in 1 2; do sudo sync echo 3 | sudo tee /proc/sys/vm/drop_caches > /dev/null { time $command &> /dev/null; } 2>&1 done echo echo "cached: $command" $command &> /dev/null for x in 1 2 3; do { time $command &> /dev/null; } 2>&1 done echo done } deep_system_bench() { echo echo "resolving deep system upgrade" echo for command in \ "paludis -pi system" \ "pmerge -Dups system" \ "emerge -Dup system" do echo "uncached: $command" for x in 1 2 3; do sudo sync echo 3 | sudo tee /proc/sys/vm/drop_caches > /dev/null { time $command &> /dev/null; } 2>&1 done echo echo "cached: $command" $command &> /dev/null for x in 1 2 3; do { time $command &> /dev/null; } 2>&1 done echo done } empty_system_bench() { echo echo "resolving empty system" echo for command in \ "paludis -pie system" \ "pmerge -Deps system" \ "emerge -Dep system" do echo "uncached: $command" for x in 1 2 3; do sudo sync echo 3 | sudo tee /proc/sys/vm/drop_caches > /dev/null { time $command &> /dev/null; } 2>&1 done echo echo "cached: $command" $command &> /dev/null for x in 1 2 3; do { time $command &> /dev/null; } 2>&1 done echo done } for x in ${*:-pkg atom deep_system empty_system}; do ${x}_bench done