Allocatoin policy in Phobos - Was: Vote for std.process

Manu turkeyman at gmail.com
Fri Apr 12 19:36:36 PDT 2013


On 13 April 2013 03:51, Steven Schveighoffer <schveiguy at yahoo.com> wrote:

> On Fri, 12 Apr 2013 13:37:50 -0400, Walter Bright <
> newshound2 at digitalmars.com> wrote:
>
>  On 4/12/2013 5:52 AM, Manu wrote:
>>
>>> Just to be clear, I'm not arguing optimisation for performance here, I'm
>>> arguing
>>> intolerance for __unnecessary__ allocations as a policy, or at least a
>>> habit.
>>> There's a whole separate thread on the topic of fighting unnecessary
>>> garbage,
>>> and having the ability to use D with strict control over the GC and/or
>>> allocation in general.
>>>
>>> If std functions have no reason to allocate, why should they?
>>>
>>
>> Absolutely right. All phobos functions should not allocate unless
>> absolutely necessary.
>>
>
> Define "absolutely."  For example, there was an objection to accepting an
> AA as an "environment" map to std.process.spawnX functions because even
> though reading the AA would not require allocation, allocation would
> certainly be required to build the AA.  Is that acceptable?  Certainly we
> could invent a new non-allocating map type and accept that instead.
>
> I think we need clearer lines drawn here, if they are to be respected.
>

Great! I was raising the issue, with the intent to open it for discussion.

I never said an AA was intrinsically bad, only that it was impossible to
call the function with an environment without allocating, ie, there is no
way to pass a literal, and it's just being parsed and piped straight
through to a system call, seems redundant to me.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20130413/f9b517e6/attachment-0001.html>


More information about the Digitalmars-d mailing list