The OpenNET Project / Index page

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



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

Исходное сообщение
"Представлена библиотека Aya для создания eBPF-обработчиков н..."
Отправлено Прорыв_запарты_фелиал, 17-Июн-21 12:57 
>А я не понимаю. Я даже не понимаю, что ты имеешь в виду под "моделью памяти". Что за модель памяти? Что-то типа RAM, EM, VAT[1]? Нет, наверное, это всё ж теоретические модели памяти _машины_, а не языка. Или что-то типа этого[2]? Не мог бы ты поделиться ссылкой, на тот теоретический фреймворк, в который позволяет тебе выстроить модель памяти раста?

Что за нелепая херня? Идёшь и гуглишь memory model в контексте раста, можешь на гитхабе в ишьюсах поискать. Там спросишь сектантов что это такое.

Нет, ни к какой машине модель памяти отношения не имеет. Это именно модель памяти языка, потому как язык где-то исполняется и у языка должны быть представления о том где. Под языком здесь понимается не то, что у языка есть какая-то память. Память есть у железяки. Понимаются именно представления языка о памяти.


У говнораста, как и у любой скриптухи - нет какой-либо модели памяти. Говнораст существует только в рамках vm и его не заботит подобное.

При этом даже по части скриптухи это не всегда так, в силучая когда скриптуха является первичной по отношению к вм, то вм считается частью языка. Допустим, поэтому если взять ту же жаву - модель памяти там жавы, хотя на самом деле jvm, потому как жава этим не занимается.

А вот если взять какой-нибудь котлин, либо любую херню поверх jvm, то никакой котлин-модели-памяти не появится. Потому как скриптуха её делегирует vm, а вторичная скриптуха не определяет vm.


Вот llvm это такая же vm, которая имеет свою модель памяти. Которая, в свою очередь, определяется сишной моделью памяти. Она куда более конкретна.


В самом же говнорасте есть два языка. Это unsafe, который не более чем другой синтаксис для си. Там сишная модель памяти, многопоточности. Сишный же интероп и прочее. Если чуть более конкретней, то это обёртка над llvm-ir, вернее llvm-кодогеном. llvm даёт билдеры для функций, агрегатов, глобалов и прочего. Исключений. Того, что есть в си. Именно поэтому в гонорвасте более ничего нет.

А сам же llvm-ir - это просто более формальная версия си. Потому как реализует его и его окружение в себе.


Далее есть safe-говнораст. Это уже обёртка под unsafe, там совершенно левая модель памяти. Она в принципе памятью не занимается, а занимается ссылками. Поэтому моделью памяти её звать жирно, а зовётся так потому, что БЧ базируется именно на ней.


Сам же БЧ - это максимально примитивное дерьмом. По-сути там есть единственный инвариант. mut ref == unique ref. Это все правила.

Из них напрямую следует запрет шаринга. !mut ref == !unique ref, т.е. ридонли-шаринг. Ридонли-шаринг не считается за шаринг, потому как проблем не имеет. Там нет ни гонок ни прочей херне, о которой тебе рассказала пропаганда.

unique ref так же не может быть шарингом. Шаринг предполагает не-уникальные ссылки. Далее unique ref == mut ref, только так в говнорасте может взяться мутабельная ссылка.

 

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



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

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