From: the.beez.speaks@gmail.com   
      
   On 17-01-2026 08:10, Paul Rubin wrote:   
   > Hans Bezemer writes:   
   >> 5. I added GCC extension support to 4tH in version 3.62.0. At the   
   >> time, it improved performance by about 25%. By accident I found out   
   >> that was no longer true. switch() based was faster. I didn't know   
   >> there had been changes in that regard to GCC.   
   >   
   > If you mean the goto *a feature, these days you might try using tail   
   > calls instead. GCC and LLVM both now support a musttail attribute that   
   > ensures this optimization, or signals a compile-time error if it can't.   
   >   
   > https://lwn.net/Articles/1033373/   
      
   Thanks for the article! But contrary to the Python interpreter, you   
   could (thanks to some preprocessor magic) select how 4tH's VM would be   
   compiled with NO changes to the source code whatsoever. That's why it   
   could be reversed so easily by accident.   
      
   The tail call method however, requires an entirely different VM. That's   
   a lot of work for about 10% performance improvement - that may not even   
   last for a single GCC update. And requires two VM's to maintain..   
      
   So, I have to contemplate this carefully before putting work in it. But   
   it's nice to know that I was not crazy noticing this ;-) And learning   
   about a new GCC technique. :)   
      
   Hans Bezemer   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|