<div dir="ltr">On 24 May 2013 15:44, Jonathan M Davis <span dir="ltr"><<a href="mailto:jmdavisProg@gmx.com" target="_blank">jmdavisProg@gmx.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Friday, May 24, 2013 15:37:39 Manu wrote:<br>
> I'd say a majority of phobos<br>
> allocations are created when passing strings through to library/system<br>
> calls.<br>
<br>
</div>That does sound probable, as toStringz will often (and unpredictably) result<br>
in allocations, and it does seem like a prime location for at least attempting<br>
to use a static array instead as you suggested. But if toStringz _wouldn't_<br>
result in an allocation, then copying to a static array would be inadvisable,<br>
so we're probably going to need a function which does toStringz's test so that<br>
it can be used outside of toStringz.<br></blockquote><div><br></div><div style>Yeah, an alloca based cstring helper which performs the zero-terminate check, then if it's not terminated, and short enough, alloca and copy, else if too long, new.</div>
<div style>I'm sure that would be a handy little template, and improve phobos a lot.</div></div></div></div>