Страница 2 из 2

Re: Замедление работы с файлами

Добавлено: 24 сен 2022, 11:36
IvanLis
Artem.spb писал(а): 23 сен 2022, 23:39 По TDMS интересная мысль, забыл, что они позволяют и удалять часть данных, но пока не придумал, как с координатами разобраться. Метку времени как-то придётся туда запихать.
TDMS не очень подходит, хотя это в принципе и есть своеобразная СУБД, где хранятся бинарные данные.
Но ввиду периодического удаления ненужных данных потребуется периодическая дефрагментация и переиндексация.
Ели писать в отдельные файлы, то получаем как и сейчас...
Artem.spb писал(а): 23 сен 2022, 23:39 Получается, что если часто дёргать (неоптимально) память, то :labview: замедляется. Причём и при обращениях к диску. Это при том, что ~90% памяти пустует.
А не пробовал сразу выделить буфер (массив) и работать с ним без переиндексации, что бы память не дергать больше?
Передавать данные по ссылке на этот буфер (как рекомендовали выше), что бы избежать копирования.

Re: Замедление работы с файлами

Добавлено: 25 сен 2022, 00:21
Artem.spb
IvanLis писал(а): 24 сен 2022, 11:36 А не пробовал сразу выделить буфер (массив) и работать с ним без переиндексации, что бы память не дергать больше?
Передавать данные по ссылке на этот буфер (как рекомендовали выше), что бы избежать копирования.
Переделка в этом и заключалась. вычислить, какой будет буфер, выделить его разом, а потом заполнять кусками из файлов.
Пока только сделал, для проверки надо копить буфер.

Re: Замедление работы с файлами

Добавлено: 25 сен 2022, 00:53
IvanLis
Artem.spb писал(а): 25 сен 2022, 00:21 Переделка в этом и заключалась. вычислить, какой будет буфер, выделить его разом, а потом заполнять кусками из файлов.
Пока только сделал, для проверки надо копить буфер.
Какой максимально возможный...
Может быть взять сразу по максимуму то системы.

Re: Замедление работы с файлами

Добавлено: 25 сен 2022, 01:22
Artem.spb
IvanLis писал(а): 25 сен 2022, 00:53 Может быть взять сразу по максимуму то системы.
1Тб? Зачем?
Нужно отобразить суточный график, частота 2 кГц -> вычисляю длину массива -> резервирую его -> читаю файлы и последовательно replace arry subset

Re: Замедление работы с файлами

Добавлено: 25 сен 2022, 23:19
IvanLis
Artem.spb писал(а): 25 сен 2022, 01:22 Нужно отобразить суточный график, частота 2 кГц -> вычисляю длину массива -> резервирую его -> читаю файлы и последовательно replace arry subset
Резервирование каждый раз выполняется или один раз при запуске программы?

Re: Замедление работы с файлами

Добавлено: 26 сен 2022, 01:12
Artem.spb
IvanLis писал(а): 25 сен 2022, 23:19 Резервирование каждый раз выполняется или один раз при запуске программы?
Каждый, потому что длина выборки меняется. Режим расчёта меняется. И много чего. Не думаю, что там есть смысл сразу выделить большой кусок.
Ну так банально.
Выделить, заполнить, отправить FFT считать. Буфер "исчез".

Re: Замедление работы с файлами

Добавлено: 26 сен 2022, 10:36
Borjomy_1
Человек может одновременно увидеть и осознать ограниченное количество данных. Здесь гигантская разница между реализацией и физическими возможностями оператора. Надо радикально перерабатывать концепцию программы.

Re: Замедление работы с файлами

Добавлено: 26 сен 2022, 15:00
Artem.spb
Borjomy_1 писал(а): 26 сен 2022, 10:36 Человек может одновременно увидеть и осознать ограниченное количество данных. Здесь гигантская разница между реализацией и физическими возможностями оператора. Надо радикально перерабатывать концепцию программы.
Это вообще невозможно :)
Но с другой стороны, что не может в этом случае разглядеть оператор?
FFT 0-300Гц? построенное на выборке 24 часа?
Изменение сигнала за сутки на общей выборке? Да, детали там не видны, но общая картина вполне ясная, а дальше можно детальнее рассматривать интересующий участок.
У меня к этому проекту больше претензий не в плане картинок, а уже на этапе сбора данных. Но туда меня вообще не подпускают.

Re: Замедление работы с файлами

Добавлено: 26 сен 2022, 16:02
ujin1
Artem.spb писал(а): 23 сен 2022, 23:39 Получается, что если часто дёргать (неоптимально) память, то :labview: замедляется. Причём и при обращениях к диску. Это при том, что ~90% памяти пустует.
По возможности убрать выделение и удаление памяти. Оставить изменение размера
Посмотреть Desktop Execution Trace Toolkit.
Может есть утечка памяти где-нибудь.
trace execution toolkit.png
Вариант разделить на сервер и клиент. Сервер на NI Linux RT работает с диском читает в память передает большим куском. Клиент работает с ОЗУ.
С учетом постепенной подгрузки сетевой обмен гигабитный может не быть узким местом.