[m-rev.] for review and benchmarking: speed up file name creation in write_deps_file.m

Julien Fischer jfischer at opturion.com
Thu Sep 7 15:23:20 AEST 2023


On Thu, 7 Sep 2023, Peter Wang wrote:

>> Julien, can you please have a look at the comment on
>> dir.relative_path_name_from_components? It implies
>> that the predicate allows the construction of pathnames such as
>> a/b/c/d from ["a", "b", "c", "d"], but does NOT allow
>> the construction of the same pathname from ["a/b/c", "d"],
>> even though the code does the right thing anyway.
>> The relationship of that code, which merely adds
>> the dir separator char between the components,
>> and the / predicate, which does a lot more,
>> should also be better documented.
>
> I introduced relative_path_name_from_components specifically to be fast
> when you KNOW the list elements are simple directory components, and you
> only want a relative path name. Directory separators, drive letters, ., ..,
> and any other stuff that dir./ tries to deal with are out of scope as it
> would slow down relative_path_name_from_components for the case that is
> it designed for. We can make that clearer in the documentation as you
> say.

I aslo suggest renaming it to: unsafe_relative_path_from_components.
(And maybe adding a safe version that does check the components.)

Julien.


More information about the reviews mailing list