|[eigen] Why BTL measures CPU time?|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: [eigen] Why BTL measures CPU time?
- From: Andrea Arteaga <yo.eres@xxxxxxxxx>
- Date: Fri, 9 Mar 2012 20:51:31 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:from:date:x-google-sender-auth:message-id :subject:to:content-type; bh=zKnaz9zJw9HdWBhhpCmQSicraitnYm/Nf8hjGr/2cQQ=; b=hTGv6zowAPtTWGaVF9Y+pDdYf91dvJRtmaIXiHSw0zF5Y2hWrP2WVnXaaHH3JmIT8S OyqAdtOxZ9Mi7tlRrBHamA/RHlZyzcG6Csm7hMOPdnwh75EFtwVkWxdVUDJqZeDRL8J5 gVbYp1QGGn2rbRD0/pGJytqTre//zw64WKx6Zl4NE4tfCh/V1hxh4t61t4+QfGEP+sh4 kKdaYRjAH4tzue7UBgPq2RxgZRVeoRlKsKJh4WpziUGDRwARvAu+ehEZxN/QEjz2WLvM UMEwyXKiNG0nn10Pxo5P/d6XmSDaTPvLx+fNEPXmT+0jcdb33gtuwIF5TpxbRbL7Mzjy 8IEQ==
I was looking into the BTL because I had a problem with the
benchmarks: all the multi-threaded libraries that I tested seemed to
be slower than the respective single-threaded counterparts (e.g. atlas
VS atlas-threads, openblas VS openblas-threads,...).
So I discovered that the BTL, within the Portable_Timer is measuring
the CPU time, not the wall-clock time. This means that in the
multi-threaded case all the CPU times of the threads were summed
together, resulting in no advantage of using many threads, but rather
a disadvantage because of the overhead. Nevertheless, when benchmarked
against the wall-clock time the multi-threaded implementations are
actually faster. Why is the CPU time measured?