у меня шелл не поддерживает $()
❤5😭4🔥2👍1🖕1
Forwarded from opennet.ru
Представлены X-сервер Frame и рабочий стол CHasm, написанные на ассемблере
Проект Frame развивает новый X-сервер, написанный целиком на ассемблере NASM для архитектуры x86_64 и предназначенный для работы в Linux без внешних зависимостей. Взаимодействие с ядром Linux, включая интерфейсы DRM/KMS и evdev, осуществляется напрямую через системные вызовы, без привлечения библиотек, таких как libc, Mesa и FreeType. Код Frame распространяется как общественное достояние. Разработка ведётся с привлечением AI-ассистента Claude Code.
Подробнее:
https://opennet.ru/65922/
https://opennet.me/65922/
Проект Frame развивает новый X-сервер, написанный целиком на ассемблере NASM для архитектуры x86_64 и предназначенный для работы в Linux без внешних зависимостей. Взаимодействие с ядром Linux, включая интерфейсы DRM/KMS и evdev, осуществляется напрямую через системные вызовы, без привлечения библиотек, таких как libc, Mesa и FreeType. Код Frame распространяется как общественное достояние. Разработка ведётся с привлечением AI-ассистента Claude Code.
Подробнее:
https://opennet.ru/65922/
https://opennet.me/65922/
😨4🐳2
opennet.ru
Представлены X-сервер Frame и рабочий стол CHasm, написанные на ассемблере Проект Frame развивает новый X-сервер, написанный целиком на ассемблере NASM для архитектуры x86_64 и предназначенный для работы в Linux без внешних зависимостей. Взаимодействие с…
This media is not supported in your browser
VIEW IN TELEGRAM
🍓1
Forwarded from Le avventure sbuneckone
L'alignment è molto importante per la vector unit, infatti per eseguire istruzioni SIMD tramite intrinsics di AVX è conveniente che i dati siano allineati, ovvero che l'indirizzo di memoria del primo sia multiplo di 32 (per AVX2), che è proprio la size in byte dei suoi registri.
Avere i dati allineati permette di fare operazioni di load e store in maniera più efficiente, sfruttando le cache line al massimo (che sarebbero i blocchetti da 32 byte allineati in memoria, delimitati dalle linee orizzontali nere nell'immagine).
Nell'esempio vediamo il vettore degli sbuneckoni felici che è aligned, visto che parte dall'indirizzo 0x00FFA000 (divisibile per 32).
Se si prova invece ad applicare aligned store e load per il vettore Sburreck, che non è aligned (l'indirizzo di partenza non è divisibile per 32), si andrà incontro a undefined behavior.
E niente, ho fatto tutto il post solo perché volevo fare il meme con Sburreck
Avere i dati allineati permette di fare operazioni di load e store in maniera più efficiente, sfruttando le cache line al massimo (che sarebbero i blocchetti da 32 byte allineati in memoria, delimitati dalle linee orizzontali nere nell'immagine).
Nell'esempio vediamo il vettore degli sbuneckoni felici che è aligned, visto che parte dall'indirizzo 0x00FFA000 (divisibile per 32).
Se si prova invece ad applicare aligned store e load per il vettore Sburreck, che non è aligned (l'indirizzo di partenza non è divisibile per 32), si andrà incontro a undefined behavior.
E niente, ho fatto tutto il post solo perché volevo fare il meme con Sburreck
🐳2🍓2😭2
Forwarded from /dev/sda
у у ува ува ва.
😭8🍓1