News for hackers. Stuff that matters.
Re:How to Understand and Use Common Lisp by sillymath on Sunday May 14, 2023 @06:50AM (#35937022)
What language don't require type annotations to achieve good performance?, more specifically tell me any programming language that can beat sbcl at speed without using type annotations.
Re:How to Understand and Use Common Lisp by hayley-patton on Sunday May 14, 2023 @06:59AM (#35937060)
Not having used them, I'd expect the Truffle implementations of Python and Ruby to do well, seeing as Graal handles #2-5 of moonchild's list. From there #1 might fall out. (Apparently the fancy GCs for #6 are only in the Enterprise Edition though?)

I'm working on a better, parallel but still far from Java state-of-the-art GC for SBCL <https://zenodo.org/record/7816398> - which presumably is some skin in the game.

Re:How to Understand and Use Common Lisp by anthk on Sunday May 14, 2023 @08:11AM (#35937393)
Yeah, state of the art GC, but SBCL and ECL run circles on performance compared to any Java turd, even if being AOT compiled with GRAAL.

Just compare the Nyxt web browser with any Java monster out there.

Re:How to Understand and Use Common Lisp by hayley-patton on Sunday May 14, 2023 @08:35AM (#35937504)
Do they? I had to help SBCL with bounds checks (read: disable them) when porting the Java NonBlockingHashMap to Common Lisp. Perhaps still too micro- a benchmark, and I've indeed made turds with Spring, but the rest of HotSpot would do wonders on non-turd programs. (Would also expect Graal with JIT to be faster than AOT after warmup, but no experience there.)
Re:How to Understand and Use Common Lisp by pebal on Monday May 15, 2023 @02:19AM (#35944439)
Look at this real-time garbage collector for C++: https://github.com/pebal/sgcl
Re:How to Understand and Use Common Lisp by hayley-patton on Monday May 15, 2023 @02:27AM (#35944493)
Is there any documentation on the algorithm used?
Re:How to Understand and Use Common Lisp by pebal on Monday May 15, 2023 @03:04AM (#35944681)
The Mark and Sweep algorithm with tri-color marking variation was used. There is no documentation yet, but I am happy to answer your questions ([email protected]).
Re:How to Understand and Use Common Lisp by moonchild on Sunday May 14, 2023 @06:54AM (#35937035)
self, javascript (v8), java (hotspot; generics are latently monomorphised according to hotness; also see 'invokedynamic'), apl (apl\3000)
Re:How to Understand and Use Common Lisp by AnimalMuppet on Sunday May 14, 2023 @07:41AM (#35937244)
I don't think you can say that java "doesn't use type annotations".
Re:How to Understand and Use Common Lisp by tmtvl on Sunday May 14, 2023 @07:51AM (#35937294)
Well, technically you do have the var keyword now.

  var x = MyAwesomeClassFactoryBeanTemplate.getBean().getFactoryInstance().createNewMyAwesomeClass(foo, bar);
Re:How to Understand and Use Common Lisp by kirankp89 on Sunday May 14, 2023 @02:05PM (#35939940)
I am not super familiar with Java but that syntax typically implies type inference, which is not the same as not needing type annotations.
Re:How to Understand and Use Common Lisp by bcrosby95 on Sunday May 14, 2023 @05:42PM (#35941581)
Not only is it type inference, it's limited to locally declared variables.