Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
1-2845
Vin_Ghost
2003-05-21 23:05
2003.06.02
Угол поворота точек


14-3066
herosofnn
2003-05-16 08:28
2003.06.02
Народ помогите незнаю что делать вот какая ситуация :


1-2847
Win error
2003-05-22 05:46
2003.06.02
Как загрузить файл?


4-3200
msgipss
2003-04-02 21:40
2003.06.02
Можно ли ??? Работать с объектом ListBox из другого приложения


8-3020
handra
2003-02-17 13:45
2003.06.02
DSPack




   Наверх