On Wednesday, 19 September 2018 at 06:34:33 UTC, Nick Sabalausky
(Abscissa) wrote:
- Does it actually, necessarily perform those additional OS
calls?
We need to expand relative paths to absolute ones, for which we
need to fetch the current directory.
- Is it really?
Is what really what? If you mean the memory allocation, we do
need a buffer to store the current directory. We also need to
canonicalize away things like \..\, though we may be able to get
away with it without allocating.
- If it actually does, are those additional, necessarily OS
calls prohibitively expensive?
They are certainly going to be less expensive that actual
filesystem operations that hit the physical disk, but it will
still be an unwanted overhead in 99.9% of cases.
In any case, the overhead is only one issue.