The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним84701, 19-Сен-20 18:08 
>  все управление памятью в compile time.

В мечтах, разве что.
> Вот про ARC https://oxozle.com/2017/05/10/sravnenie-arc-i-garbage-collector/
>> издержки на рантайм минимальны (но все же они есть, т. к. считает ссылки ARC в рантайме)

https://wiki.gnome.org/Projects/Vala/ReferenceHandling
> Each time a reference type object is assigned to a variable (referenced) its internal reference count is increased by one (ref), each time a reference variable goes out of scope the object's internal reference count is decreased by one (unref).

Автоматический подсчет ссылок  -- это таки "щелканье" счетчиком ссылок для объекта в рантайме.
Как в Perl или (С)Python (только там прикрутили еще и отключаемый gc.disable() сборщик циклических зависимостей).
В "compile time" только изменение счетчика вставляется (ну и компилятор, в принципе, может вставить аналог free при выходе объекта из зоны видимости, при условии, что ссылка на объект никуда не передавалась).
Потому что "настоящее" "compile time" управление памяти требует "немного" более сложную  семантику ЯП -- так нелюбимые здесь некоторыми комментаторами "закорючки" и "мозголомные" коцепты владения-времени-жизни раста там не от хорошей жизни придумали.

Впрочем, в Vala можно делать и ручками:
>You can always choose to do manual memory management if you feel as if you must have full control.

...
>Compact classes do not support reference counting by default.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру