#126: Speed up tests
--------------------------+-------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: enhancement | Status: new
Priority: major | Milestone: Olena 1.1
Component: Milena | Version: 1.0
Resolution: | Keywords:
--------------------------+-------------------------------------------------
Old description:
Some tests take a very long time to execute. Main
causes are:
* input image(s) are too big [[BR]] => they should be reduced
(sometimes, testing on `lena.pgm` is just too costly);
* the default, non-optimized compilation settings (`-O0 -ggdb`) produces
very inefficient code for certain algorithms [[BR]] => we should locally
increase the level of optimization (e.g., `-O1` or `-O2`) for these
tests, and '''document''' this in `Makefile.am` (explain why we
made
changes in `CXXFLAGS` for a given test). Moreover, we should not use
hard-coded flags, but rely on `configure` to discover (test) them.
We might want to make a list of lengthy tests here before solving this
ticket.
New description:
Some tests take a very long time to execute. Main causes are:
* input image(s) are too big [[BR]] => they should be reduced (sometimes,
testing on `lena.pgm` is just too costly);
* the default, non-optimized compilation settings (`-O0 -ggdb`) produces
very inefficient code for certain algorithms [[BR]] => we should locally
increase the level of optimization (e.g., `-O1` or `-O2`) for these tests,
and '''document''' this in `Makefile.am` (explain why we made
changes in
`CXXFLAGS` for a given test). Moreover, we should not use hard-coded
flags, but rely on `configure` to discover (test) them.
We might want to make a list of lengthy tests here before solving this
ticket. Here is a beginning, for directories `milena/tests/border` and
`milena/tests/morpho`. I (Roland) roughly listed tests taking more than 1
second to complete (compile time set aside):
|| '''test''' ||
'''`time` command'''
||
|| milena/border/fill || 9,47s user 0,10s system 98%
cpu 9,684 total ||
|| milena/morpho/erosion || 13,61s user 0,11s system 97%
cpu 14,026 total ||
|| milena/morpho/hit_or_miss || 2,60s user 0,11s system 96%
cpu 2,806 total ||
|| milena/morpho/meyer_wst || 5,16s user 0,11s system 97%
cpu 5,400 total ||
|| milena/morpho/approx/dilation || 12,69s user 0,10s system 98%
cpu 12,958 total ||
|| milena/morpho/approx/erosion || 13,68s user 0,07s system 97%
cpu 14,062 total ||
|| milena/morpho/closing/structural || 4,10s user 0,10s system 97%
cpu 4,318 total ||
|| milena/morpho/closing/approx/structural || 20,90s user 0,11s system 98%
cpu 21,330 total ||
|| milena/morpho/opening/structural || 4,02s user 0,09s system 96%
cpu 4,263 total ||
|| milena/morpho/opening/approx/structural || 20,56s user 0,14s system 97%
cpu 21,152 total ||
|| milena/morpho/watershed/flooding || 8,04s user 0,09s system 98%
cpu 8,250 total ||
|| milena/morpho/watershed/topological || 5,93s user 0,07s system 97%
cpu 6,150 total ||
--
Comment(by levill_r):
Add figures about tests' execution times in `milena/tests/border` and
`milena/tests/morpho`.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/126#comment:3>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.