1 | |
Is new faster than malloc() ?12.03.2022, 15:30. Показов 785. Ответов 9
Метки нет (Все метки)
Difference between new and malloc() in C++
https://www.includehelp.com/cp... alloc.aspx
0
|
12.03.2022, 15:30 | |
Ответы с готовыми решениями:
9
В чем разница между malloc() и (char *)malloc() Faster Light Как удалить faster light с Windows XP? Нейронные сети . Алгоритм faster r-cnn Вывод лосса на валидации с pytorch, Faster R-CNN |
фрилансер
5848 / 5379 / 1103
Регистрация: 11.10.2019
Сообщений: 14,380
|
|
12.03.2022, 15:53 | 2 |
оператор - это тоже функция
по логике, new чуточку медленнее malloc, так как вызывает конструктор
0
|
12.03.2022, 16:01 | 3 |
vantfiles, использование malloc в С++ противоречит философии этого языка. Рекомендую использовать в С++ только new и не заморачиваться. А если вы гоняетесь за наносекундами, то пишите на ассемблере.
1
|
12.03.2022, 16:10 [ТС] | 4 |
Мне нужно работать с сырой памятью, конструктор не вызывается.
Видимо так и придется тесты самому писать, вопрос специфичный, да и реализации компиляторов разные. Философия языка - это абстракция. А у меня вопрос конкретный. Предлагаете менеджер памяти самому реализовать, вместо готового?
1
|
Неэпический
|
|
12.03.2022, 16:15 | 5 |
Нет.
new-expression внутри вызывает operator new. Как реализован operator new - не прописывается. Зачастую, он реализуется с помощью malloc. Например, вот один из операторов в gcc, который реализован через malloc.
2
|
12.03.2022, 16:46 [ТС] | 6 | |||||
Вот и мне так казалось, просто лезть в исходники тяжко...
Тест, кстати, поспел. malloc + free: 3315062900 new[] + delete[]: 3518092100 Для кого-то может быть и не критично, а у меня приложение будет сутками крутиться - набежит. Для старта достаточно, потом наверное свой аллокатор наваяю. Сам тест: Кликните здесь для просмотра всего текста
0
|
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
12.03.2022, 17:12 | 7 |
в контексте данного утверждение под new подразумевается operator new
operator new - это и есть функция. очевидно жеж, что высказывание - лютый бред. что касается твоей методички: выбрось нахер это говно, и читай нормальное чтиво.
1
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
13.03.2022, 13:36 | 8 |
Преждевременная
Что же такое там сутками будет крутиться, что: 1) Разница в четвертом знаке будет заметна 2) Выделение/освобождение памяти - узкое место? В любом случае переход между new и malloc не спасет, придется писать свой аллокатор. Да и то, что выделение памяти - узкое место говорит о том, что вы что-то делаете не так.
0
|
13.03.2022, 15:08 [ТС] | 9 |
6% - не четвертый знак.
Согласен, а кто занимается оптимизацией? Или выбор из двух вариантов - это оно и есть? Я об этом упомянул, но кто ж читает...
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
13.03.2022, 15:16 | 10 |
vantfiles, Основной посыл: так делать не надо. Любой системный вызов - это дорого. Если этот выбор влияет на производительность - надо менять архитектуру.
3 и 5 при беглом просмотре перепутал. Добавлено через 54 секунды 6% от операций выделения памяти, а не всего.
0
|
13.03.2022, 15:16 | |
13.03.2022, 15:16 | |
Помогаю со студенческими работами здесь
10
Save Time and Get Faster Result Order YourBest Essay Malloc си new vs malloc new, malloc, Malloc vs new new на malloc Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |