Menu

Issue in testing framework

2016-09-12
2016-09-12
  • Nikolai Vorontsov

    Hello Ihar,

    I've got simd.3.1.45.767 library, built it with VS2013SP5 in x64 mode and run all tests. Everything went fine.

    However, when I updated the TEST_EXECUTE_AT_LEAST_MIN_TIME macro to the following:

    define TEST_EXECUTE_AT_LEAST_MIN_TIME(test) \ { \ double startTime = Test::GetTime(); \ int count = 0;\ do \ { \ test; count++;\ } \ while(Test::GetTime() - startTime < Test::MINIMAL_TEST_EXECUTION_TIME); \ TEST_LOG_SS(Info, "Counts " << count);\ }

    (the idea is to compare aligned vs unaligned memory access), I've got an error in the tests:
    [6788] INFO: StretchGray2x2AutoTest - is finished successfully.

    [6788] INFO: SvmSumLinearAutoTest is started :
    [6788] INFO: Test Simd::Base::SvmSumLinear & SimdSvmSumLinear [213, 9720].
    [6788] INFO: Counts 2344
    [6788] INFO: Counts 2527
    [6788] ERROR:
    Fail comparison:
    Error at [0] : 81864.6 != 129478; (relative difference = 0.367735)!
    Stop comparison.

    [6788] INFO: SvmSumLinearAutoTest - is finished with errors!

    [6788] ERROR: ERROR! TEST EXECUTION IS TERMINATED !

    Do you have any idea why such a local changes killed the test?

    Thanks in advance,
    Nikolai

     
  • Yermalayeu Ihar

    Yermalayeu Ihar - 2016-09-12

    It doesn't surprising, because function SvmSumLinearAutoTest has parameter "count". So your macro creates new local valiable with the same name and breaks the test.

    If you want to know influence of memory alignment to performance you could use command line parameter -pa=1.

     

Anonymous
Anonymous

Add attachments
Cancel





Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.