Size: a a a

2021 June 08

AB

Andrey Bukhanovsky in dlang.ru
ok, спасибо!
источник

Т

Тающий звук... in dlang.ru
Вот это "~=" тоже массив копирует постоянно в новый более большой, в который пихает последний элемент
источник

AB

Andrey Bukhanovsky in dlang.ru
а как правильнее сделать?
источник

Т

Тающий звук... in dlang.ru
Можно заранее отвести количество элементов, равное массивы, из которого выборка, а потом вернуть срез его.
источник

Т

Тающий звук... in dlang.ru
Ну это если массив, в котором выборка идёт не очень большой
источник

AB

Andrey Bukhanovsky in dlang.ru
спасибо! буду пробовать.
источник

Т

Тающий звук... in dlang.ru
Можно appender использовать
источник

Т

Тающий звук... in dlang.ru
Там заранее можно резервировать необходимую длину и затем пользоваться вот этим "~" без копирования массива
источник

Т

Тающий звук... in dlang.ru
источник

AB

Andrey Bukhanovsky in dlang.ru
понятно. я читать-то про резервирование - читал, но как-то не думал сильно его применять, пока в общем разибраюсь. теперь попробую. спасибо.
источник

КП

Константин Пунш... in dlang.ru
А reserve() не так работает?
источник

Т

Тающий звук... in dlang.ru
Ну я про это и писал
источник

Т

Тающий звук... in dlang.ru
Оно же в appender
источник

КП

Константин Пунш... in dlang.ru
В язык встроен reserve
источник

КП

Константин Пунш... in dlang.ru
https://dlang.org/library/object/reserve.html вот он в рантайме
источник

Т

Тающий звук... in dlang.ru
Я об этом не знал, спасибо, пригодится
источник

Т

Тающий звук... in dlang.ru
Это получается в каждом массиве хранятся дополнительные поля, типа его полного размера и используемого
источник

SG

Serg Gini in dlang.ru
блин крутая штука
единственное что когда append в array делают - обычно не знают сколько всего элементов будет (иначе бы  статик сделали)
источник

SG

Serg Gini in dlang.ru
но можно резервировать какой-то буфер наперёд потом туда аппендить более эффективно.. если кончился еще резервировать)
источник

Т

Тающий звук... in dlang.ru
Да, а как в примере выше, там можно зарезервировать _modifiers.length
источник