Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Ko
 Аватар для Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
1

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

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

Author24 — интернет-сервис помощи студентам
У кого какие алгоритмы создания максимально быстро файлов, больших размеров?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.06.2016, 08:56
Ответы с готовыми решениями:

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

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

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

16
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
08.06.2016, 09:49 2
Что значит максимально быстро? Ты по одному байту, что ли, записываешь?
0
Ko
 Аватар для Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
08.06.2016, 09:51  [ТС] 3
нет по 100 метров)
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
08.06.2016, 10:39 4
Тогда компьютер бери попроизводительнее.
0
Ko
 Аватар для Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
08.06.2016, 10:47  [ТС] 5
ахахахахах
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
08.06.2016, 11:28 6
Ну а ты чудес каких-то ожидаешь?
0
Ko
 Аватар для Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
08.06.2016, 13:35  [ТС] 7
нет конечно) думал тут форум программистов
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
08.06.2016, 14:05 8
Нет тут никаких особый алгоритмов. Всё зависит от конфигурации компьютера.
Пробуй писать разными кусками (например от 10 до 100 с шагом 10 МБ) и выбери для себя оптимальный.
0
08.06.2016, 14:11 9

Не по теме:

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

0
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
08.06.2016, 16:46 10
Так, для ознакомления: ссылка
Для меня экспериментально получилось, что быстрее всего работать через fwrite (но тестировал я только вывод чисел чисел)
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
08.06.2016, 17:33 11
mat_for_c, тогда через WinAPI ещё быстрее.
0
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
08.06.2016, 17:35 12
Цитата Сообщение от nmcf Посмотреть сообщение
тогда через WinAPI ещё быстрее
а можно поподробней или небольшую ссылку?
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
08.06.2016, 17:39 13
Смотри CreateFile() и прочие функции. Они не заменяют полностью потоки, просто ты упомянул fwrite().
1
27 / 26 / 6
Регистрация: 02.02.2014
Сообщений: 96
08.06.2016, 21:37 14
Лучший ответ Сообщение было отмечено DrOffset как решение

Решение

truncate же, вроде как вполне стандартный способ оттяпать побольше места под файл.
0
Ko
 Аватар для Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
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
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
09.06.2016, 11:46 16
Цитата Сообщение от Ko Посмотреть сообщение
выбрал старый добрый FILE*
а метод какой используешь? fprintf() или fwrite()?
0
Ko
 Аватар для Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
09.06.2016, 17:57  [ТС] 17
fwrite()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.06.2016, 17:57
Помогаю со студенческими работами здесь

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

Быстрое создание большого массива элементов управления
Привет всем! У меня есть некоторый пользовательский (свой) элемент управления. Подскажите, пожалуйста, возможно ли средствами VB.NET...

Максимально быстрое чтение очень большого файла
Добрый день, задача прочитать очень большой файл (1GB-10GB+). Нужно провести операцию с каждой строкой этого файла. Используя...

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

Создание большого файла с рандомным содержимым
Задача - создать файл указанного размера и наполнить его рандомным мусором. Написал так: FileStream fs = new...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Неблокируемый стек в C++26: реализуем простой сборщик мусора
stackOverflow 02.03.2025
Многопоточные приложения требуют надежных и производительных структур данных, способных эффективно работать в условиях конкурентного доступа. Неблокируемые структуры данных представляют собой особый. . .
Шаблон REQ/REP в ZeroMQ: сверхбыстрый обмен сообщениями в C++ и Python
stackOverflow 02.03.2025
Построение высоконагруженных распределенных систем требует надежного и производительного механизма обмена сообщениями. ZeroMQ выделяется среди прочих решений своей невероятной скоростью работы и. . .
Нестандартные приемы работы с итераторами в C++
stackOverflow 02.03.2025
Итераторы - один из краеугольных камней C++, предоставляющий универсальный механизм обхода и манипуляции данными в контейнерах. Появившись как замена небезопасным указателям, они эволюционировали от. . .
Лексический анализ и регулярные выражения в C++26
stackOverflow 02.03.2025
Лексический анализ - ядро любого компилятора и инструмента обработки текста. Каждый программист сталкивается с задачами парсинга строк, обработки файлов конфигурации или анализа пользовательского. . .
Подробно о std::mdspan в C++23
stackOverflow 02.03.2025
Работа с многомерными массивами данных традиционно была одной из сложных задач в C++. Программистам приходилось создавать собственные абстракции или использовать сторонние библиотеки для эффективной. . .
Колмогоровская сложность в C++: Путь к совершенному коду
stackOverflow 02.03.2025
Абстрактная математическая теория Колмогорова стала мощным средством оценки и улучшения программного кода. Сложность алгоритма - не только в его вычислительной эффективности, но и в том, насколько. . .
Изменения в C# 14
stackOverflow 02.03.2025
Одно из самых значимых изменений в C# 14 - поддержка коллекционных выражений, которые позволяют создавать и инициализировать коллекции с помощью нового лаконичного синтаксиса. Это нововведение. . .
Разработка кроссплатформен­­­­ного мобильного приложения для iOS/Android на C++
bytestream 02.03.2025
C++ как язык программирования высокого уровня с прямым доступом к аппаратным ресурсам позволяет создавать приложения, работающие одинаково быстро как на iOS, так и на Android устройствах. Ни для кого. . .
Аутентификация/авторизация на Golang
bytestream 02.03.2025
Go предлагает множество возможностей для создания надежных систем аутентификации. Встроенные криптографические пакеты, высокая производительность и простота параллельной обработки запросов делают его. . .
Нововведения TypeScript 5.8
bytestream 02.03.2025
TypeScript 5. 8 приносит много возможностей и оптимизаций, которые существенно расширяют границы типобезопасного программирования на JavaScript. Эта версия включает ряд значительных улучшений в работе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru