Re:A fun optimization trick from rsync
by blux on Monday October 29, 2018 @04:00AM
(#18325725)
In case performance is all you are after, this has much less potential for inlining than the rsync implementation has.
[ Parent
| on HN ]
True, but for rsync's case of setting the mtime of a file, performance of this logic is utterly insignificant.
"Everything is fast for small n." -Knuth.
While syncing some million files, I'm sure it'll have an impact tho.
P.S.: Yes, we use it for a million files, regularly.
it's probably not noticeable for a million files
the syscall is going to be many, many orders of magnitude slower than the difference between a direct and an indirect call
IIRC, switch statements bigger than a certain sizes are compiled to jump tables. So it's just a static jump after the code finds a working method.
In theory, it's a very cheap piece of assembly after that point.