Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 265
1

Максимальное быстрое создание большого файла

08.06.2016, 08:56. Просмотров 923. Ответов 16
Метки нет (Все метки)

У кого какие алгоритмы создания максимально быстро файлов, больших размеров?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2016, 08:56
Ответы с готовыми решениями:

Быстрое заполнение большого файла
Здравствуйте! Возникла проблема в работе с большим файлом: возникла...

Быстрое создание бинарного файла заданного размера
Собственно, вопрос в теме. Как быстро выделить память под файл? Можно, конечно,...

Быстрое создание пустого файла определенного размера
Добрый день Столкнулся с проблемой как можно очень быстро создать файл на...

Быстрое чтение большого файла. Зависает процесс
Всем доброго времени суток. Есть задача прочитать файл(1-20 мб), который...

Быстрое чтение файла
Здраствуйте. Я пишу программу, которая читает файлы порядка от нескольких...

16
nmcf
6514 / 5743 / 2617
Регистрация: 14.04.2014
Сообщений: 24,494
08.06.2016, 09:49 2
Что значит максимально быстро? Ты по одному байту, что ли, записываешь?
0
Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 265
08.06.2016, 09:51  [ТС] 3
нет по 100 метров)
0
nmcf
6514 / 5743 / 2617
Регистрация: 14.04.2014
Сообщений: 24,494
08.06.2016, 10:39 4
Тогда компьютер бери попроизводительнее.
0
Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 265
08.06.2016, 10:47  [ТС] 5
ахахахахах
0
nmcf
6514 / 5743 / 2617
Регистрация: 14.04.2014
Сообщений: 24,494
08.06.2016, 11:28 6
Ну а ты чудес каких-то ожидаешь?
0
Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 265
08.06.2016, 13:35  [ТС] 7
нет конечно) думал тут форум программистов
0
castaway
Эксперт С++
4934 / 3039 / 455
Регистрация: 10.11.2010
Сообщений: 11,119
Записей в блоге: 10
Завершенные тесты: 1
08.06.2016, 14:05 8
Нет тут никаких особый алгоритмов. Всё зависит от конфигурации компьютера.
Пробуй писать разными кусками (например от 10 до 100 с шагом 10 МБ) и выбери для себя оптимальный.
0
nmcf
08.06.2016, 14:11
  #9

Не по теме:

Цитата Сообщение от castaway Посмотреть сообщение
Всё зависит от конфигурации компьютера.
Вот и я о том же.

0
mat_for_c
217 / 210 / 77
Регистрация: 26.04.2013
Сообщений: 965
Завершенные тесты: 3
08.06.2016, 16:46 10
Так, для ознакомления: ссылка
Для меня экспериментально получилось, что быстрее всего работать через fwrite (но тестировал я только вывод чисел чисел)
0
nmcf
6514 / 5743 / 2617
Регистрация: 14.04.2014
Сообщений: 24,494
08.06.2016, 17:33 11
mat_for_c, тогда через WinAPI ещё быстрее.
0
mat_for_c
217 / 210 / 77
Регистрация: 26.04.2013
Сообщений: 965
Завершенные тесты: 3
08.06.2016, 17:35 12
Цитата Сообщение от nmcf Посмотреть сообщение
тогда через WinAPI ещё быстрее
а можно поподробней или небольшую ссылку?
0
nmcf
6514 / 5743 / 2617
Регистрация: 14.04.2014
Сообщений: 24,494
08.06.2016, 17:39 13
Смотри CreateFile() и прочие функции. Они не заменяют полностью потоки, просто ты упомянул fwrite().
1
warhast
20 / 20 / 4
Регистрация: 02.02.2014
Сообщений: 75
08.06.2016, 21:37 14
Лучший ответ Сообщение было отмечено DrOffset как решение

Решение

truncate же, вроде как вполне стандартный способ оттяпать побольше места под файл.
0
Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 265
08.06.2016, 21:47  [ТС] 15
mat_for_c, вот кусок кода
C++
1
2
3
4
    auto hFile = CreateFileA("temp.txt", GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, 0, 0);
    DWORD nWritten;
    WriteFile(hFile, buf, builder.getPos() - buf, &nWritten, NULL);
    CloseHandle(hFile);
Добавлено через 1 минуту
короче ребята выбрал старый добрый FILE* создаёт 1.1GB за 0.49 секунд) меня устраивает. Тему можно закрывать
0
mat_for_c
217 / 210 / 77
Регистрация: 26.04.2013
Сообщений: 965
Завершенные тесты: 3
09.06.2016, 11:46 16
Цитата Сообщение от Ko Посмотреть сообщение
выбрал старый добрый FILE*
а метод какой используешь? fprintf() или fwrite()?
0
Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 265
09.06.2016, 17:57  [ТС] 17
fwrite()
0
09.06.2016, 17:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2016, 17:57

Быстрое чтение массива из файла
Добрый день, появился вроде бы не сложный вопрос, у меня есть динамический...

Быстрое считывание 32кб из файла 7гб
Есть бинарный файл размером 6,95 ГБ, он представляет из себя массив short....

Быстрое преобразование фурье wave файла
Всем доброго времени суток! Сейчас работаю над дипломом, в c++ как и в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru