I am looking at possible performance optimizations in Ruby. As you can see
grasp from the mail excerpt below, the function findTagInSet() consumes
lots of time. I am thinking of making the changes as suggested by Brad. I
have questions for m5-dev members, in particular for Derek and Steve. How
did you arrive at the conclusion that findTagInSet() is a problem? What
benchmarks, profiling tools to use?
Thanks
Nilay
---------- Forwarded message ----------
Date: Mon, 20 Sep 2010 22:57:39 -0500
From: "Beckmann, Brad" <[email protected]>
To: 'Nilay Vaish' <[email protected]>
Cc: Daniel Gibson <[email protected]>
Subject: RE: Performane Optimizations in Ruby
== CacheMemory findTagInSet == Recently Steve mentioned to me that a huge
percentage of time was being spent in CacheMemory's findTagInSet function.
Right now that function uses a hashmap across the entire cache to map tags
to way ids. I think Derek recently implemented this change in hopes to
improve performance, and it might have for small caches, but I don't think
it helps for larger caches. There a couple of possible solutions: per set
hashmaps, or reordering the ways so that the MRU blocks are at the lower
ids and use a loop. I think we should investigate both solutions and see
which is better.
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev