|
3 / 3 / 0
Регистрация: 21.08.2015
Сообщений: 17
|
||||||
Что быстрее/эффективнее malloc/realloc или new/delete?21.08.2015, 14:48. Показов 8228. Ответов 32
Метки нет (Все метки)
Всем привет. Год программировал на СИ под микроконтроллеры... Начал изучать с++... Всё ново, интересно... Доковырялся до STL... В процессе изучения возникают вопросы, на которые гугл мне ответить не в состоянии...
Один из таких вопросов: Что быстрее работает при выделении/перевыделении динамической памяти malloc/realloc или new/delete? Чтобы было понятнее приведу пример кода:
Заранее всем благодарен за ответы.
0
|
||||||
| 21.08.2015, 14:48 | |
|
Ответы с готовыми решениями:
32
Можно ли выделять память под объект класса с помощью функций calloc, malloc или realloc?
|
|
2410 / 1947 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
|
||||||||||||
| 21.08.2015, 22:28 | ||||||||||||
|
alator, советую посмотреть на стандартные формы объявления оператора new. Вот например:
0
|
||||||||||||
|
3 / 3 / 0
Регистрация: 21.08.2015
Сообщений: 17
|
||||||
| 21.08.2015, 22:48 [ТС] | ||||||
|
Что проще? думаю вот эта стандартная форма оператора new самое то:
![]()
Эффективнее что? realloc или new/delete ? Блин меня одного походу гложет этот вопрос... Займусь завтра тестированием...
0
|
||||||
|
2410 / 1947 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
|
|||
| 21.08.2015, 23:38 | |||
|
На счёт тестирования: что собираешься тестировать? Опять же советую запастись некоторым набором различных компиляторов, так как от этого результаты могут весьма отличаться.
0
|
|||
|
3 / 3 / 0
Регистрация: 21.08.2015
Сообщений: 17
|
|
| 22.08.2015, 00:13 [ТС] | |
|
слишком маленькая программа получается... если время на выделение 0.01% ...
А если например в одном случае проц грузится на 80% а в другом на 60% - Есть ли разница? Если есть возможность сделать лучше, то лучше делать, написать пару лишних строчек кода, с нас программистов не убудет... Слишком далеко мы уходим от темы... Вопрос надёжности лучше вообще не поднимать... Понятно и так, что чем надёжнее код, тем больше ресурсов он жрёт... Взять например массив с контролем границ и просто массив... "Решение сложных задач на С++" - интересная книженция. STL доковыряю - прочту. С тестированием не буду сильно загонятся... Возьму пару каких-нибудь передовых g++ да прогоню код
0
|
|
|
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
|
|
| 22.08.2015, 00:17 | |
Сообщение было отмечено alator как решение
Решение
Мне кажется обе реализации функций malloc и new будут дергать системный dll файл, в котором зашит код выделения памяти - дабы откачать код и поставить в известность систему, что какой-то процесс затребовал памяти, потому как у винды свой менеджмент памяти и на других платформах нечто подобное. Поэтому обе функции аналогичны за исключением того что new еще и конструктор вызовет проинициализировав данные, как-то так.
0
|
|
|
Неэпический
|
|||
| 22.08.2015, 04:45 | |||
0
|
|||
|
3 / 3 / 0
Регистрация: 21.08.2015
Сообщений: 17
|
||
| 22.08.2015, 11:27 [ТС] | ||
0
|
||
|
Неэпический
|
|||||||
| 22.08.2015, 12:22 | |||||||
|
http://rextester.com/TJUYM83257 http://rextester.com/KXJ11108 http://rextester.com/LJL85349 Есть там объекты классов? Нет! А значения везде отличаются, кроме случая с new() - там всегда 0, потому как применяется direct-initialization. Добавлено через 10 минут
1
|
|||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||
| 22.08.2015, 13:27 | ||||
Сообщение было отмечено alator как решение
Решение
2
|
||||
|
Неэпический
|
|||||||
| 22.08.2015, 14:10 | |||||||
1
|
|||||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|||||||
| 22.08.2015, 14:26 | |||||||
1
|
|||||||
|
Неэпический
|
||||||
| 22.08.2015, 14:39 | ||||||
|
Добавлено через 4 минуты Кстати, исходник из gcc-5.2
1
|
||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|
| 22.08.2015, 17:24 | |
|
А это на тему malloc/free или realloc:
http://blog.httrack.com/blog/2... -laziness/ Croessmah, да, так можно. Я бы кстати как альтернативу такому кастомному аллокатору в std::vector рассмотрел https://github.com/facebook/fo... BVector.md - там даже есть IsRelocatable в traits.
2
|
|
| 22.08.2015, 17:24 | |
|
malloc, realloc malloc/realloc Помогите переделать malloc в realloc! функции на основе realloc, malloc Выделение памяти malloc realloc Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|