[PATCH v1 0/2] Try to avoid some qsorts

Ian Rogers posted 2 patches 1 year, 7 months ago
tools/perf/util/comm.c | 29 ++++++++++++++++++-----------
tools/perf/util/dsos.c | 26 +++++++++++++++++++++-----
2 files changed, 39 insertions(+), 16 deletions(-)
[PATCH v1 0/2] Try to avoid some qsorts
Posted by Ian Rogers 1 year, 7 months ago
Reference count checking doesn't work well with rbtree due to the need
for counts on each child and parent edge. As such the reference count
checking changes removed rbtree and replaced them with sorted
arrays. There have been instances where sorting has been shown to be a
regression:
https://lore.kernel.org/lkml/20240521165109.708593-1-irogers@google.com/

These patches address a further 2 cases in comm and dsos, avoiding a
sort when the array is already sorted at the cost of an O(n) memmove.

Ian Rogers (2):
  perf comm str: Avoid sort during insert
  perf dsos: When adding a dso into sorted dsos maintain the sort order

 tools/perf/util/comm.c | 29 ++++++++++++++++++-----------
 tools/perf/util/dsos.c | 26 +++++++++++++++++++++-----
 2 files changed, 39 insertions(+), 16 deletions(-)

-- 
2.45.2.803.g4e1b14247a-goog
Re: [PATCH v1 0/2] Try to avoid some qsorts
Posted by Namhyung Kim 1 year, 7 months ago
On Wed, 03 Jul 2024 10:21:15 -0700, Ian Rogers wrote:

> Reference count checking doesn't work well with rbtree due to the need
> for counts on each child and parent edge. As such the reference count
> checking changes removed rbtree and replaced them with sorted
> arrays. There have been instances where sorting has been shown to be a
> regression:
> https://lore.kernel.org/lkml/20240521165109.708593-1-irogers@google.com/
> 
> [...]

Applied to perf-tools-next, thanks!

Best regards,
Namhyung