Ulrich, Yes on the zSeries machines, the separation of code can be huge. If the data that is being updated is within 256 bytes of the instruction that is updating it, there is a huge performance impact. Moving the data to being outside of that range (or having the code "get" the storage for the data), has been shown on the zSeries to reduce cpu usage by a factor of at least 5 (that is the 1st case uses at least 5 times more cpu than the second).
On other IBM mainframes (i.e. 9675 boxes), there is also an impact, but the L1 cache is smaller, and a lower cpu impact. Peter I. Vander Woude Sr. Mainframe Engineer Harris Teeter, Inc. >>> [EMAIL PROTECTED] 08/13/2003 8:31:47 PM >>> Dave Rivers wrote: > On a per-function basis - but not within functions; because > gcc points R13 at the literal pool; which can be quite large > (and different from the code location in sufficiently large > functions.) Separating code and literal pool would appear likely to cause a net win on machines with separate i-cache and d-cache (i.e. all zSeries machines). I don't have specific measurements to prove that point, though. Bye, Ulrich -- Dr. Ulrich Weigand [EMAIL PROTECTED]
