home.social

#компиляторные_оптимизации — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #компиляторные_оптимизации, aggregated by home.social.

  1. [Перевод] Удивительная оптимизация размера 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 умещается больше значений.

    habr.com/ru/articles/899834/

    #компиляторные_оптимизации #перечисления #enum #оптимизация_кода #оптимизации

  2. [Перевод] Удивительная оптимизация размера 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 умещается больше значений.

    habr.com/ru/articles/899834/

    #компиляторные_оптимизации #перечисления #enum #оптимизация_кода #оптимизации

  3. [Перевод] Удивительная оптимизация размера 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 умещается больше значений.

    habr.com/ru/articles/899834/

    #компиляторные_оптимизации #перечисления #enum #оптимизация_кода #оптимизации

  4. [Перевод] Удивительная оптимизация размера 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 умещается больше значений.

    habr.com/ru/articles/899834/

    #компиляторные_оптимизации #перечисления #enum #оптимизация_кода #оптимизации

  5. Код, который не ест батарейку: программируем с умом и экономим ресурсы

    Энергосбережение в программировании — тема, которую часто обходит стороной, пока ноутбук не сядет посреди важной видеоконференции. В этой статье разбираемся, как писать код, который не только работает, но и делает это энергоэффективно. Много примеров, немного философии и максимум пользы.

    habr.com/ru/articles/896468/

    #энергосбережение #энергоэффективный_код #оптимизация_потребления_энергии #асинхронность #low_power_coding #компиляторные_оптимизации #энергопотребление_алгоритмов #ресурсоемкость