Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

Быстрое копирование блоков памяти   Найти похожие ветки 

 
User   (2003-05-22 12:43) [0]

Может кто подскажет быструю функцию копирования
маленького блока памяти из большого.

Примерно так:

Copy(Source : PChar; Dest: PChar; index: integer; Count: integer);

Стандартная Copy вызывает _LStrCopy из system.pas, а она достаточно медленно работает.


 
MBo ©   (2003-05-22 12:43) [1]

Move


 
User   (2003-05-22 12:48) [2]

Мне нужно не полностью копировать, а только определенную чать - то есть задавая начальное смещение index и размер блока Count.


 
Palladin ©   (2003-05-22 12:52) [3]


> User (22.05.03 12:48)

даже как то не находится что в ответ то сказать


 
MBo ©   (2003-05-22 12:52) [4]

Хелпов, значит, не читаем...


 
Anatoly Podgoretsky ©   (2003-05-22 13:01) [5]

MBo © (22.05.03 12:52)
Хелпы ладно, так и ответов не читаем.


 
User   (2003-05-22 13:09) [6]

Все понял... Спасибо :) Пока на код Move не посмотрел непонятно было.

var
Source : PChar;
Dest : PChar;
...
Move(Source[Index], Dest^, Count);
...



 
clickmaker ©   (2003-05-22 13:11) [7]

CopyMemory
Быстрее только ассемблер в нужном месте кода...


 
Anatoly Podgoretsky ©   (2003-05-22 13:19) [8]

clickmaker © (22.05.03 13:11)
Не быстрее, возможно удастся съэкономить несколько наносекунд на передаче параметров.


 
User   (2003-05-22 14:32) [9]

Проверил Copy медленнее Move на несколько порядков...
Теперь горячая точка FillChar но это уже другая проблема :)


 
panov ©   (2003-05-22 15:10) [10]

>User (22.05.03 14:32)
ZeroMemory для инициализации.



Страницы: 1 вся ветка

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
1-2967
Tatiana
2003-05-16 13:25
2003.06.02
SaveDialog


3-2762
saff
2003-05-13 11:40
2003.06.02
SQL


14-3156
АлеКо
2003-05-15 03:53
2003.06.02
InstallShield


14-3091
Aferist
2003-05-13 18:32
2003.06.02
Катриджи от canon


11-2829
Kirill
2002-08-16 22:39
2003.06.02
SysUtils