powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Динамические массивы в Delphi XE7 - XE10
48 сообщений из 48, показаны все 2 страниц
Динамические массивы в Delphi XE7 - XE10
    #39504529
Term
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Вот с чем столкнулся, понадобился динамический массив,
раньше размер задавал с помощью SetLength но в Delphi XE10 столкнулся с тем, что этой функции нет...

нашел вот эту статью

http://www.proghouse.ru/programming/31-delphi-xe7-array

но то что вижу там в примере,

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
dynArray2: array of integer;

......................

begin

 dynArray2 := [7, 8, 9]; //Инициализация динамического массива.

end;



ну блин, так это же не динамический, это по сути тот же статический массив, только вид сбоку!
Как жить без SetLength, когда количество элементов заранее не известно???
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39504533
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Term,

это шутка что ли такая? SetLength есть во всех версиях делфи, включая Tokyo. Находится в System, с динамическими массивами работает как и полагается.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39504537
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Term> SetLength но в Delphi XE10 столкнулся с тем, что этой функции нет...

System.SetLength ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39504540
Term
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамTerm> SetLength но в Delphi XE10 столкнулся с тем, что этой функции нет...

System.SetLength ?


да вот так сработало, странно глюк видать какойто
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39504544
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит "глюк"? Ошибка выдавалась какая-то?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39504546
Term
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

сказала что не известный идетификатор, хотя в юзезах модуль был
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39504550
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TermКак жить без SetLengthМежду прочим, неплохое названия для топика было бы. Люди могли бы поделиться опытом)
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39504583
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Termсказала что не известный идетификатор,
Ты, скорее всего, опечетался при наборе кода в редакторе

Termхотя в юзезах модуль был
System? Ты так и пишешь, uses System ?
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39504616
Bred eFeM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TermКак жить без SetLength
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure SetDynArrayLength(var A: Pointer; elSize, elNum: NativeInt);
var
 ti:TDynArrayTypeInfo;
begin
 ZeroMemory(@ti, sizeOf(ti));
 ti.elSize := elSize;
 DynArraySetLength(A, @ti, 1, @elNum);
end;
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506104
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TermКак жить без SetLength, когда количество элементов заранее не известно???
Использовать список TList, TObjectList или их подвиды<Generics> в новых версиях Delphi.

Ни разу не сталкивался с реальной необходимостью использовать динамические массивы.
Если только ты не пишешь какую нибудь игру и обработку видео.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506127
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BНи разу не сталкивался с реальной необходимостью использовать динамические массивы.


Открой исходники RTL/VCL, столкнись, наконец.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506426
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BНи разу не сталкивался с реальной необходимостью использовать динамические массивы.Если размер известен заранее, то массив, если нет - TList
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506427
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, это смотря что хранить
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506429
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Valery_BНи разу не сталкивался с реальной необходимостью использовать динамические массивы.
Если размер известен заранее, то массив, если нет - TList

Я бы не стал хранить типы с управляемым временем жизни в TList, а вот в динамическом массиве - стал бы.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506431
Bred eFeM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_, TList = DynArray )
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506435
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiЯ бы не стал хранить типы с управляемым временем жизни в TListИмелось в виду TList<>
Bred eFeM, TList = DynArray )+ Grow
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506441
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Если размер известен заранее, то массив, если нет - TList
Динамический массив потому и динамический, что не нужно знать размер заранее.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506442
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_schiЯ бы не стал хранить типы с управляемым временем жизни в TListИмелось в виду TList<>
Bred eFeM, TList = DynArray )+ Grow

Мне часто приходится иметь с дело с версиями Delphi, где нет <>
Sad but true.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506458
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyДинамический массив потому и динамический, что не нужно знать размер заранее.Нифига. Потому, что размер неизвестен на этапе компиляции

Никто не мешает писать
Код: pascal
1.
SetLength(Data, Length(Data) + 1)

но что из этого получится - сам знаешь
schiМне часто приходится иметь с дело с версиями Delphi, где нет <>Боль. Я на 2006 написал свой TList, который на Add делал GetMem, а на Delete - Finalize + FreeMem. Но там под каждый управляемый тип нужно было писать своего наследника и переопределять два метода FinalizeItem и CopyItem. Ну и Get если хотелось строгой типизации
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506462
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Я посмотрю, как вы набор байтов будете в TList хранить...
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506471
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpЯ посмотрю, как вы набор байтов будете в TList хранить...Для набора байт неизвестной длины придуман TMemoryStream
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506474
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_alekcvpЯ посмотрю, как вы набор байтов будете в TList хранить...Для набора байт неизвестной длины придуман TMemoryStream

Для набора байт неизвестной длины придуман TBytes. Удобно, знаете ли.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506476
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schi_Vasilisk_пропущено...
Для набора байт неизвестной длины придуман TMemoryStream

Для набора байт неизвестной длины придуман TBytes. Удобно, знаете ли.

Т.е. array of Byte.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506479
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Нифига. Потому, что размер неизвестен на этапе компиляцииА я о чём написал?

_Vasilisk_но что из этого получится - сам знаешьНичего страшного.

_Vasilisk_Для набора байт неизвестной длины придуман TMemoryStreamДурь какая... А если мне не нужен интерфейс стрима, зачем огород-то городить?
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506481
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiTBytes. Удобно, знаете ли.На любителя. Нет, конечно, если Вас не смущает постоянные реаллоки + бешеное фрагментирование памяти, то используйте, на здоровье. А если Вы скажете, что будете реаллоцировать память постранично, так Вы и получите вот это
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
function TMemoryStream.Realloc(var NewCapacity: Longint): Pointer;
begin
  if (NewCapacity > 0) and (NewCapacity <> FSize) then
    NewCapacity := (NewCapacity + (MemoryDelta - 1)) and not (MemoryDelta - 1);
  Result := Memory;
  if NewCapacity <> FCapacity then
  begin
    if NewCapacity = 0 then
    begin
      FreeMem(Memory);
      Result := nil;
    end else
    begin
      if Capacity = 0 then
        GetMem(Result, NewCapacity)
      else
        ReallocMem(Result, NewCapacity);
      if Result = nil then raise EStreamError.CreateRes(@SMemoryStreamError);
    end;
  end;
end;

К слову, чуть ниже там же есть
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
function TBytesStream.Realloc(var NewCapacity: Longint): Pointer;
begin
  if (NewCapacity > 0) and (NewCapacity <> FSize) then
    NewCapacity := (NewCapacity + (MemoryDelta - 1)) and not (MemoryDelta - 1);
  Result := Pointer(FBytes);
  if NewCapacity <> FCapacity then
  begin
    SetLength(FBytes, NewCapacity);
    Result := Pointer(FBytes);
    if NewCapacity = 0 then
      Exit;
    if Result = nil then raise EStreamError.CreateRes(@SMemoryStreamError);
  end;
end;
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506484
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот кстати, можно ли для динамического массива выделить больше памяти чем его указаный размер.
К как при этом изменять его размер без реаллока?
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506488
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey_Vasilisk_но что из этого получится - сам знаешь
Ничего страшного.Out of memory отгребешь.

Ну сравните уже код
Код: pascal
1.
2.
3.
SetLength(Data, 0);
for i := 0 to Round(1E+6) do
  SetLength(Data, Length(Data) + 1);


Код: pascal
1.
SetLength(Data, Round(1E+6));


Код: pascal
1.
2.
3.
4.
5.
6.
7.
LStrm := TMemoryStream.Create;
try
  for i := 0 to Round(1E+6) do
    LStrm.Write(LBuf, 1);
finally
  LStrm.Free;
end;


на быстродействие и потребляемую память
Kazantsev AlexeyА если мне не нужен интерфейс стрима, зачем огород-то городить?Чтобы не писать собственный Grow-костыль
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506492
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_schiTBytes. Удобно, знаете ли.На любителя. Нет, конечно, если Вас не смущает постоянные реаллоки + бешеное фрагментирование памяти, то используйте, на здоровье.

Меня не смущает. Мне кажется, что постоянность реаллоков и бешенство фрагментирования памяти несколько преувеличены.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506493
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatВот кстати, можно ли для динамического массива выделить больше памяти чем его указаный размер.
К как при этом изменять его размер без реаллока?Можно. Если хранить отдельно выделенный и реальный размер. Что и делает TBytesStream
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506495
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatВот кстати, можно ли для динамического массива выделить больше памяти чем его указаный размер.
К как при этом изменять его размер без реаллока?
Точно так же, через SetLength() и хранить размер используемой памяти отдельно. Но фишка в том, что SetLength() использует тот же ReallocMem что и TMemoryStream и при небольших изменениях длины массива обычно не происходит копирования данных. А TStream для каждого буфера использовать довольно накладно в плане оверхеда.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506499
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Чтобы не писать собственный Grow-костыль
Обычно сценарий при использовании TBytes выглядит так:
1. Получить размер данных
2. Выделить память
3. Получить данные

или так:
1. Выделить максимально возможный размер для данных
2. Получить данные
3. Уменьшить размер по факту.

В таких случаях TMemoryStream - излишен.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506504
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpОбычно сценарий при использовании TBytes выглядит так:
1. Получить размер данных 20728743
_Vasilisk_Если размер известен заранее, то массив, если нет - TList
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506506
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_alekcvpОбычно сценарий при использовании TBytes выглядит так:
1. Получить размер данных 20728743
_Vasilisk_Если размер известен заранее, то массив, если нет - TList
Читается как "если размер известен на этапе компиляции".
Ну и второй сценарий не попадает в любом случае.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506508
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Нет, конечно, если Вас не смущает постоянные реаллоки + бешеное фрагментирование памяти, то используйте, на здоровье.
Ты сам-то проверял, прежде чем писать это?
_Vasilisk_Чтобы не писать собственный Grow-костыль
Поиграем в реаллокации
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

var

 bts     : TBytes;
 old     : NativeInt;
 oldSize : NativeInt;
 i       : Integer;
 r       : Integer;

 bts2 : TBytes;
 bts3 : TBytes;
 bts4 : TBytes;
 bts5 : TBytes;

begin

 r := 0;
 old := 0;
 oldSize := 0;

 for i := 1 to 1024 * 1024 do
  begin

   SetLength(bts, i);
   // чтобы MM жизнь мёдом не казалась...
   SetLength(bts2, i);
   SetLength(bts3, i);
   SetLength(bts4, i);
   SetLength(bts5, i);

   If old <> NativeInt(bts) Then
    begin

     inc(r);

     writeLn(i, ' -> ', i - OldSize);

     old := NativeInt(bts);
     oldSize := i;

    end;

  end;

 WriteLn('reallocations: ', r);
 ReadLn;

end.


Итого, на 1048576 операций изменения размера, реальных реаллокацуий: на FastMM - 17, на голом позиксе 57.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506510
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpТочно так же, через SetLength() и хранить размер используемой памяти отдельно.
Не, интересно именно захакать сам Array, дабы менять его длинну не вызывая Realloc-ов.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506512
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где посмотреть его структуру в памяти?
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506514
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatГде посмотреть его структуру в памяти?
Поставь дебаг на SetLength() и пошагово посмотри, там найдёшь. Примерно такая же как у старых string: -4 байта длина, потом данные. RefCount не помню есть или нет. Если хочешь хакнуть, то скорее всего получишь свой TMemoryStream, т.к. придётся писать и свою SetLength() для своего массива.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506519
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел вот:

Код: pascal
1.
2.
3.
-8  32-bit = reference-count  
-4  32-bit = length indicator (number of elements)  
0..Length * (size of element) -1 = array elements



А что там для x64?
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506526
Dunkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В TMemoryStream есть protected свойство Capacity. Однажды было проще использовать, чем Size со всеми "запоминаниями". (Было что-то типа Capacity := Trunc(примерный_размер_данных * 1.5))
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506539
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyТы сам-то проверял, прежде чем писать это?Проверял. D2006 или D7, уже не помню, поднимала Out of memory
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506541
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Проверял. D2006 или D7, уже не помню
Дельфя начиная с D2006 идёт с FasMM по дефолту.

p.s. Сперва топит за TList<>, а потом вспомнил о D7. Смешно.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39506659
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_ Я на 2006 написал свой TList, который на Add делал GetMem, а на Delete - Finalize + FreeMem.
Любые манипуляции с динамическим массивом в результате заканчиваются "своим собственным TList/TObjectList".
Этот "TMySuperList" делает всё тоже самое что и обычный TList, только
1. Реализованы такими алгоритмами, которые были актуальны для точки зрения автора на тот конкретный момент его жизни. Чаще всего - с ошибками.
2. Никаких явный преимуществ данный новый класс не даёт.
3. Что бы работать с таким классом, надо будет "понять" и разобраться в гениальных идеях автора, т.е. мыслить как он n-лет назад, и переделать на стандартный TList.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39507085
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatГде посмотреть его структуру в памяти?

в самом неожиданном и непредсказуемом месте

Delphi -> Documentation -> Data Types -> Internal Data Formats

http://docwiki.embarcadero.com/RADStudio/Tokyo/en/About_Data_Types_(Delphi)
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39507122
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochDelphi -> Documentation -> Data Types -> Internal Data Formats
А ссылку кривую дал :) http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Internal_Data_Formats_(Delphi)
Только там про дин. массивы чушь написана. Реальное положение дел описано в System.pas - TDynArrayRec;
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39507126
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то так:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
procedure TArrayEx<T>.SetLengthFast(NewValue: integer);
const
  GrowLimit = 64;
begin
  if FInitCapacity='' then begin
    FInitCapacity:='Y';
    FCapacity:=0;
  end;

  if NewValue<=0 then begin
    FCapacity:=0;
    SetLength(Items,0);
  end else begin
    if (NewValue>FCapacity) or (NewValue shl 1<FCapacity) then begin
      FCapacity:=Min(NewValue shl 1,NewValue+GrowLimit);
      SetLength(Items,FCapacity);
      FArrayCount:=PNativeInt(NativeInt(@Items[0])-SizeOf(NativeInt));
    end;
    FArrayCount^:=NewValue;
  end;
end;

Вышло более чем вдвое быстрей чем обычный циклический SetLength+1.
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39507159
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyТолько там про дин. массивы чушь написана.
Посыпаю голову пеплом. Всё нормально там написано :)
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39507215
Bred eFeM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatВышло более чем вдвое быстрей чем обычный циклический SetLength+1.А почему не в (64-1) раза быстрей?
...
Рейтинг: 0 / 0
Динамические массивы в Delphi XE7 - XE10
    #39507221
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bred eFeM,

Видимо в FastMM (?) уже есть некая оптимизация.
...
Рейтинг: 0 / 0
48 сообщений из 48, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Динамические массивы в Delphi XE7 - XE10
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]