|
0 / 0 / 0
Регистрация: 14.06.2017
Сообщений: 1
|
||||||
Очень медленно копирует из буфера в буфер (ОЗУ)24.06.2017, 16:32. Показов 1268. Ответов 6
Метки нет (Все метки)
Добрый вечер!
Прошу объяснить, в чем причина очень медленного копирования из одного буфера ОЗУ в другой куска файла размером 256 МБ:
Время исполнения кода 2373338 с ВЫПОЛНЕНИЕ FINISHED; значение выхода 0,; в реальном времени: 3s; пользователь: 950ms; система: 1s" Ubuntu 16.04, Netbeans,AMD A6-3500 APU with Radeonб 4 GB RAM, ps Мучаюсь, уже два дня. На просторах интернета нашел пример на Java, где гуру показывает оптимизацию программы. Так вот, у него программа глотает гигабайтный файл, сортирует по байт-коду в обратном порядке и результат выводит меньше чем за 0,9 с! ![]() Добавлено через 7 минут i=256000320; currentTime=clock(); // пропустил "Время исполнения кода 1416149 с ВЫПОЛНЕНИЕ FINISHED; значение выхода 0,; в реальном времени: 3s; пользователь: 1s; система: 1s"
0
|
||||||
| 24.06.2017, 16:32 | |
|
Ответы с готовыми решениями:
6
CopyToClipboard не копирует в буфер обмена
Без очевидной причины начали очень-очень медленно грузится страницы в браузерах |
|
153 / 148 / 66
Регистрация: 20.02.2014
Сообщений: 556
|
|
| 24.06.2017, 18:16 | |
|
Veganin, потому, что нет понимания работы ЭВМ. Копируешь побайтово, а не по размеру машинного слова, не используешь возможности конвеера, выделяешь огромные буферы, работать бы постранично, да и чего греха таить цикл ужасный - зачем то копируешь оставшиеся байты, когда размер файла явно может быть меньше, чем твои константы.. А у Java возможности оптимизации и JIT компилятора явно устроены лучше, чем, прости, конечно, твой код. Чуть попозже скину, конечно, не идеальный, но все же побыстрее работающий код.
1
|
|
|
Заблокирован
|
|
| 24.06.2017, 19:01 | |
|
Veganin, для копирования памяти есть memcpy. Он еще и векторизованную версию запустит, если твой проц умеет. Ну, и комент Вовани про размер файла - актуален в любом случае.
0
|
|
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
||||||
| 28.06.2017, 15:08 | ||||||
0
|
||||||
|
153 / 148 / 66
Регистрация: 20.02.2014
Сообщений: 556
|
|||||||
| 17.07.2017, 09:12 | |||||||
![]() Код запилен со многими упущениями и предположениями (например, размер страницы и размер кеш-линии), по большей части он представлен для ознакомления, в любом случае компилятор в большинстве случаев может намного лучше выполнить оптимизации(например, за счет использования SIMD-инструкций).
gcc -std=gnu99 -O0
0
|
|||||||
| 22.07.2017, 21:39 | ||
|
2. Компилятор не гений, не смог оптимизировать цикл Как вариант ввести локальный счётчик типа size_t и реализовать копирование даже побайтово из одной области в другую через for, представив указки на данные в качестве массива - тут уж, думаю, все компиляторы справятся и при дефолтном -О2 оптимизирую копирование под конкретную платформу.
0
|
||
|
|
|||||
| 23.07.2017, 12:47 | |||||
|
0
|
|||||
| 23.07.2017, 12:47 | |
|
Помогаю со студенческими работами здесь
7
Интернет стал очень и очень медленно работать
DirectShow воспроизведение видео из буфера в ОЗУ
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
|
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит значение перечислений.
/ / Событие "НачалоВыбора" реквизита на форме. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|