0 / 0 / 0
Регистрация: 31.07.2022
Сообщений: 13
|
||||||
1 | ||||||
Оцените код в плане производительности20.03.2023, 16:44. Показов 510. Ответов 8
Метки нет Все метки)
(
Решил написать программу, которая записывает и считывает бинарные файлы. Для удобства решил вместо char* использовать vector<char>, чтобы не морочиться с дополнительными переменными. Через долгие мучения получился такой код:
0
|
20.03.2023, 16:44 | |
20.03.2023, 16:44 | |
Ответы с готовыми решениями:
8
Samsung G910 как улучшить ноутбук в плане производительности Есть ли какая-нибудь зависимость шины материнки и ЦПУ в плане производительности |
147 / 135 / 50
Регистрация: 14.05.2021
Сообщений: 642
|
||||||
20.03.2023, 16:53 | 2 | |||||
0
|
0 / 0 / 0
Регистрация: 31.07.2022
Сообщений: 13
|
||||||
20.03.2023, 16:54 [ТС] | 3 | |||||
Решил ещё немного улучшить код и избавился от циклов:
0
|
147 / 135 / 50
Регистрация: 14.05.2021
Сообщений: 642
|
|
20.03.2023, 16:56 | 4 |
Зачем? Можно сразу сделать вектор нужного размера. Тогда уйдет копирование.
Опять же: копирование.
Добавлено через 53 секунды Чем не устраивает data()?
0
|
0 / 0 / 0
Регистрация: 31.07.2022
Сообщений: 13
|
||||||
20.03.2023, 17:05 [ТС] | 5 | |||||
А так норм?
0
|
147 / 135 / 50
Регистрация: 14.05.2021
Сообщений: 642
|
||||||
20.03.2023, 17:29 | 6 | |||||
Норм. Только что бы я еще изменил:
Ну и там, где нет изменения веткора, костантные ссылки бы. И со строками то же самое. Почему у тебя везде передача по значению?
0
|
Модератор
![]() ![]() |
|||||||||||
20.03.2023, 23:50 | 7 | ||||||||||
ага
0
|
732 / 692 / 110
Регистрация: 29.05.2015
Сообщений: 4,152
|
|
21.03.2023, 02:53 | 8 |
А чё его оценивать? Нужно взять любой файл размером (например) 1 Гб, поменять расширение на незарегистрированное, прочитать его, добавить к каждому байту по единице и записать под другим именем. И измерить время.
А потом проделать обратную операцию (вычесть из каждого байта по 1) - и проверить, вернётся ли файл в исходное состояние. Расширение менять, потому что есть подозрение, что файлы .txt обрабатываются по-другому.
0
|
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
|
||||||
21.03.2023, 09:23 | 9 | |||||
Да, и можно без промежуточного
string обойтись:
Бинарность файла определяется вторым параметром потока (в данном случае у ТС - ios::binary), расширение библиотеке фиолетово.
0
|
21.03.2023, 09:23 | |
21.03.2023, 09:23 | |
Помогаю со студенческими работами здесь
9
SQL object VS PL/SQL record в плане производительности Оцените сборку, может можно удешевить без потерь качества и производительности! Графическая станция, бюджет около 50 т.р. Пожалуйста оцените конфигу! Можно ли удешевить без особенных потерь производительности? Как оптимизировать код по памяти и производительности?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Контейнер std::map в C++
bytestream 09.02.2025
Контейнер std::map в C++ - один из наиболее мощных инструментов стандартной библиотеки, предназначенный для хранения пар ключ-значение. Каждый элемент в map состоит из уникального ключа и связанного. . .
|
Как в Python сделать вывод с print без перевода строки и пробела
hw_wired 09.02.2025
Функция print в Python обеспечивает гибкие возможности для вывода информации в консоль. При стандартном использовании эта функция автоматически добавляет символ перевода строки в конце выводимого. . .
|
Как в Python проверить, что у объекта есть атрибут
hw_wired 09.02.2025
В Python существует несколько встроенных способов проверки наличия атрибутов у объектов. Наиболее распространенным является использование функции hasattr(), которая позволяет безопасно определить. . .
|
Как удалить экспортированную переменную окружения в Linux
hw_wired 09.02.2025
В Linux работа с переменными окружения - важная часть системного администрирования и разработки. Экспортированные переменные окружения отличаются от обычных локальных переменных тем, что они доступны. . .
|
Ошибка Error: error:0308010C:digital envelope routines::unsupported
hw_wired 09.02.2025
Ошибка "error:0308010C:digital envelope routines::unsupported" чаще всего появляется при работе с Node. js приложениями и связана с изменениями в системе безопасности криптографических алгоритмов. . . .
|
В чем отличие между .prop() и .attr()
hw_wired 09.02.2025
В jQuery методы . prop() и . attr() часто вызывают путаницу, поскольку на первый взгляд предназначены для похожих целей. Однако между ними существуют принципиальные различия в работе с DOM-элементами и. . .
|
В чем отличие SCSS и SASS
hw_wired 09.02.2025
SCSS и SASS появились как решение проблем, связанных с ограничениями обычного CSS при разработке крупных веб-проектов. Традиционный CSS, несмотря на свою простоту, не предоставлял разработчикам. . .
|
Как найти дубликаты в таблице базы данных
hw_wired 09.02.2025
Дублирование записей в таблицах баз данных может возникать по разным причинам: ошибки при вводе данных, некорректная работа систем импорта, слияние данных из разных источников или неправильная. . .
|
Как удалить дубликаты из массива в JavaScript
hw_wired 09.02.2025
Самый простой и современный способ удаления дубликатов в JavaScript - использование структуры данных Set в сочетании с Array. from. Set автоматически хранит только уникальные значения, а Array. from. . .
|
Go Protobuf: новый Opaque API
hw_wired 09.02.2025
Protocol Buffers (protobuf) давно зарекомендовал себя как эффективный формат сериализации данных, широко используемый в микросервисных архитектурах и распределенных системах. Однако существующая. . .
|