Buduję swój własny ROM dla Androida. Aby go zbudować, muszę biec
mka -j8 bacon
Chciałem jednak zmierzyć czas potrzebny na jego zbudowanie, więc wykorzystałem
/usr/bin/time -f "User\t%U\nSys\t%S\nReal\t%E\nCPU\t%P" mka -j8 bacon
To nie zadziała, bo to mówi
/usr/bin/time: cannot run mka: No such file or directory
Doceniamy wszelką pomoc w obejściu tego problemu! Używam Xubuntu.
Edytować:
Z jakiegoś powodu użycie make zamiast mka działa, jednak lepsze jest użycie mka .
/usr/bin/time -f "User\t%U\nSys\t%S\nReal\t%E\nCPU\t%P" make -j8 bacon
Edycja 2: ze strony cyanogenmod
Wywołanie
$ source build/envsetup.sh
lub$ . build/envsetup.sh
z poziomu powłoki uruchamia skrypt envsetup.sh w katalogu kompilacji. envsetup.sh dodaje wiele funkcji do środowiska kompilacji, z których najważniejsze są wymienione poniżej.
source build/evnsetup.sh
to polecenie, które uruchamiam przed wykonaniem czasu. Jedną z tych funkcji dodanych przez evnsetup.sh jest to mka
, czy można to wywołać z poziomu time
polecenia?
Edycja 3: Wyjście typu mka
$ type mka
mka is a function
mka ()
{
case `uname -s` in
Darwin)
make -j `sysctl hw.ncpu|cut -d" " -f2` "$@"
;;
*)
schedtool -B -n 1 -e ionice -n 1 make -j$(cat /proc/cpuinfo | grep "^processor" | wc -l) "$@"
;;
esac
}
source build/evnsetup.sh
w miejscu, w którym chcesz zadzwonić time mka -j8 bacon
, możesz opublikować wynik polecenia type mka
?