[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: [eigen] Benchmarking
- From: Daniel Stonier <d.stonier@xxxxxxxxx>
- Date: Tue, 7 Sep 2010 15:15:48 +0900
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=/9FN6jDryfBvAPBtZ+freGcQPlARgmvHJAz5TGLnRGw=; b=m+GJBk2V33P3/V8O21cXTZKJOHWYAz2AiY8wBtRORo2vOzORXs5ZhI3d8nTfr5o5tP zxFc5DQdgtcwifdkE9f/jr+AymfAnu6E0R8s9+IcN8y4gm0FJ6LXyY6ZmzbthluQaQQU 5q+BgPoCURoSn+2ZmixkZll3rCSxTuPtZaT3k=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=AaOBUFUTnRuL4gRH3rSKWP8aWC7RLxM3E+Fxv/T7KR/rWyc1n8wFvFzg4EFNzRitu3 I9kDkJ5R/+qldch1Rvpr0sAYgKx6CG/tWrk+vX1ODF0lmcPyguLexx4VuJecaQ8jD9jS zN7Bn8Jka4ZkwKSz1CGPFii6AYVIdMZ2i2P3E=
Hi lads,
I've been trying to benchmark eigen2 and eigen3's geometry modules
recently just to get an idea of the speed we can run various
structures at, but I'm having a hard time getting consistent results
and thought you might be able to lend some advice.
Typically, I do things in the following order on a linux platform with
rt timers (ie clock_gettime(CLOCK_MONOTONIC,...))
###########################################
set the process as a real time priority posix process
select transform type
begin_loop
- fill transform with random data
- timestamp
- do a transform product
- timestamp again
- push time diff onto a queue
repeat
do some statistics
###########################################
The times I have coming out are extremely inconsistent though:
- if repeating only 100 times, the product might come out with times
of ~840-846ns one run, then sometimes 300-310ns on another run.
- if repeating 10000 times, it will run at ~840ns for a long time,
then jump down and run at 300-310ns for the remainder.
- running other tests in the loop as well (taking separate timestamps
and using multiple queues) can cause the calculation time to be very
different.
- e.g. this test alone produces results of ~600ns, mingled with
other tests it is usually ~840ns.
Some troubleshooting:
- it is not effects from multi-core as the same problems happen when
using taskset to lock it onto a single core.
- it shouldn't be from the scheduler either because it is an elevated
posix real time process.
I'm baffled. Would really love to know more about how my computer
processes in such a humanly erratic fashion and what's a good way of
testing that.
Cheers,
Daniel Stonier.
--
Phone : +82-10-5400-3296 (010-5400-3296)
Home: http://snorriheim.dnsdojo.com/
Yujin Robot: http://www.yujinrobot.com/
Embedded Control Libraries: http://snorriheim.dnsdojo.com/redmine/wiki/ecl