News for hackers. Stuff that matters.

superdimwit

Clang recently got a new calling convention that makes these tail calls much cheaper (avoids the need for the caller to preserve some registers). I can never remember the name - it’s either preserve_all or preserve_none (whose perspective is the preservation from?).
On 1: this small amount of overhead matters because the amount of work you do on each opcode can be tiny. The extra jump could be 20% of your runtime! On 2: yes, this helps the indirect branch target predictor. In a real program you’ll often get repeated sequences of opcodes (increment, then compare) that can be predicted. These branch predictors can be pattern based.
Re:Emerging Rust GUI libraries in a WASM world on Thursday April 27, 2023 @06:28AM (#35725955)
Try dear-imgui + implot. There are Python bindings
Re:Om is a novel, maximally-simple concatenative language on Saturday October 29, 2022 @08:01AM (#33383296)
There’s a Hello World on the page
Re:C++20, How Hard Could It Be on Sunday September 25, 2022 @10:53AM (#32971888)
30 years?
Re:C++20, How Hard Could It Be on Sunday September 25, 2022 @10:48AM (#32971844)
Agreed, autovec is in my experience where clang really shines.
Re:SPAs: theory versus practice on Monday June 27, 2022 @01:02PM (#31897413)
Disappointed this wasn't an article about bath houses
Re:The true cost of linked lists on Monday June 06, 2022 @07:57AM (#31639338)
One nice property is their stable addressing. A linked list element won't move once allocated.
Re:Algorithms for Modern Hardware on Monday March 07, 2022 @10:14AM (#30588734)
Amsterdam is good for options market making, most of the techniques in this book come up a lot in trading
reinterpret_cast comes up a lot when handling binary protocols - e.g. reading a message struct off a buffer / packet. How would this be handled in Rust or otherwise without copying the data?
Re:Julia's multiple dispatch explained with Pokemons on Wednesday July 21, 2021 @08:56AM (#27905613)
You can just define a generic fallback method like `eff(p, d1, d2) = eff(p, d2, d1)`
Re:It’s Not Always iCache on Monday July 12, 2021 @01:52PM (#27813063)
Could a difference in alignment of the hot loop also have an effect here?
Re:Concise algorithms written in Julia on Friday July 09, 2021 @12:20PM (#27785313)
QR, Cholesky
Re:Julia: Faster than Fortran, cleaner than Numpy on Sunday June 20, 2021 @10:16PM (#27575633)
I most often need to restart the REPL when redefining structs.
If they don't, and can't demonstrate that they're doing something else useful with that money, investors get angry and fire the board.
Re:Julia 1.6 addresses latency issues on Tuesday May 25, 2021 @03:57PM (#27281808)
I am hopeful that Julia should be able to get this cross-session caching of compiled code. Would make restarting the REPL (to e.g. add a field to a struct) much less frustrating.
even better, don't leave it as a comment. Leave it uncommented, as a syntax error, so when you try and run your code on Monday morning you are reminded of it!
Re:Branch predictor: How many “if”s are too many? on Thursday May 06, 2021 @11:47PM (#27071916)
Big if/else lists will often get compiled into a jump table anyway.
Go Channels?
ARKK is far from passive
Re:Julia 1.6 Highlights on Thursday March 25, 2021 @03:27PM (#26584354)
A low-latency GC would also be great. But again, the JVM only has that due to many millions of dollars spent over decades.
Re:Julia 1.6 Highlights on Thursday March 25, 2021 @03:25PM (#26584338)
In your experience, what are the current limitations?
Who writes the third party library, though?
Re:I wrote one of the fastest DataFrame libraries on Sunday March 14, 2021 @12:09PM (#26456446)
It does look like the benchmarks include compilation time.
Re:I wrote one of the fastest DataFrame libraries on Sunday March 14, 2021 @12:07PM (#26456437)
You can memory map Arrow
or a husband?
Re:Reflections on IDEA vs VS Code on Saturday March 06, 2021 @09:29AM (#26367553)
Exactly, and I don't see how it would work any less well in a to café than VScode remote SSH.

Older »