The OpenNET Project / Index page

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



"Redbean 2.0 - платформа для web-приложений, упакованных в универсальный исполняемый ZIP-архив"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для контроля за появлением новых сообщений - перед выходом жмите "Пометить прочитанным".
. "Redbean 2.0 - платформа для web-приложений, упакованных в ун..." +/
Сообщение от Аноним (-), 29-Июн-22, 22:56 
> Эксперты уже докопались до правды.)) так то мне тоже интересен в первую очередь код.

Как по мне они могут быть хоть тайным обществом марсиан если выдают на гора что-то интересное, какое мне дело до их биологических особенностей?

> "Загрузчик" работает на машине разработчика, как составная часть велосипедного "линкера".

При этом очевидный минус что мы залетаем на кодинг и майнтенанс.

> Я так понимаю, что у скриптов линкера есть некие ограничения. Не
> очень хочется в них упереться, потратив неделю времени на изучение. Потому
> может оказаться проще разобраться с форматом и самому всё написать.

Я ни с какими ограничениями такого плана не сталкивался. В GCC есть экстеншн позволяющий attribute положить ту функцию или данные в конкретный section. Так что вектора идут в ".vec" например. И дальше мы знаем что его надо первым.

В линкерскрипте описывается порядок секций и их логические/физические адреса и что в них класть. Там все довольно круто и гибко. И даже можно на основе этого переменные provide'ить из линкера, это startup коду надо. Ну как, когда я подымаю стандартную сишную арену в МК, я должен знать например 1) куда я хочу INITIALIZED DATA поместить 2) сколько их там вообще. А изначально они в секции в флеше с другим физическим адресом. То же и BSS касается.

А если это не делать... оно как будет си, но довольно странным. Никогда не видел переменные переживающие RESET? К сожалению это больше баг, т.к. в таком виде ресет не ведет к гарантированому деглюку системы.

> Имел ввиду, что там от начала загрузки исполняемого файла до запуска основного
> потока процесса проходит больше времени, чем линуксе. Если верить экспертам. Сам
> я пока не измерял как следует, но время инициализации libc.so не впечатлило.

У этой штуки свой libc для начала, как я понимаю. А glibc какой оптимизирован на скорость любой ценой. И кроме того в нормальной ситуации он в лине грузится и парсится 1 раз, потом RCU только небольшую дельту для разных процессов прихранивает. Это часть крутости и эффективности fork(). А тред отличается от процесса только объемом unshare()'нутого. Некий суперсет этого позволяет namespaces. Они идею из plan9 вроде содрали изначально.

> Как оказалось, не меньше, не каждый готов заплатить такую цену. Потому меня
> настораживают идеи всяких универсальностей.

По сравнению с электроном, где запуск хрома и V8? :)

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Redbean 2.0 - платформа для web-приложений, упакованных в универсальный исполняемый ZIP-архив, opennews, 25-Июн-22, 16:12  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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