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

Вниз

Что будет работать быстрее?   Найти похожие ветки 

 
LongIsland ©   (2003-07-18 14:19) [0]

Ситуация такая. Есть массив определенного размера. Он должен передаваться в процедуру, в которой в процессе вычислений он будет изменяться.
Как лучше поступить, передавать в процедуру указатель на него и создавать копию (забыл сказать, что исходный массив меняться не должен) или передавать весь массив?


 
Axis_of_Evil ©   (2003-07-18 14:23) [1]

Наверное указатель + Copy в BufferМассив, который будет
изменяться.
Я так делаю.


 
Юрий Федоров ©   (2003-07-18 14:25) [2]

Наверно стоит замерить время в обоих случаях.
Хотя имхо, тут разница будет в "копейках"


 
Legran   (2003-07-18 14:25) [3]

TLIST f1


 
Толик ©   (2003-07-18 14:27) [4]

Я бы его по ссылке передал (var).
В любом случае, создание копии - дорогое удовольствие, а если учесть то, что он будет меняться - то и бесполезное, т.к. будет менятся копия массива, а не сам массив.


 
Anatoly Podgoretsky ©   (2003-07-18 14:27) [5]

При использовании одинаковых алгоритмов вряд ли удастся замерить


 
Skier ©   (2003-07-18 14:27) [6]

>LongIsland © (18.07.03 14:19)

> Есть массив определенного размера

Какого ?


 
Толик ©   (2003-07-18 14:28) [7]

Сорри, не заметил, что исходный массив меняться НЕ должен...
Ессно var не подходит...


 
LongIsland ©   (2003-07-18 14:42) [8]

> Skier © (18.07.03 14:27)
Довольно большой массив записей примерно 1000х1000

> Legran (18.07.03 14:25)
Спасибо, я знаю, что такое TList

Значит, пока мнение сводится к тому, что передача копии через стек и копирование происходит за примерно одинаковое время?


 
Skier ©   (2003-07-18 14:46) [9]

>LongIsland © (18.07.03 14:42)

> Значит, пока мнение сводится к тому, что передача копии
> через стек и копирование происходит за примерно одинаковое
> время?

На таком размере уже вряд ли...И кроме того не известно может
быть эта процедура будет тобой использоваться в длинном цикле,тогда разница будет ощутимой.

Не расскажешь поподробнее об этой процедуре, может быть найдутся другие пути решения, без передачи по значению...


 
Юрий Федоров ©   (2003-07-18 14:47) [10]

>>LongIsland © (18.07.03 14:42)
На такой массив стека может не хватить


 
LongIsland ©   (2003-07-18 14:55) [11]

> Skier © (18.07.03 14:46)

Да спасибо, над алгоритмом я сам помучаюсь :-)

Мне интересно было только именно, что будет быстрее


 
Anatoly Podgoretsky ©   (2003-07-18 15:04) [12]

Массив оригинал и Массмв копия должен быть глобальными переменными или динамическими массивами.
Время абсолютно одинаковое, разве, что на пару наносекунд будут различаться. При том никакой потримизации это не подлежит, поскольку 99.9999% уйдет на копирование массива.


 
LongIsland ©   (2003-07-18 15:11) [13]

> Anatoly Podgoretsky © (18.07.03 15:04)

Это мысль, спасибо!



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

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

Наверх




Память: 0.49 MB
Время: 0.035 c
8-100837
AlexT1000
2003-04-08 18:01
2003.07.31
Вывод метафайла с учетом матрицы трансформирования


3-100587
skyzero
2003-07-08 17:18
2003.07.31
Mysql+Delphi?


7-101004
Zero Ice
2003-05-21 16:43
2003.07.31
I/o ports


14-100963
Orion2
2003-07-15 13:02
2003.07.31
Бесплатный хостинг


3-100551
Andreyki
2003-07-10 18:03
2003.07.31
Авторизация в БД