Think I may have discovered a serious performance flaw (Formatting ignored error message in a very tight speed-critical loop)

When I raise error messages I default to being verbose, I'll tend to format the error in such a way that even if it were to show up where a user could see it, it would be somewhat intelligible (or so I tell myself).

However, the SNMP storage mechanism is doing this type of reporting in a loop which is run tens of thousands of times to produce the summary data on group pages. The formatting results in a huge extra load in this case (where the error is going to be ignored just one level up anyway).

Too late in the day to fix it now, but it would explain why Cinemon gets faster the longer you let it run. The more modems it's scanned, the fewer times it runs into those key-errors in that inner loop, the less work it needs to do.


Comments are closed.


Pingbacks are closed.