Warning: mkdir(): No space left on device in /var/www/tgoop/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/misha_writes_code/--): Failed to open stream: No such file or directory in /var/www/tgoop/post.php on line 50
Миша пишет код@misha_writes_code P.182
MISHA_WRITES_CODE Telegram 182
В 2014 году браузер Google Chrome перешел с 32-битной архитектуры на 64-битную. Это улучшило скорость работы и безопасность, но в то же время увеличило потребляемую память, поскольку внутри движка V8 объекты JS представляют из себя объекты C++. А плюсовые объекты в свою очередь аллоцированы на куче, что означает, что с каждым JS объектом связан хотя бы один указатель, а размер указателя вырос с 4 байт до 8 при переходе на 64-битную архитектуру. Таким образом каждый (ну или почти каждый) объект JS стал больше на 4 байта просто на ровном месте.

В блоге разработчиков V8 есть очень подробная статья про то, как они боролись с возросшим потреблением памяти и к каким хитростям прибегали:

https://v8.dev/blog/pointer-compression

TLDR; Используется сжатие указателей. То есть вместо самого указателя хранится смещение относительно некоторого базового сегмента памяти, из-за чего образуется кусок памяти, для доступа к которому можно использовать более маленькие указатели (32 бита).

Кстати, там еще есть интересный момент с оптимизацией. Smi или Small Integer - специальный тип, унаследованный от указателя.
Smi представляет собой 31-битное целое число в 32-битной системе и 63-битное целое число в 64-битной системе, где оставшийся бит используется для хранения информации о том, что это Smi, а не указатель на объект. Для работы с небольшими числами (в циклах или индексах массивов) используются как раз Smi - это позволяет сильно сэкономить память на создании полноценных объектов.
🔥8🤔61👍1



tgoop.com/misha_writes_code/182
Create:
Last Update:

В 2014 году браузер Google Chrome перешел с 32-битной архитектуры на 64-битную. Это улучшило скорость работы и безопасность, но в то же время увеличило потребляемую память, поскольку внутри движка V8 объекты JS представляют из себя объекты C++. А плюсовые объекты в свою очередь аллоцированы на куче, что означает, что с каждым JS объектом связан хотя бы один указатель, а размер указателя вырос с 4 байт до 8 при переходе на 64-битную архитектуру. Таким образом каждый (ну или почти каждый) объект JS стал больше на 4 байта просто на ровном месте.

В блоге разработчиков V8 есть очень подробная статья про то, как они боролись с возросшим потреблением памяти и к каким хитростям прибегали:

https://v8.dev/blog/pointer-compression

TLDR; Используется сжатие указателей. То есть вместо самого указателя хранится смещение относительно некоторого базового сегмента памяти, из-за чего образуется кусок памяти, для доступа к которому можно использовать более маленькие указатели (32 бита).

Кстати, там еще есть интересный момент с оптимизацией. Smi или Small Integer - специальный тип, унаследованный от указателя.
Smi представляет собой 31-битное целое число в 32-битной системе и 63-битное целое число в 64-битной системе, где оставшийся бит используется для хранения информации о том, что это Smi, а не указатель на объект. Для работы с небольшими числами (в циклах или индексах массивов) используются как раз Smi - это позволяет сильно сэкономить память на создании полноценных объектов.

BY Миша пишет код


Share with your friend now:
tgoop.com/misha_writes_code/182

View MORE
Open in Telegram


Telegram News

Date: |

Earlier, crypto enthusiasts had created a self-described “meme app” dubbed “gm” app wherein users would greet each other with “gm” or “good morning” messages. However, in September 2021, the gm app was down after a hacker reportedly gained access to the user data. Done! Now you’re the proud owner of a Telegram channel. The next step is to set up and customize your channel. The imprisonment came as Telegram said it was "surprised" by claims that privacy commissioner Ada Chung Lai-ling is seeking to block the messaging app due to doxxing content targeting police and politicians. Choose quality over quantity. Remember that one high-quality post is better than five short publications of questionable value. For crypto enthusiasts, there was the “gm” app, a self-described “meme app” which only allowed users to greet each other with “gm,” or “good morning,” a common acronym thrown around on Crypto Twitter and Discord. But the gm app was shut down back in September after a hacker reportedly gained access to user data.
from us


Telegram Миша пишет код
FROM American