Thread overview
[Issue 17210] DMD's Failure to Inline Calls in std.array.Appender.put Cause 3x Slowdown
Feb 20, 2017
Jack Stouffer
Feb 21, 2017
ZombineDev
Mar 03, 2017
Jack Stouffer
Dec 17, 2022
Iain Buclaw
February 20, 2017
https://issues.dlang.org/show_bug.cgi?id=17210

--- Comment #1 from Jack Stouffer <jack@jackstouffer.com> ---
Created attachment 1637
  --> https://issues.dlang.org/attachment.cgi?id=1637&action=edit
Appender Benchmark

--
February 21, 2017
https://issues.dlang.org/show_bug.cgi?id=17210

ZombineDev <petar.p.kirov@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |performance
                 CC|                            |petar.p.kirov@gmail.com

--
March 03, 2017
https://issues.dlang.org/show_bug.cgi?id=17210

--- Comment #2 from Jack Stouffer <jack@jackstouffer.com> ---
BTW, making this @safe by changing the manual code to

            static if (isBasicType!U)
            {
                auto d = (() @trusted => _data.arr.ptr[0 .. len + 1])();
                d[len] = cast(Unqual!T) item;
                _data.arr = d;
            }

makes the code twice as slow as the other manual version

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=17210

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P2

--