On Monday, 2 May 2016 at 14:47:01 UTC, Steven Schveighoffer wrote:
On 4/29/16 6:10 AM, sigod wrote:
On Thursday, 28 April 2016 at 14:08:26 UTC, Steven Schveighoffer wrote:
On 4/28/16 8:56 AM, Jay Norwood wrote:
[...]

.reserve should make an improvement for large amount of appending,
since you pre-allocate the data.

[...]

How about `assumeSafeAppend`? Does it have any positive impact on
performance?

I don't know why you would call it. assumeSafeAppend is an expensive no-op if you have appendable array.

-Steve

For example:

auto invalid_tokens = uninitializedArray!(string[])(result.failure);
        invalid_tokens.length = 0;

        foreach (index, ref token_result; result.results) {
                if (token_result.error == "NotRegistered") {
                        invalid_tokens.assumeSafeAppend() ~= tokens[index];
                }
                else ...
        }

        // use invalid_tokens

It would've been almost perfect code if `assumeSafeAppend` wasn't very costly. Now I need to declare separate length for `invalid_tokens`, so I can assign tokens by index. Which I don't like because arrays have `length` built into them.

Reply via email to