Next in Review Queue: The New std.path
torhu
no at spam.invalid
Mon Jul 18 11:47:20 PDT 2011
On 18.07.2011 15:16, Lars T. Kyllingstad wrote:
> On Sun, 17 Jul 2011 12:30:39 +0200, torhu wrote:
...
>> joinPath also uses .idup, thus always allocates. Maybe there could be a
>> documented allocation policy for the module as a whole? Copy-on-write
>> used to be the general rule for Phobos, don't know if that's true
>> anymore. For most of the functions in this module, even a single heap
>> allocation could be more expensive than the rest of what they do.
>
> True. I've tried keeping allocations to a minimum. If you see other
> places where an allocation could be avoided (besides the idups), please
> let me know.
>
> I'm not sure what you mean by copy-on-write in this case. The functions
> in this module never modify the input arrays.
Sorry, don't know why I thought of COW in this case. Don't heap
allocate if you don't need to, was what I meant. Which was because
.idup was used, so nevermind that now :)
>
>
>> I've read the discussions about the function names, but I still dare to
>> make a suggestion of my own. I feel like joinPath is a bit iffy,
>> shouldn't it be plural somehow? What it does is to create a path by
>> putting pieces together, some paths in their own right, some not. My
>> suggestion is to simply call it buildPath.
>
> Good point. joinPaths would be another option.
I didn't suggest joinPaths, because the inputs are not always paths,
generally you join things like a path to a directory together with just
a filename. Maybe it's ok to call it all just 'paths', I don't know.
But the output is commonly a path, hence buildPath. Would be
interesting to know what other people think, though.
More information about the Digitalmars-d
mailing list