Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

awk '
BEGIN {
	OFS = "\t"
	print "     new      old   new/old"
	print ""
}
/differ/
/:$/ {	name = $1; cnt = 0; next }
$1 ~ /user|sys/ {
	n = split($2, x, "m")	# 0m0.23s
	if (n == 1)
		time[cnt] += x[1]
	else
		time[cnt] += 60 * x[1] + x[2]
}
$1 ~ /sys/ {
	cnt++
	if (cnt == 2)
		dump()
}
function dump() {
	old = time[1]
	new = time[0]
	if (old > 0) {
		printf "%8.2f %8.2f %8.3f  %s\n", new, old, new/old, name
		rat += new/old
	}
	nrat++
	totnew += new
	totold += old
	time[0] = time[1] = cnt = 0
}
END {
	print ""
	printf "%8.2f %8.2f\n\n", totnew, totold
	printf "avg new/old   = %.3f\n", rat/nrat
	printf "total new/old = %.3f\n", totnew/totold
	print nrat " tests"
}
' $*