[vspline] 48/72: documentation

Kay F. Jahnke kfj-guest at moszumanska.debian.org
Sun Jul 2 09:02:42 UTC 2017


This is an automated email from the git hooks/post-receive script.

kfj-guest pushed a commit to branch master
in repository vspline.

commit aaaedc2833767d33bbf35cb7b59c583456685703
Author: Kay F. Jahnke <kfjahnke at gmail.com>
Date:   Thu Apr 20 11:51:43 2017 +0200

    documentation
---
 README.rst | 45 +++++++++++++--------------------------------
 1 file changed, 13 insertions(+), 32 deletions(-)

diff --git a/README.rst b/README.rst
index 20e3621..feaf541 100644
--- a/README.rst
+++ b/README.rst
@@ -69,7 +69,7 @@ On the evaluation side I provide
 - evaluation of nD arrays of coordinates (generalized remap() function)
 - coordinate-transformation based remap function
 
-The code at the very core of my B-spline coefficient generation code evolved from the code by Philippe Thévenaz which he published here_, with some of the boundary condition treatment code derived from formulae which Philippe Thévenaz communicated to me. Next I needed code to handle multidimensional arrays in a generic fashion in C++. I chose to use Vigra_. Since my work has a focus on signal (and, more specifically image) processing, it's an excellent tool, as it provides a large body o [...]
+The code at the very core of my B-spline coefficient generation code evolved from the code by Philippe Thévenaz which he published here_, with some of the boundary condition treatment code derived from formulae which Philippe Thévenaz communicated to me. Next I needed code to handle multidimensional arrays in a generic fashion in C++. I chose to use Vigra_. Since my work has a focus on signal (and, more specifically image) processing, it's an excellent tool, as it provides a large body o [...]
 
 I did all my programming on a Kubuntu_ system, running on an intel(R) Core (TM) i5-4570 CPU, and used GNU gcc_ 5.4.0 and clang_ 3.8.0 to compile the code in C++11 dialect. While I am confident that the code runs on other CPUs, I have not tested it with other compilers or operating systems (yet).
 
@@ -104,46 +104,27 @@ TODO: construction site! link here to static HTML once it's online
 Speed
 -----
 
-While performance will vary widely from system to system and between different compiles, I'll quote some measurements from my own system. I include benchmarking code (roundtrip.cc in the examples folder). Here are some measurements done with "roundtrip", working on a full HD (1920*1080) RGB image, using single precision floats internally - the figures are averages of ten runs:
+While performance will vary widely from system to system and between different compiles, I'll quote some measurements from my own system. I include benchmarking code (roundtrip.cc in the examples folder). Here are some measurements done with "roundtrip", working on a full HD (1920*1080) RGB image, using single precision floats internally - the figures are averages of several runs:
 
 testing bc code MIRROR spline degree 3
-
-avg 10 x prefilter:........................ 13.500000 ms
-
-avg 10 x remap1 from pre-split coordinates: 62.599998 ms
-
-avg 10 x remap1 from unsplit coordinates:.. 69.099998 ms
-
-avg 10 x remap with internal spline:....... 88.199997 ms
-
-avg 10 x remap with functor & internal bspl 90.599998 ms
-
-avg 10 x remap with functor & external bspl 70.500000 ms
-
+avg 32 x prefilter:........................ 13.093750 ms
+avg 32 x remap from unsplit coordinates:... 59.218750 ms
+avg 32 x remap with internal spline:....... 75.125000 ms
+avg 32 x index_remap ...................... 57.781250 ms
 
 testing bc code MIRROR spline degree 3 using Vc
+avg 32 x prefilter:........................ 9.562500 ms
+avg 32 x remap from unsplit coordinates:... 22.406250 ms
+avg 32 x remap with internal spline:....... 35.687500 ms
+avg 32 x index_remap ...................... 21.656250 ms
 
-avg 10 x prefilter:........................ 9.600000 ms
-
-avg 10 x remap1 from pre-split coordinates: 20.000000 ms
-
-avg 10 x remap1 from unsplit coordinates:.. 21.299999 ms
-
-avg 10 x remap with internal spline:....... 37.000000 ms
-
-avg 10 x remap with functor & internal bspl 37.599998 ms
-
-avg 10 x remap with functor & external bspl 21.700001 ms
-
-As can be seen from these test results, using Vc on my system speeds evaluation up a good deal. When it comes to prefiltering, a lot of time is spent buffering data to make them available for fast vector processing. The time spent on actual calculations is much less. Therefore prefiltering for higer-degree splines doesn't take much more time (when using Vc):
+As can be seen from these test results, using Vc on my system speeds evaluation up a good deal. When it comes to prefiltering, a lot of time is spent buffering data to make them available for fast vector processing. The time spent on actual calculations is much less. Therefore prefiltering for higher-degree splines doesn't take much more time (when using Vc):
 
 testing bc code MIRROR spline degree 5 using Vc
-
-avg 10 x prefilter:........................ 11.000000 ms
+avg 32 x prefilter:........................ 10.687500 ms
 
 testing bc code MIRROR spline degree 7 using Vc
-
-avg 10 x prefilter:........................ 12.700000 ms
+avg 32 x prefilter:........................ 13.656250 ms
 
 Using double precision arithmetics, vectorization doesn't help so much, and prefiltering is actually slower on my system when using Vc. Doing a complete roundtrip run on your system should give you an idea about which mode of operation best suits your needs.
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/vspline.git



More information about the debian-science-commits mailing list