169 похожих чатов

Т.Е. как именно адреса на стека вместо адресов в кучи

помогут ускорить доступ к объекту?

17 ответов

2 просмотра

Ну во-первых доступ к объектом в куче осуществляется через лишний указатель. Во-вторых речь про выделение. И одна инструкция выигрывает в сравнении с вызовом аллокатора, который, если не повезет, еще и прерывание сделает.

serfcity -fsanitize=undefined,address
Ну во-первых доступ к объектом в куче осуществляет...

Ты в курсе что такое рекурсия? :) Сколько раз себя самого вызовешь с выделением локального буфера на стеке под обьект?

Александр (Rouse_) Багель
А, ну тогда понятно...

Ну представляешь же как Object выделяется? Просто на стеке. За 1 инструкцию.

zamtmn
никто не говорит что всё нужно выделять на стеке

Я просто описал один из вариантов быстрого убития стека через локальные обьекты :)

Александр (Rouse_) Багель
Я просто описал один из вариантов быстрого убития ...

собственно куча мелочи в куче будет убийством для производительности

serfcity -fsanitize=undefined,address
Какую рекурсию?

Ты уже забыл про вопрос? Ок, напомню https://t.me/Delphi_Lazarus/345071

Александр (Rouse_) Багель
Ты уже забыл про вопрос? Ок, напомню https://t.m...

Да нисколько. Точно так же как Integer какой-нибудь. Размер типа известен на момент компиляции.

zamtmn
собственно куча мелочи в куче будет убийством для ...

Не думаю, но вот если её выжрать всю - вот тогда будет катастрофа.

serfcity -fsanitize=undefined,address
Да нисколько. Точно так же как Integer какой-нибуд...

Короче понятно, ты либо не понимаешь как работает рекурсия либо не понимаешь как работает стек если не видишь подвоха

Александр (Rouse_) Багель
Короче понятно, ты либо не понимаешь как работает ...

Я понимаю и то, и другое. И да, я не вижу подвоха, потому что в C и в C++ именно так выделение на стеке и происходит.

serfcity -fsanitize=undefined,address
Я понимаю и то, и другое. И да, я не вижу подвоха,...

Ок, тогда если у тебя обьект размером в 4кб (допустим) лежит на стеке то сколько итераций рекурсивно ты сможешь выполнить?

Похожие вопросы

Обсуждают сегодня

Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
48
а проверьте, собирается ли у кого сейчас транк лазаря через делюкс? у меня вот: fpcupdeluxe: info: Lazarus Native Installer (BuildModuleCustom: UserIDE): LazBuild: building Us...
Iluha Companets
20
Такой вопрос: Почему DocLister, если указать другие шаблоны для пагинации - ко всем указанными шаблоном присваивается пустая строка?
Кирилл Гацевич
11
добрый день. возможно ли изменить цвет окон лазаруса? Как?
Budemposmotret
35
This is a big issue. Just by being a citizen of a country, you are denied to contribute to Open Source software: https://youtu.be/L5Ec5jrpLVk?si=1iIuHnMPbCB4anV-
Sharuzzaman Ahmat Raslan
72
Мне тут приспичило встроить в программу форматировние текста SQL, расставить переносы строк и отступы так, чтобы лучше читалось. Я что-то свое изобразил, оно после ключевых сл...
Sergey Bodrov
6
Господа, а кто-нибудь сталкивался с размещением на TTabControl/TTabSheet множества контролов (> 100) с последующими External: Access violation? Вот буквально на ровном месте. ...
Dmitry
29
Вот например простой пример, как получить стоимость хешрейта монеты монеро с сайта whattomine.com c использование сеарилизатора при парсинге JSON TaskProfit := TTask.Run(proc...
Delphi Coder
2
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Does anyone have some zeroday's left?
Wito!d ♥️🩷
44
Карта сайта