From: tmoran@acm.org
Subject: puzzled re hyperthreaded performance
Date: Thu, 15 Sep 2005 00:10:43 -0500
Date: 2005-09-15T00:10:43-05:00 [thread overview]
Message-ID: <yqGdnQID8rvOn7TeRVn-jA@comcast.com> (raw)
I have a multitasking program that runs faster if I insert a "delay d;"
statement to prevent some of the multitasking overlap.
This is a version of the Shootout k-nucleotide program, which involves
a series of create/fill/lookup in hash tables, using the Ada 95 version
of Ada.Containers.Indefinite_Hashed_Maps I let the operations run in
two tasks, each with their own hash table. Memory requirement are minor.
Alt_Task.Start;
delay d;
Compute;
Alt_Task.Finish;
Alt_Task performs the same computations as Compute, reading the same
String, but sharing no other data. There are no obvious task interactions,
and I don't see any in Ada.Containers
For every additional 1.0 seconds of "d", the sequence runs about 1.5
seconds faster. This is Gnat 3.15p on W2k on a hyperthreaded Pentium
(two virtual CPUs).
Any suggestions what's going on?
next reply other threads:[~2005-09-15 5:10 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-15 5:10 tmoran [this message]
2005-09-15 6:08 ` puzzled re hyperthreaded performance jtg
2005-09-15 12:13 ` keld_nielsen_4nulspam
2005-09-15 20:44 ` tmoran
2005-09-15 21:43 ` tmoran
2005-09-19 20:21 ` Wiljan Derks
2005-09-20 0:26 ` tmoran
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox