Индекс форумов |
Исходное сообщение |
---|
"Выпуск языка программирования Rust 1.76" Отправлено n00by, 09-Фев-24 15:20 |
Если со строкой делается что-то большее, чем передача аргументом в puts(), то она хранится в графе (дереве). Минимум два указателя - это 16 байт. Если заменить их на индексы массива, то получится экономия в 2 или даже 4 раза. В последнем случае размер окажется ограничен 64К узлами. Что бы это ограничение обойти, можно вместо символа хранить маркер, указывающий, что в следующей ячейке массива хранятся старшие 16 разрядов индексов. Таким образом можно упаковать и до однобайтных индексов, что даст экономию памяти в пределе до 8 раз (без учёта символа). Но настоящих программистов не осталось, потому на Rust двусвязный список unsafe, а браузеры выжирают гигабайты. |
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования. |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |