about summary refs log tree commit diff
path: root/web/tvl/blog/tvix-status-202209.md
diff options
context:
space:
mode:
Diffstat (limited to 'web/tvl/blog/tvix-status-202209.md')
-rw-r--r--web/tvl/blog/tvix-status-202209.md47
1 files changed, 27 insertions, 20 deletions
diff --git a/web/tvl/blog/tvix-status-202209.md b/web/tvl/blog/tvix-status-202209.md
index 8bf731f25c69..f617b5d1b464 100644
--- a/web/tvl/blog/tvix-status-202209.md
+++ b/web/tvl/blog/tvix-status-202209.md
@@ -28,24 +28,10 @@ and [sterni][].
 
 ### So, what's working now?
 
-The answer is *most things*! However, there are some unfinished and
-important feature areas:
+The answer is *most things*! You can enter many Nix language
+expressions in [Tvixbolt][] and observe how they are evaluated.
 
-1. The majority of Nix's `builtins` are not yet implemented (including
-   fundamental ones such as `import` and `derivation`).
-
-2. Recursive attribute sets (`rec`) are not yet implemented. This is
-   actually not because of the recursion in itself, but because of the
-   handling of nested keys (such as `a.b`), for which we are designing
-   a more efficient solution than what is currently in place.
-
-In both cases we have mostly figured out how to do the remaining work
-and it is simply a question of time until we've done it. Progress is
-steady and can of course be tracked [in the source][src] (viewer
-without Javascript [here][src-noscript]).
-
-At the same time, we've already implemented some basics that are
-hopefully going to have a huge impact further down, such as:
+There's a lot of interesting stuff going on under-the-hood, notably:
 
 * The Tvix compiler is built to be able to emit warnings & errors
   without failing early, as well as retaining as much source
@@ -66,7 +52,13 @@ hopefully going to have a huge impact further down, such as:
   differently based on whether it is empty, a `name/value` pair or a
   larger set.
 
-### How does this all work?
+We've also (constrained by the available features) run some initial
+benchmarks against C++ Nix, and in most cases Tvix evaluation is an
+order of magnitude faster. However, these benchmarks are in no way
+indicative of real-life performance when evaluating something like
+`nixpkgs` yet, so stay tuned for more information on performance.
+
+### How does it all work?
 
 Tvix's evaluator is implemented using a custom abstract machine with a
 very Nix-specific instruction set, as well as a compiler that
@@ -89,8 +81,23 @@ towards).
 
 ### What's next for tvix-eval?
 
-Apart from the missing language features outlined above, the next
-steps are:
+Despite everything, there are some unfinished and important feature
+areas:
+
+1. The majority of Nix's `builtins` are not yet implemented (including
+   fundamental ones such as `import` and `derivation`).
+
+2. Recursive attribute sets (`rec`) are not yet implemented. This is
+   actually not because of the recursion in itself, but because of the
+   handling of nested keys (such as `a.b`), for which we are designing
+   a more efficient solution than what is currently in place.
+
+In both cases we have mostly figured out how to do the remaining work
+and it is simply a question of time until we've done it. Progress is
+steady and can of course be tracked [in the source][src] (viewer
+without Javascript [here][src-noscript]).
+
+Apart from that, the next steps are:
 
 * Comprehensive benchmarking. We are standing up an infrastructure for
   continuous benchmarking to measure the impact of changes, and to be