HackerTrans
TopNewTrendsCommentsPastAskShowJobs

neonz80

no profile record

comments

neonz80
·14 дней назад·discuss
Impossible, Signal TUI is written in Rust.
neonz80
·2 месяца назад·discuss
> Windows users singling out Linux users for not catering to their platform. How the times change...

In my experience this was a problem over 25 years ago when I developed for Solaris and other non-Linux operating systems.
neonz80
·4 месяца назад·discuss
If you put both handlers in the same 256 byte page you can get away with only updating the low byte of the address.
neonz80
·8 месяцев назад·discuss
Why an extra DLL instead of just patching the game executable? With some luck it is a one byte patch (from push 0 to push 4).
neonz80
·8 месяцев назад·discuss
I find that this can reduce overall complexity. It makes it possible to use objects that can not be copied (such as a file descriptor wrapper) and moving can in most cases not fail. Without move semantics you'd have to use smart pointers to get similar results but with extra overhead.
neonz80
·8 месяцев назад·discuss
I'm aware of how they are used, but fundamentally there is nothing with the words "array" and "vector" that says that one has a fixed size and the other has a dynamic size. If anything, it should be the other way around. Using the name vector for dynamic arrays is annoying when doing any kind of math coding. Even the designer of STL says the name was a mistake.
neonz80
·8 месяцев назад·discuss
I find the short type names for integers and float hard to read. Somehow the size of the type is more important than if it is a signed integer, unsigned integer or a floating point number.

Using Vec for arrays is also annoying, repeating the mistake from C++.
neonz80
·8 месяцев назад·discuss
RobWords made a video about it a few weeks ago! https://youtu.be/UAT-eOzeY4M
neonz80
·8 месяцев назад·discuss
You should take a look at the presentation I mentioned elsewhere in this thread. You also have to keep in mind that it's not only the branches that use space, but also the error handling code. Code which must be duplicated for every single call to a particular function.
neonz80
·8 месяцев назад·discuss
The CPU can not remember an infinite number of branches. Also, many branches will increase code size. With exceptions the unwind tables and unwind code can be placed elsewhere and not take up valuable L1 cache.
neonz80
·8 месяцев назад·discuss
That's a different type of overhead than having unwind tables. With exceptions you wouldn't need a branch after each function call at all.
neonz80
·8 месяцев назад·discuss
There was an interesting talk about C++ exceptions in smaller firmware at CppCon last year: https://youtu.be/bY2FlayomlE

Basically, the overhead of exceptions is probably less than handling the same errors manually in any non-trivial program.

Also, it's not like these table doesn't exist in other languages. Both Rust and Go have to unwind.