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.
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.