• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ICRAR / libprofit / 278 / 6
89%
master: 90%

Build:
Build:
LAST BUILD BRANCH: devel
DEFAULT BRANCH: master
Ran 18 Oct 2018 12:47PM UTC
Files 47
Run time 3s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

18 Oct 2018 09:47AM UTC coverage: 88.043% (-2.2%) from 90.275%
COMPILER=g++-6 CXXFLAGS="-coverage" LDFLAGS="-coverage"

push

travis-ci

rtobar
FFTRealTransform/FFTConvolver avoiding allocations

This is a big re-design change of these two classes, which although live
separately are very connected. A few big changes are being made in this
commit, which could have been separated in two or more different commits
but with more effort:

 * First, the FFTRealTransform class doesn't inherit from FFTTransform
anymore. In fact, the latter doesn't even exist.
 * Secondly, FFTRealTransform's forward and backward methods have a
second argument to allow callers to pass an output object where the
results of the transform can be copied to. The previous version was
always allocating a new vector, which brought some cost to the process.
 * Moreover, the forward and backward methods are templated so the
containers for double values don't necessarily have to be vectors, but
anything with size()/begin()/end() (like the Image class).
 * Finally, the FFTConvolver class is now using these new versions of
the forward/backward methods together with the existing krn_fft, ext_src
and ext_krn member variables, plus the new src_fft variable.

All these changes boil down to the fact that we no longer perform memory
allocations during FFT-based convolution. This has a notable performance
effect; for instance for a convolution of an image of 200x200 with a
kernel of 100x100 I see runtimes runtimes going down from ~5.78 to ~4.69
[ms] with no kernel fft reuse, and from ~4.25 to ~3.46 [ms] with kernel
fft reuse. When using effort=PATIENT the numbers go down from 4.73 to
3.92 [ms] and from 3.45 to 2.7 [ms] respectivelly.

Signed-off-by: Rodrigo Tobar <rtobar@icrar.org>

1539 of 1748 relevant lines covered (88.04%)

2326025.09 hits per line

Source Files on job 278.6 (COMPILER=g++-6 CXXFLAGS="-coverage" LDFLAGS="-coverage")
  • Tree
  • List 0
  • Changed 23
  • Source Changed 12
  • Coverage Changed 22
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 263
  • Travis Job 278.6
  • fb2bfee6 on github
  • Prev Job for COMPILER=g++-6 CXXFLAGS="-coverage" LDFLAGS="-coverage" on devel (#276.6)
  • Next Job for COMPILER=g++-6 CXXFLAGS="-coverage" LDFLAGS="-coverage" on devel (#279.6)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc