This commit is contained in:
John Cupitt 2013-11-29 22:00:13 +00:00
parent b77b4fba0f
commit b619a8cc04
2 changed files with 2 additions and 91 deletions

89
TODO
View File

@ -4,95 +4,6 @@
'\''gdouble'\'' is invalid or out of range for property '\''m1'\'' of
type '\''gdouble'\''
LabQ2sRGB: coding '\''labq'\'' only
:wq
- try disabling turbo-boost?
see http://blog.tube42.se/?p=1225
for i in {0..3}; do sudo cpufreq-set -f 2.5GHz -c $i; done
-r doesn't seem to work
verify with
cpufreq-info | more
- lock CPUs at 2.5GHz
$ time vips sharpen k2.jpg x.jpg --radius 20 --vips-concurrency=1
real 0m1.687s
user 0m1.694s
sys 0m0.028s
$ time vips sharpen k2.jpg x.jpg --radius 20 --vips-concurrency=2
real 0m0.967s
user 0m1.876s
sys 0m0.028s
1.75x speedup
$ time vips sharpen k2.jpg x.jpg --radius 20 --vips-concurrency=4
real 0m0.864s
user 0m3.175s
sys 0m0.060s
1.95x speedup
- floating CPUs
$ time vips sharpen k2.jpg x.jpg --radius 20 --vips-concurrency=1
real 0m1.395s
user 0m1.414s
sys 0m0.016s
$ time vips sharpen k2.jpg x.jpg --radius 20 --vips-concurrency=2
real 0m0.841s
user 0m1.626s
sys 0m0.028s
1.65x speedup
$ time vips sharpen k2.jpg x.jpg --radius 20 --vips-concurrency=4
real 0m0.755s
user 0m2.759s
sys 0m0.048s
1.85x speedup
1.687 vs 1.395 is about a 20% speedup ... turbo-boost!
$ time vips sharpen k2.v x.v --radius 20 --vips-profile
recording profile in vips-profile.txt
real 0m1.187s
user 0m4.167s
sys 0m0.116s
$ vipsprofile
reading from vips-profile.txt
loaded 3781 events
last time = 1.120263
name alive wait% work% unknown%
worker 20 1.1 0.19 98.7 1.09
worker 21 1.1 0.0292 98.1 1.9
worker 22 1.1 0.0228 98 1.96
worker 23 1.1 0.124 97.9 1.94
wbuffer 24 1.1 98.9 1.14 0.00236
wbuffer 25 1.1 98.9 1.15 0.00209
main 26 1.2 93.5 0 6.54
writing to vips-profile.svg
$ eog vips-profile.svg
- seen some leaks from

View File

@ -37,7 +37,7 @@
* 19/6/13
* - faster --centre logic, thanks Kacey
* 25/6/13
* - ping classes beore starting workers, see comment below, thanks
* - ping classes before starting workers, see comment below, thanks
* Kacey
*/
@ -1181,7 +1181,7 @@ vips_class_ping( VipsObjectClass *class, void *dummy )
* operations it uses have not all been used previously, they can run their
* class_init in parallel.
*
* This should be safe, but seems not to be for reasons I don't understand.
* This should be safe but seems not to be for reasons I don't understand.
* For now, just ping all classes from the main thread before we set the
* workers going.
*