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

ICRAR / libprofit / 278
89%
master: 90%

Build:
Build:
LAST BUILD BRANCH: devel
DEFAULT BRANCH: master
Ran 18 Oct 2018 12:47PM UTC
Jobs 1
Files 47
Run time 4s
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

pending completion
278

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>

25 of 25 new or added lines in 3 files covered. (100.0%)

1539 of 1748 relevant lines covered (88.04%)

2326025.09 hits per line

Jobs
ID Job ID Ran Files Coverage
6 278.6 (COMPILER=g++-6 CXXFLAGS="-coverage" LDFLAGS="-coverage") 18 Oct 2018 12:47PM UTC 0
88.04
Travis Job 278.6
Source Files on build 278
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #278
  • fb2bfee6 on github
  • Prev Build on devel (#276)
  • Next Build on devel (#279)
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