powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Правильная проверка объекта на существование, альтернатива Assigned(...
25 сообщений из 62, страница 2 из 3
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081567
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksandr Sharahov,

Используется хэш таблица от Soft 4 you, она в несколько раз быстрее стандартной.
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081568
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swame2,

ну, я знаю варианты побыстрее ))
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081569
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksandr Sharahov,

Возможно, тесты делались во времена D 10.1
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081571
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2021, дельфисты изобрели GC =)

Осталось изобрести сопутствующие GC технологии, многим из которых овер 20 лет.
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081572
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Siemargl,

>>2021, дельфисты изобрели GC =)
>>Осталось изобрести сопутствующие GC технологии, многим из которых овер 20 лет.

А те, у кого есть GC, на нагруженных приложениях понимают, что он не подходит,
ищут способы обхода и изобретают ручное управление памятью.
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081574
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swame2
Siemargl,

>>2021, дельфисты изобрели GC =)
>>Осталось изобрести сопутствующие GC технологии, многим из которых овер 20 лет.

А те, у кого есть GC, на нагруженных приложениях понимают, что он не подходит,
ищут способы обхода и изобретают ручное управление памятью.

Т.е ты до конца не дочитал, или не понял...
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081576
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
- А не удалить ли мне вон тот объект? А вдруг он уже удален?
...как вообще такие вопросы могут возникнуть? Программист "под грибами"?
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081583
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может, что-то вроде in memory database
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081584
zedxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут однозначно надо задействовать интерфейсы и weak атрибут. Собственно, это штатная реализация того велосипеда, который вы изобретаете.
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081585
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zedxxx,

штатная реализация - работать с объектами через идентификаторы
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081586
zedxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksandr Sharahov, Если сложно вручную отследить время жизни объекта, лучше доверить это дело машине.
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081587
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zedxxx,

мне не сложно, и да, у меня это делает машина )
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081623
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
2021, дельфисты изобрели GC =)

Осталось изобрести сопутствующие GC технологии, многим из которых овер 20 лет.


Интерфейсы в делфях были всегда, если что. Кому нужен GC - их юзает.
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081634
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon
Siemargl
2021, дельфисты изобрели GC =)

Осталось изобрести сопутствующие GC технологии, многим из которых овер 20 лет.


Интерфейсы в делфях были всегда, если что. Кому нужен GC - их юзает.
Интерфейсы это подсчет ссылок так то. Это другая технология.

Блин, расширяйте кругозор!

ЗЫ. Я не совсем точен, изобретение @swame2 это не совсем GC, тому отдельный массив не требуется, это GC на костылях.
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081636
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

я в курсе. результат такой же как у @swame2, +-
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081658
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Siemargl,

>>ЗЫ. Я не совсем точен, изобретение @swame2 это не совсем GC, тому отдельный массив не требуется, это GC на костылях.

Это вообще не GC и к нему отношения не имеет.
Цель совсем другая, обработка зависших указателей в условиях ручного управления памятью,
без попыток автоматического освобождения, так как в моем случае от него был бы только вред.
Читай внимательно.
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081660
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если жизненный цикл объекта не известен ... это плохо.
FreeAndNil призвана облегчить жизнь незнающим.
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081667
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swame2> без попыток автоматического освобождения,
swame2> так как в моем случае от него был бы только вред.

А с чего бы это? Учёт ссылок тоже не ведётся никак?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081673
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам,

Учет ссылок - что это? Объекты дестроятся свои владельцем. Но на объект могут ссылаться и другие объекты, не являющиеся его владельцам и не обязательно выгружаемые при выгрузке этого объекта их памяти. В этом случае ссылка должна обнулиться.

Приложение сильно нагружено по памяти. Нужно в контролируемые моменты времени выгружать большие документы (миллионы объектов, сотни мегабайт) и на их место загружать новые. Коллектор освободил бы память в понятный ему момент времени, т.е. неконтролируемо. Память осталась занятой, надо гадать чем именно.
Но если на объект есть ссылка, т.е. при использовании старого ARC с интерфейсами такие объекты , на которые есть ссылки, не будут освобождены, и по цепочке не будут освобождены другие объекты. Да в старом ARC было извратиться, вручную настраивая счетчики ссылок, перекрывая AddRef / Release . И в нормальном GC это можно отрегулировать настройками атрибутов ссылок. Но неужели это проще, чем аккуратно расставить Free в пару c Create? Для меня c последним как-то проблем не возникало.
Weak ссылки? Они появились недавно , а проблему нужно было решать задолго до них.
Не думайте что я такой дурачок-велосипедостроитель. Ваши технологии с интерфейсами и подсчетами ссылок я применял 20-15 лет назад. Но когда объемы документов стали расти быстрее, чем доступная память в компе, стало понятно что все они не годятся, так как сжирают память и скорость. Все это давно повыкидывали из нагруженных мест кода.
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081677
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swame2
Weak ссылки? Они появились недавно
Недавно атрибут [weak] стал неактуален))))
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081678
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2
Недавно атрибут [weak] стал неактуален))))

Для интерфейсов он всё ещё актуален, только есть нюанс...
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081679
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asutp2,

>>Недавно атрибут [weak] стал неактуален))))

Да, Windows и Android надо рассматривать отдельно. Я в основном по Windows
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081686
northener
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hlopotun
Гаджимурадов Рустам

.......
А что значит "проверить обьект на существование" ?
.......

был он создан через Create или нет.
В данном случае просто устранил проблему инициализировав переменную с nil сразу после обьявления.
Была мысль что если система понимает в момент вызова что объект не сушествует и происходит обращение к чужой памяти то логично было бы иметь возможность определить это из программы тоже не вызывая исключения.

Уничтожая объект (или как тут выражаются некие явно не русские "дестроите") вы лишь сообщаете ОС, что та память, которую занимал объект вам больше не нужна. А ОС уже сама решает что с ней делать. Отдать другому процессу или погодить. А вдруг вам она снова понадобится!
Ну это так в добавок к уже сказанному.
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081687
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
northener
hlopotun
пропущено...

был он создан через Create или нет.
В данном случае просто устранил проблему инициализировав переменную с nil сразу после обьявления.
Была мысль что если система понимает в момент вызова что объект не сушествует и происходит обращение к чужой памяти то логично было бы иметь возможность определить это из программы тоже не вызывая исключения.

Уничтожая объект (или как тут выражаются некие явно не русские "дестроите") вы лишь сообщаете ОС, что та память, которую занимал объект вам больше не нужна. А ОС уже сама решает что с ней делать. Отдать другому процессу или погодить. А вдруг вам она снова понадобится!
Ну это так в добавок к уже сказанному.

"Уничтожая" объект, ты обращаетесь лишь к диспетчеру памяти твоей программы. Не факт, что дело скоро дойдет до ОС. Вдобавок к добавку.
...
Рейтинг: 0 / 0
Правильная проверка объекта на существование, альтернатива Assigned(...
    #40081688
northener
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ъъъъъ
northener
пропущено...

Уничтожая объект (или как тут выражаются некие явно не русские "дестроите") вы лишь сообщаете ОС, что та память, которую занимал объект вам больше не нужна. А ОС уже сама решает что с ней делать. Отдать другому процессу или погодить. А вдруг вам она снова понадобится!
Ну это так в добавок к уже сказанному.

"Уничтожая" объект, ты обращаетесь лишь к диспетчеру памяти твоей программы. Не факт, что дело скоро дойдет до ОС. Вдобавок к добавку.

Не спорю. Но обрати внимание на уровень вопроса ТС. Я свой топик обращал именно к нему.
...
Рейтинг: 0 / 0
25 сообщений из 62, страница 2 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Правильная проверка объекта на существование, альтернатива Assigned(...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]