home.social

#unboxed — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #unboxed, aggregated by home.social.

  1. Unboxing Virgil ADTs for Fun and Profit

    Bradley Wei Jie Teo, Ben L. Titzer
    arxiv.org/abs/2410.11094 arxiv.org/pdf/2410.11094 arxiv.org/html/2410.11094

    arXiv:2410.11094v1 Announce Type: new
    Abstract: Algebraic Data Types (ADTs) are an increasingly common feature in modern programming languages. In many implementations, values of non-nullary, multi-case ADTs are allocated on the heap, which may reduce performance and increase memory usage. This work explores annotation-guided optimizations to ADT representation in Virgil, a systems-level programming language that compiles to x86, x86-64, Wasm and the Java Virtual Machine.
    We extend Virgil with annotations: #unboxed to eliminate the overhead of heap allocation via automatic compiler transformation to a scalar representation, and #packed, to enable programmer-expressed bit-layouts. These annotations allow programmers to both save memory and manipulate data in formats dictated by hardware. We dedicate this work as an homage and echo of work done in collaboration with Jens in the work entitled "A Declarative Approach to Generating Machine Code Tools", an unpublished manuscript from 2005. In fact, this work inherits some syntactic conventions from that prior work. The performance impact of these representation changes was evaluated on a variety of workloads in terms of execution time and memory usage, but we don't include it because Jens like semantics and type systems better!

  2. Unboxing Virgil ADTs for Fun and Profit

    Bradley Wei Jie Teo, Ben L. Titzer
    arxiv.org/abs/2410.11094 arxiv.org/pdf/2410.11094 arxiv.org/html/2410.11094

    arXiv:2410.11094v1 Announce Type: new
    Abstract: Algebraic Data Types (ADTs) are an increasingly common feature in modern programming languages. In many implementations, values of non-nullary, multi-case ADTs are allocated on the heap, which may reduce performance and increase memory usage. This work explores annotation-guided optimizations to ADT representation in Virgil, a systems-level programming language that compiles to x86, x86-64, Wasm and the Java Virtual Machine.
    We extend Virgil with annotations: #unboxed to eliminate the overhead of heap allocation via automatic compiler transformation to a scalar representation, and #packed, to enable programmer-expressed bit-layouts. These annotations allow programmers to both save memory and manipulate data in formats dictated by hardware. We dedicate this work as an homage and echo of work done in collaboration with Jens in the work entitled "A Declarative Approach to Generating Machine Code Tools", an unpublished manuscript from 2005. In fact, this work inherits some syntactic conventions from that prior work. The performance impact of these representation changes was evaluated on a variety of workloads in terms of execution time and memory usage, but we don't include it because Jens like semantics and type systems better!

  3. Just #unboxed: Unser Nomos-Handbuch "Digitale Ethik". 57 Autor:innen. 661 Seiten. 3 Jahre Arbeit. So happy. Ein Klotz im Regal, fürwahr, aber es gibt ihn auch digital, klar. Und für gerade einmal 10 Cent pro Seite ist dieser nahrhafte Kraftriegel der Ethik überdies als angemessen günstig anzupreisen. So sagt's Euren Bibliotheken. Oder leset selbst. ❤️ DOI: 10.5771/9783748942399
    Alle Infos hier: nomos-shop.de/de/p/gr-978-3-75
    #DigitaleEthik #Philosophie