Summary: | Excruciatingly slow loading of certain profiles | ||
---|---|---|---|
Product: | [Developer tools] kcachegrind | Reporter: | Szczepan Hołyszewski <rulatir> |
Component: | general | Assignee: | Josef Weidendorfer <josef.weidendorfer> |
Status: | RESOLVED NOT A BUG | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Szczepan Hołyszewski
2020-04-29 11:25:43 UTC
Allright, it seems that Xdebug is indeed generating negative costs in some cases. Seems related to this: https://bugs.xdebug.org/view.php?id=357 (even though that one is reported against Windows and I am on Linux). I would still appreciate an advice as to where I should report the stderr consumer slowness. UPDATE: Xdebug's author explains that those negative costs are places where memory is freed. It is definitely part of the file format, and if kcachegrind cannot make sense of this, then it should silently ignore that field. Spamming stderr with warnings is definitely a defect. Profiles seem to be loading quickly now, so it seems to be fixed one way or another. Sorry, just saw that now. It is certainly possible to hide such loading error messages e.g. after 10 loading errors were detected. But then it makes sense to just stop and tell the user that the file cannot be loaded due to errors. Not sure this is wanted here. For clarification: negative values definitely are not part of the file format, because I designed the format and the format never changed (this obviously was before XDebug ever could generate the format). It simply makes no sense for cost metrics in a profiler to be negative. I'll look into this again, but I seem to remember the XDebug guy explaining those weren't costs per se, but memory usage changes, which can be negative if a call ends up freeing more memory than it allocates. |