On 20 Feb 2003, at 8:14, Robert Collins <[EMAIL PROTECTED]> wrote: > The problem I have is that I need to profile routines that reenter.
maybe we should extend xprof so that recursive enter is counted but does not restart clock? Then, combined time spent in recursive call is shared between invocations, much like prof is doing. Full recursion tracking would be overkill, though. > > Also note that things change dramatically > > when cpu becomes a bottleneck and there are thousands of FDs open. > > Sure. one more thing. prof needs to run with minimal compiler optimisations, while you want to profile with max optimisations in effort. Many short sections of frequently used code can have dramatic impact. > > I'd focus of profiling when cpu usage is at ~100%. Which shows me that > > most problems we have are in comm_poll and acls (my workload). > > To be gained - ~ 15-40% > > Sounds like my acl cache concept is actually fairly key then. Care to > send me your acl + access rules offline (so I can validate that it's > general acl processing that needs improvement? There's nothing special in my acls. just simple src acls for some 20-30 prefixes. max I've seen was ~10% of walltime, not sure what kind of acls, we have ~4-6 siblings that generate quite alot of ICP traffic. In all, we are doing ~100-200 http req/sec per cachebox. Imo, bad is that we always check all acls for same client-ip even though its damn sure outcome will be exactly same every time. Depending on acls thats not always the case, but for some most commonly used setups there could be some nice shortcut. ------------------------------------ Andres Kroonmaa <[EMAIL PROTECTED]> CTO, Microlink Data AS Tel: 6501 731, Fax: 6501 725 P�rnu mnt. 158, Tallinn 11317 Estonia
