No-op ivy resolve is ~100ms cheaper (#5389)
No-op ivy resolve is ~100ms cheaper (#5389)

Right now, creating an executor can take as much as 150ms. Instead, only
create the executor if it's actually needed.

This is a bit of an abstraction leak, but 150ms is non-trivial (and we
have a *lot* of this kind of 150ms kicking about, which add up to
several seconds).
jsirois/pants,baroquebobcat/pants,twitter/pants,foursquare/pants,UnrememberMe/pants,tdyas/pants,baroquebobcat/pants,foursquare/pants,tdyas/pants,pantsbuild/pants,wisechengyi/pants,foursquare/pants,UnrememberMe/pants,UnrememberMe/pants,pantsbuild/pants,tdyas/pants,wisechengyi/pants,tdyas/pants,twitter/pants,baroquebobcat/pants,twitter/pants,UnrememberMe/pants,wisechengyi/pants,benjyw/pants,benjyw/pants,wisechengyi/pants,pantsbuild/pants,tdyas/pants,baroquebobcat/pants,UnrememberMe/pants,jsirois/pants,wisechengyi/pants,jsirois/pants,twitter/pants,foursquare/pants,baroquebobcat/pants,pantsbuild/pants,benjyw/pants,wisechengyi/pants,baroquebobcat/pants,tdyas/pants,tdyas/pants,twitter/pants,foursquare/pants,wisechengyi/pants,benjyw/pants,UnrememberMe/pants,baroquebobcat/pants,benjyw/pants,UnrememberMe/pants,baroquebobcat/pants,benjyw/pants,twitter/pants,tdyas/pants,foursquare/pants,foursquare/pants,benjyw/pants,UnrememberMe/pants,baroquebobcat/pants,pantsbuild/pants,foursquare/pants,pantsbuild/pants,tdyas/pants,foursquare/pants,twitter/pants,wisechengyi/pants,wisechengyi/pants,UnrememberMe/pants,pantsbuild/pants,twitter/pants,twitter/pants