comp.lang.ada
 help / color / mirror / Atom feed
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?



             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