From @jangorecki:
Moreover doing keyby vs by adds an overhead, thus by should be preferred as default. Difference is not anything big (AFAIR up to 15-25%), and might depend on GForce being utilised. I understand that keyby would be consistent with how dplyr orders grouping results, but many (or even most?) of dplyr backends are not maintaining any specific order of results so that shouldn't be big deal.