Вниз
Скачать: CL | DM;

Что лучше?   Найти похожие ветки 

 
DesWind   (2008-07-04 04:07) [0]

Кольцевой буфер или очередь реализуемая через Move?


 
Zeqfreed ©   (2008-07-04 04:11) [1]

Лучше чем что?


 
DesWind   (2008-07-04 04:19) [2]

Что быстрее и при каком размере. Точнее что целесообразнее использовать: копирование памяти или указатель на элемент в массиве. Например если нужно перемножать два массива, один постоянный массив чисел другой буфер (кольцевой или очередь).


 
Zeqfreed ©   (2008-07-04 04:29) [3]

Что такое перемножение массивов? Не вижу как во время этой операции изменяется количество элементов массива и следовательно как в таком случае выбор реализации повлияет на производительность.


 
DesWind   (2008-07-04 04:37) [4]

Один из массивов - поток, задача - фильтрация.


 
Zeqfreed ©   (2008-07-04 04:44) [5]

До тех пор пока вы, многоуважаемый автор, будете играть в загадки, мы вам помочь не сможем :)

Что значит массив — поток? Как связаны фильтрация и умножение?

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


 
DesWind   (2008-07-04 04:55) [6]

В загадки не играл - наверно уже сплю.
Поэлементно добавляются, но я не могу придумать нормальной реализации. Как подумаю что надо перепрыгивать из конца в начало - дрожь берет. А фильтр, вообще-то, и есть чего-то там "линейная комбинация".


 
Zeqfreed ©   (2008-07-04 04:56) [7]

> DesWind   (04.07.08 04:55) [6]

> перепрыгивать из конца в начало

Это и есть вся реализация :)


 
DesWind   (2008-07-04 05:08) [8]

Понатыкать if-ов не наш путь )))) Да просто хочется одной командой, вот и ищу себе оправдание.


 
Zeqfreed ©   (2008-07-04 05:14) [9]

> DesWind   (04.07.08 05:08) [8]

Один иф. В чем проблема?

метод КольцевойБуфер.добавитьЭлемент(Элемент : ТЭлементКольцевогоБуфера);
начать
   если Курсор.Позиция >= Вместимость тогда
       Курсор.Позиция := 0;

   Буфер[Курсор.Позиция] := Элемент;
   Инкрементировать(Курсор.Позиция);
кончить


 
Наиль ©   (2008-07-04 09:30) [10]

Нахождение следующего индекса в круговом буфере
Index:=(Index-MinIndex+1) mod (MaxIndex-MinIndex+1)+MinIndex;



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

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



Память: 0.47 MB
Время: 0.017 c
6-1192218336
prisoner849
2007-10-12 23:45
2008.08.24
IdHTTP и Post в Indy 10 (BDS 2006)


15-1215086532
Sick
2008-07-03 16:02
2008.08.24
Вопрос по стэку


2-1216275812
Dymok
2008-07-17 10:23
2008.08.24
Редактирование файлов *.res с 32-битными изображениями


2-1216722230
Анатолий_1987
2008-07-22 14:23
2008.08.24
Trim глючит


15-1215511070
Kostafey
2008-07-08 13:57
2008.08.24
Присвоить значение HTML-компоненты формы в другом окне IE




   Наверх