The splitVector command internally uses PlanExecutor::YIELD_AUTO in order to enforce automatic yielding. The plan may yield on any call to getNext() if this is non-NULL. This is used to avoid competition for I/O resources. Basically, we could say that they are slow by design to not interfere with application traffic.
When a splitVector command takes more than 100ms, the default slowMS, it is logged as a W message. Since the query itself is designed to be slower than usual, having a splitVector which needs more than 100ms could be common on some environments and therefore not an indication of any problem.
We should lower the splitVector slow query logging by either lowering the threshold for slow queries or by logging it as Information rather than as Warning.