3,243 karma · joined July 25, 2017
Maybe. I would expect that 99% of python code going forward will still be single threaded. You just don’t need that extra complexity for most code. So I would expect that python code as a whole will have worse performance, even though a handful of applications will get faster.
Granted, you can’t do that with shredded cheese. which is why it has to be refrigerated and will eventually go bad.
1. Every instruction results in functional call overhead, which is something that tail calls (with protect_none) avoid.
2. Because you are using closures the next instruction has to be heap allocated. I don’t know what closures look like in Go, but there will involve some indirection.
3. Every iteration of the loop requires a bounds check on ip.
Now, none of these may matter for SQL because as the blog post said, the instructions are quite large. And it already shows huge improvements over the AST interpreter. I am just curious how the switch would benchmark.
On an unrelated note. Using closures to write an interpreter brought to mind this talk https://m.youtube.com/watch?v=V8dnIw3amLA&list=PLFTr8ChfQg9t...
[1] https://ziglang.org/download/0.14.0/release-notes.html#Code-...
It really drove home for me that a job is more than just wages. If your goal is to maximize your income, gig work is probably not for you. But the nice thing is, no one is making you do it. If you don’t like the pay, go do something else. But it seems like gig work fills a niche that works really well for some people.
They do mention that some of the tasks here are susceptible to brute force and they plan to address that in ARC-AGI-2.
> nearly half (49%) of the private evaluation set was solved by at least one team during the original 2020 Kaggle competition all of which were using some variant of brute-force program search. This suggests a large fraction of ARC-AGI-1 tasks are susceptible to this kind of method and does not carry much useful signal towards general intelligence.
https://coredumped.dev/2023/08/09/text-showdown-gap-buffers-...
Unlike a lot of commenters here, I am trying to stay backwards compatible with elisp. It is not the best, but huge body of existing code is one of the strengths of Emacs. Unlike vimscript, elisp isn’t painful enough to be worth replacing.
[1] https://coredumped.dev/2021/10/21/building-an-emacs-lisp-vm-...
[2] https://coredumped.dev/2022/05/19/a-vision-of-a-multi-thread...
1. You can already define what program opens a file in dired. You could even use detach it from the Emacs process so it stays open when Emacs closes.
2 we already have vterm, which has all the features you described.
3. There are ways to make this better. I am actually in the process of writing a blog post about working efficiently over tramp.