Kernekoncepter
The goal is to create a programming language and runtime that has effectively constant-time performance for all operations, constant memory overhead, and bounded garbage collection pauses.
Resumé
The paper presents a vision for a new programming language and runtime called Bosqe that is designed to achieve effectively constant-time (Ω(c)) performance. The key ideas are:
-
Language Design:
- Fully defined and deterministic behavior
- Immutable values
- No cycles in the object graph
- No identity-based object comparisons
- Use of asymptotically stable algorithms in the standard library
-
Standard Library and Compilation:
- Use of data structures and algorithms with stable worst-case performance, even if they have lower best-case performance
- Deterministic regular expression matching with polynomial-time complexity
- Static compilation with aggressive optimizations enabled by the language semantics
-
Garbage Collection:
- Constant memory overhead
- Fixed work per allocation
- Bounded collector pauses
- No application code overhead (e.g. no write barriers)
- Ability to defragment the heap incrementally without disrupting the application
-
First-Class Telemetry and Analytics:
- Integrating performance monitoring and diagnostics into the language and runtime
- Leveraging determinism for replay and analysis of performance issues
The goal is to create a system that provides stable and predictable performance, even in the face of tail-latency issues, by addressing the problem at a foundational level in the language and runtime design.
Statistik
There are no specific metrics or figures presented in the content.
Citater
"The performanceof an application/runtime is usually thought of as a continuous function where, the lower the amount of memory/time used on a given workload, then the better the compiler/runtime is. However, in practice, good performance of an application is conceptually more of a binary function – either the application responds in under, say 100ms, and is fast enough for a user to barely notice [18], or it takes a noticeable amount of time, leaving the user waiting and potentially abandoning the task."
"Our vision, and work-in-progress, is to create a language and runtime that is designed to be Ω(푐) in its performance and memory use behaviors – that is, it is designed to have an effectively constant time to execute all operations, there is a constant fixed memory overhead for the application footprint, and the garbage-collectorperforms a constant amount of work per allocation + a (small) bounded pause for all collection/release operations."