Форум: "Потрепаться";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизСамая быстрая запись на диск Найти похожие ветки
← →
тихий вовочка © (2004-03-31 22:21) [0]Всем привет от безработного именинника. Ногами не бейте, реальность нижеприведенных рез-тов не гарантирую.Скажите, какой на ваш взгляд самый быстрый способ записи на диск? Не ассемблером в QNX,а через функции Винды? Сегодня посмотрел через CreateFile-WriteFile-CloseHandle среднее для разных размеров данных получилось около 56 Мбайт/секунду. Мне реально надо 128 Мб, хотелось бы еще с запасом. Мэппинг файла в памяти поднимет скорость общения? Машина P4 3.06, винчестер Seagate.
Кстати, смотрел тут скорость копирования и обнуления блоков памяти, так билдеровские CopyMemory и ZeroMemory обгоняют сишные memcpy и memset
← →
Piter © (2004-03-31 23:34) [1]Если хочешь быстро писать на хард, то ставь SCSI там или райд сразу.
Только вот сомневаюсь, что есть реальная потребность писать со скоростью 128 Мб в сек.
← →
Игорь Шевченко © (2004-04-01 00:15) [2]
> Мэппинг файла в памяти поднимет скорость общения?
Нет, механизм у WriteFile и FileMapping один и тот же - через диспетчер кэша и диспетчер виртуальной памяти. (разумеется, я имею в виду NT-системы)
Совет насчет SCSI достаточно разумный. Скоростью записи можно попробовать управлять аппаратно (режимы DMA и т.д.).
Кстати, а зачем нужна такая скорость записи на диск ?
Oracle, например, организует на диске для ускорения работы так называемые Raw Partitions, без файловой системы, и пользуется своими средствами организации данных и доступа к ним, получается быстрее.
← →
тихий вовочка © (2004-04-01 08:03) [3]Нужно сливать данные с платы, которая работает с частотой 300 МГц и имеет разрядность 8 бит.
Имеем 3*10^8 * 1 = 3*10^8 байт или же 286 Мб в секунду. Так что потребность есть, но пока нам бы и 128 записывать
← →
Cobalt © (2004-04-01 08:36) [4]ГЫЫЫЫЫЫЫ
Простите, не удержался...
2 Тихий вовочка © (01.04.04 08:03) [3]
А как вы собираетесь эти данные считывать? Через порт ввода-вывода?
Вы попробуйте для начала отображать их на экране в виде графика, а потом, если уж получится отображать ВСЕ данные синхронно с их поступлением (или хотя бы без потерь данных)
← →
Рамиль © (2004-04-01 08:38) [5]А эта плата непрерывного действия? Можно было бы записывать в ОП и скидывать на винт понемногу... И еще 300 МГц, это к какой шине вы собрались ее подключать?...
← →
Nikolay M. © (2004-04-01 08:59) [6]Мое имхо: мне тоже интересно, каким образом такая плата будет присоединена к компьютеру (PCI Express, USB 2.0?), но мне кажется, что работать на частоте 300МГц и передавать данные с частотой 300МГц - это две большие разницы. Ну, допустим данные все-таки реально передаются с такой частотой (например, результаты какого-то экстремально физического эксперимента). Ты уверен, что нельзя выкинуть рядом стоящие похожие данные и таким образом сжать входной поток данных?
← →
Иксик © (2004-04-01 09:11) [7]Это ж какая ОП должна быть? 1 GB на 4 секунды хватит.
← →
Иксик © (2004-04-01 09:14) [8]
> Nikolay M. © (01.04.04 08:59) [6]
Имхо не успеет, у меня по алгоритму Хаффмана сжимается 1Mb в секунду, правда у меня комп гораздо слабее.
← →
Труп Васи Доброго © (2004-04-01 09:28) [9]Ну уж если он сумеет с такой платы снимать данные с такой скоростью, то пусть напишет прогу, которая будет передавать эти данные частями на несколько компов со SCSI RAID через мультигигабитмый адаптер и тогда успеет всё записать.
:))
← →
Иксик © (2004-04-01 09:33) [10]А может быть просто на два винта писать? :)
← →
Nikolay M. © (2004-04-01 09:46) [11]
> Иксик © (01.04.04 09:14) [8]
> Имхо не успеет, у меня по алгоритму Хаффмана сжимается 1Mb
> в секунду
Да тут о сжатиии даже и речи нет, просто хотя бы выбрасывать лишние (похожие) данные.
> А может быть просто на два винта писать? :)
Это уже RAID, т.е. аппаратное решение проблемы, а автору нужно определиться, как данные писать: через Writeln или BlocкWrite :)
Имхо, проблема все-таки надумана.
← →
тихий вовочка © (2004-04-01 11:08) [12]Это плата втыкается на PCI имеет на борту 256 Мб собственной памяти. Грубо говоря если писать в буффер платы половинками, то в нечетную секунду я выгружаю первые 128 Мб в ОП с платы, а в четную вторые и так в цикле. Это нереально?
← →
Cobalt © (2004-04-01 12:56) [13]2 тихий вовочка ©
Возникает соответсвующий вопрос - а что вы считываете с неё?
Что за процесс?
Это ж, ядрён батон!, действительно Гигабайт за 4 секунды. А в минуту - 60 Гигов!!!
← →
Danilka © (2004-04-01 13:00) [14][13] Cobalt © (01.04.04 12:56)
> Это ж, ядрён батон!, действительно Гигабайт за 4 секунды.
> А в минуту - 60 Гигов!!!
Вапщето, я думал в минуте поменьше секунд чем 60*4=240
:))
← →
Cobalt © (2004-04-01 13:46) [15]Да, ошибочка вкралась в вычисления :)
← →
Иксик © (2004-04-01 13:50) [16]
> Danilka © (01.04.04 13:00) [14]
От такого напора данных время сжимается. :)
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.034 c