Add lookup caching and absolute path checking to is_exe_in_path().
Review Request #11526 — Created March 15, 2021 and submitted — Latest diff uploaded
Every time we call
is_exe_in_path()
, it must re-scan the$PATH
.
It's not a big performance issue, but we do look up some of the same
binaries more than once.This change addresses this by allowing
is_exe_in_path()
to take a
cache
parameter, which is a dictionary matching names to found paths
(orNone
, if not found). It also prevents a lookup if the path
provided is an absolute path.Really, though, this is laying some groundwork for some improved
dependency checking, where the cache will be reused for looking up
binary files at both dependency resolution and process execution time.
Unit tests passed.
Made use of this in the upcoming dependency change.