#компиляторные_оптимизации — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #компиляторные_оптимизации, aggregated by home.social.
-
[Перевод] Удивительная оптимизация размера enum в компиляторе Rust
Enum — одна из самых популярных фич Rust. Тип enum может иметь одно из значений в заданном множестве вариантов. /// Foo имеет значение или 32-битного integer, или символа. enum Foo { Int(u32), Char(char), } Значениями типа Foo могут быть или integer (например, вариант Foo::Int(3) с полезной нагрузкой 3 ), или символы (например, вариант Foo::Char('A') с полезной нагрузкой 'A' ). struct можно считать AND -комбинациями их полей, а enum — OR-комбинациями их вариантов. Этот пост посвящён удивительной оптимизации, выполняемой компилятором Rust с представлением в памяти значений enum , чтобы они занимали меньше места в памяти (спойлер: это не нишевая оптимизация). В общем случае, уменьшение размера значений может привести к ускорению программ, потому что значения передаются в регистрах CPU и в одну линию кэша CPU умещается больше значений.
https://habr.com/ru/articles/899834/
#компиляторные_оптимизации #перечисления #enum #оптимизация_кода #оптимизации
-
[Перевод] Удивительная оптимизация размера enum в компиляторе Rust
Enum — одна из самых популярных фич Rust. Тип enum может иметь одно из значений в заданном множестве вариантов. /// Foo имеет значение или 32-битного integer, или символа. enum Foo { Int(u32), Char(char), } Значениями типа Foo могут быть или integer (например, вариант Foo::Int(3) с полезной нагрузкой 3 ), или символы (например, вариант Foo::Char('A') с полезной нагрузкой 'A' ). struct можно считать AND -комбинациями их полей, а enum — OR-комбинациями их вариантов. Этот пост посвящён удивительной оптимизации, выполняемой компилятором Rust с представлением в памяти значений enum , чтобы они занимали меньше места в памяти (спойлер: это не нишевая оптимизация). В общем случае, уменьшение размера значений может привести к ускорению программ, потому что значения передаются в регистрах CPU и в одну линию кэша CPU умещается больше значений.
https://habr.com/ru/articles/899834/
#компиляторные_оптимизации #перечисления #enum #оптимизация_кода #оптимизации
-
[Перевод] Удивительная оптимизация размера enum в компиляторе Rust
Enum — одна из самых популярных фич Rust. Тип enum может иметь одно из значений в заданном множестве вариантов. /// Foo имеет значение или 32-битного integer, или символа. enum Foo { Int(u32), Char(char), } Значениями типа Foo могут быть или integer (например, вариант Foo::Int(3) с полезной нагрузкой 3 ), или символы (например, вариант Foo::Char('A') с полезной нагрузкой 'A' ). struct можно считать AND -комбинациями их полей, а enum — OR-комбинациями их вариантов. Этот пост посвящён удивительной оптимизации, выполняемой компилятором Rust с представлением в памяти значений enum , чтобы они занимали меньше места в памяти (спойлер: это не нишевая оптимизация). В общем случае, уменьшение размера значений может привести к ускорению программ, потому что значения передаются в регистрах CPU и в одну линию кэша CPU умещается больше значений.
https://habr.com/ru/articles/899834/
#компиляторные_оптимизации #перечисления #enum #оптимизация_кода #оптимизации
-
[Перевод] Удивительная оптимизация размера enum в компиляторе Rust
Enum — одна из самых популярных фич Rust. Тип enum может иметь одно из значений в заданном множестве вариантов. /// Foo имеет значение или 32-битного integer, или символа. enum Foo { Int(u32), Char(char), } Значениями типа Foo могут быть или integer (например, вариант Foo::Int(3) с полезной нагрузкой 3 ), или символы (например, вариант Foo::Char('A') с полезной нагрузкой 'A' ). struct можно считать AND -комбинациями их полей, а enum — OR-комбинациями их вариантов. Этот пост посвящён удивительной оптимизации, выполняемой компилятором Rust с представлением в памяти значений enum , чтобы они занимали меньше места в памяти (спойлер: это не нишевая оптимизация). В общем случае, уменьшение размера значений может привести к ускорению программ, потому что значения передаются в регистрах CPU и в одну линию кэша CPU умещается больше значений.
https://habr.com/ru/articles/899834/
#компиляторные_оптимизации #перечисления #enum #оптимизация_кода #оптимизации
-
Код, который не ест батарейку: программируем с умом и экономим ресурсы
Энергосбережение в программировании — тема, которую часто обходит стороной, пока ноутбук не сядет посреди важной видеоконференции. В этой статье разбираемся, как писать код, который не только работает, но и делает это энергоэффективно. Много примеров, немного философии и максимум пользы.
https://habr.com/ru/articles/896468/
#энергосбережение #энергоэффективный_код #оптимизация_потребления_энергии #асинхронность #low_power_coding #компиляторные_оптимизации #энергопотребление_алгоритмов #ресурсоемкость