Tvix: We Are Rewriting Nix
I don&#x27;t know much about Nix, although it has been on my radar for some time.  The claim that the language performance is bad pops up time and again, and I&#x27;m sure many people would be happy to have a faster alternative --- so props to them for trying to address this clearly important problem.<p>That being said, in perusing related issues on GitHub such as [1], I have found no serious attempts to even profile the damn thing.  The typical attempt seems to be throwing a random idea at the evaluator and crossing fingers.  The example of a &quot;performance experiment&quot; [2] from the article is self-described as follows:<p>&gt; Add an alternative impl of the now-abstract Bindings base class that is backed by a std::vector, somewhat similar but stylistically a little superior to the array-backed implementation in upstream nix.<p>I fail to see how that is a performance experiment when it does not mention performance at all.<p>The post also mentions issues with the general Nix design and a desire to modernize it, which I am unqualified to comment on, but seems a worthwhile endeavor in and of itself.  I do hope that they won&#x27;t end up writing a new evaluator for the Nix language without a proper understanding of what makes the current one slow and a clear plan not to repeat its mistakes, or the new one risks being just as slow as the old one.<p>[1] : <a href="https:&#x2F;&#x2F;github.com&#x2F;NixOS&#x2F;nix&#x2F;issues&#x2F;2652" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;NixOS&#x2F;nix&#x2F;issues&#x2F;2652</a><p>[2] : <a href="https:&#x2F;&#x2F;cl.tvl.fyi&#x2F;c&#x2F;depot&#x2F;+&#x2F;1123&#x2F;" rel="nofollow">https:&#x2F;&#x2F;cl.tvl.fyi&#x2F;c&#x2F;depot&#x2F;+&#x2F;1123&#x2F;</a>