On Jan 25, 2008 4:52 PM, Julian Seward <[EMAIL PROTECTED]> wrote:
>
> > One more question regarding helgrind performance:
> > is it possible to track only certain memory addresses in helgrind and
> > simply ignore others (i.e. don't even keep shadow values for them)?
>
> Certainly the old (2.2.0) Helgrind had a mode in which it could
> ignore stack references. That should improve performance, although
> it can be difficult to decide for sure what is and is not a stack
> reference.
Such mode could be useful in the new helgrind as well, at least for the sake
of experiment.
It isn't that hard, is it?
>
>
> I have for a while been considering a different idea, which is to take
> advantage of the facts that (1) Valgrind only runs one thread at once
> and (2) for periods of time when a thread is running and does not do
> any sync events or lock events, these state machines tend to be
> idempotent -- that is, the second and subsequent presentations of the
> same address to the state machine do not change its state.
>
> The basic idea would be to note all memory references in a small
> cache. Then, when a new reference appears, first see if it is
> already in the cache; if so ignore it. When there is a thread
> switch or synchronisation event, the cache is flushed. The core
> provides enough hints to know when this cache should be flushed.
> If the cache access is fast enough relative to the full SM, and
> enough duplicate addresses appear, this could provide a substantial
> speedup.
>
> The advantage, relative to skipping stack references, is that
> you don't lose any functionality.
>
Sounds very promising!
How many instructions are executed by scheduler between thread switches?
--kcc
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Valgrind-developers mailing list
Valgrind-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-developers