]> granicus.if.org Git - procps-ng/commit
top: just a small tweak to that history hash algorithm
authorJim Warner <james.warner@comcast.net>
Thu, 1 Oct 2020 05:00:00 +0000 (00:00 -0500)
committerCraig Small <csmall@dropbear.xyz>
Sun, 11 Oct 2020 06:51:49 +0000 (17:51 +1100)
commitd10c8fccc9f81dd41f89c99facbabca67f8bede8
treef298135eda1b5990c2196d9666ad5cfa94ddc476
parent3e1c00d051ae4a8319df7714d0545b4b7aa81557
top: just a small tweak to that history hash algorithm

This patch just raises the size of the hash table used
to calculate elapsed task stuff. The net result should
be less need for 'chaining' under pid hash collisions.

[ the hash scheme is intentionally kept as primitive ]
[ and, therefore, as fast as possible. it employs an ]
[ 'and' approach versus a 'mod' operation since both ]
[ yield similar distribution but the former approach ]
[ was 4 fewer cpu instructions in terms of overhead. ]

[ additionally, for hash collisions, 'chaining' uses ]
[ an array index rather than the usual pointer since ]
[ the HST_t guys may move when they are reallocated. ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
top/top.c