Benki β†’ Bookmarks

β‡  previous page next page β‡’

A proposal for a dialect of C that is free of undefined behavior.

Now, undefined behavior is, of course, useful to compiler vendors because it enables certain optimizations. But in my mind it just makes a C a strange language without a clear idea of itself: It is not the portable assembly language that many of its users treat it as, one that you can rely on to translate into predictable hardware-level instructions; yet at the same time it is not a high-level language either, unsafety and machine specifics lurking behind every corner.

The same author later follows up rejecting the idea of achieving broad consensus before implementing such a dialect as unrealistic. Instead, they argue, someone influentual enough should just pave the way by writing their code in a Friendly C and making it the quasi-standard.

It is clearly a bad idea to use jakarta.json.Json, which looks up jakarta.json.spi.JsonProvider using java.util.ServiceLoader for each method call:

perf: Reuse a single JsonProvider.

This speeds up the formatter significantly.

Before:

    Benchmark                                         Mode  Cnt     Score      Error  Units
    FormatterBenchmark.massivelyStructuredLogRecord  thrpt   10  6552.727 Β± 2169.572  ops/s
    FormatterBenchmark.simpleLogRecord               thrpt   10  8126.699 Β± 2259.912  ops/s
    FormatterBenchmark.structuredLogRecord           thrpt   10  5594.849 Β± 1129.151  ops/s

After:

    Benchmark                                         Mode  Cnt       Score        Error  Units
    FormatterBenchmark.massivelyStructuredLogRecord  thrpt   10  137879.001 Β±  30467.644  ops/s
    FormatterBenchmark.simpleLogRecord               thrpt   10  896085.217 Β± 249890.421  ops/s
    FormatterBenchmark.structuredLogRecord           thrpt   10  553428.807 Β± 194787.754  ops/s

Creates WebAssembly components from JavaScript by embedding a full SpiderMonkey runtime in each component.

The resulting components are large, but not as slow as you might think.

A systems programming language that is a superset of Python. Targets AI development. Has an ownership model similar to Rust’s, but has an otherwise simpler type system with a focus on compilation speed.

If someone can pull it off, Chris Lattner can.

A small, Rust-only embedded operating system with preemptive multitasking and message-passing IPC.

β‡  previous page next page β‡’