Details
-
AboutAAAAAAAAAAAAAAAAAAA
-
SkillsRust and other things
-
Locationhere
-
Website
Joined devRant on 12/8/2018
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
I really dislike C#'s naming convention of UpperCamelCase public fields but I also don't want to change it for my own projects. After all, when in Rome do as the Romans do and all that
Arghh, I hate decisions ;~;11 -
Dear Ms @retoor, you claim to have demolished Rust but so far I have failed to observe any such claimed demolition event
With the newest patch these are the numbers
***benchmarking***
Time C: 0.1326432228088379
Time Rust: 0.1091299057006836
Time CPP: 0.47960424423217773
Time Borded CPP: 0.706519365310669
Time Jest Rust: 0.3468904495239258
***end benchmark***
Guess Rust is still on top :P17 -
Made this little example to show the difference in codegen quality using Gc smart pointers versus reference counted Rc's can make
Actually pretty crazy:
https://godbolt.org/z/vsTeGcz8M14 -
Just read somebody say "she climbs like a homesick angel" to a fighter jet flying straight up and I think that's one of the most beautiful ways to describe it4
-
Ah fuck my asshole of course it wasn't that easy
Great that my GC can detect any managed pointer off the stack et al. Yeah but what if a GC ptr is behind some random non-gc allocation, inside a future, etc.
fuckkkk
Best idea right now I replacing the global allocator. Then I know all allocations and can conservatively still traverse them (means way more checks... ugh). And if one allloc is a gc object then I know its vtable and can do precise analysis
Really not perfect. But guess what: boehm does the same lol
I should really stop being that dismissive of myself11 -
I've been thinking a lot about garbage collectors for compiled languages again
Funnily enough my idea for a multi threaded gc for Rust is basically how boehm does it too (well at least on linux): On a GC cycle you send a unix signal to all other threads to make them pause and then in the signal handler you save all regs, then walk the stack and regs upwards over 8 byte values. Any value that falls into the gc heap and is a valid allocation is assumed to be a ptr and that object gets marked
Pretty clever
Though I'm working on a single threaded GC for Rust now. That one actually has a real use case too: I don't have to use Rc<T> and .clone() them all over the place in my compiler! Just beautiful wrapped pointers with copy semantics 😌4 -
Currently building a simple-as-possible source language for my compiler and I was thinking whether I really need structs and arrays as fundamental objects. But I guess it makes sense because one is a heterogeneous collection and one a homogenous collection
My thought: Let's call those types Homo and Hetero!
Maybe not the best idea ^^11 -
Ain't nothing like compiler development to make you want to jump of a bridge
I went in with my childish naivety. How wrong I was... lmao33 -
Okay screw it, I was always a python hater but I'm just gonna admit it:
I LOVE PYTHON!
It's so nice for quick scripts 😌6 -
Still funny to me how -O2 consistently produces smaller binaries than -Os for me
And -Oz is always worse still!
How does that even happen...6 -
I don't know why but vendoring a dependency locally so I can change whatever I want feels so powerful
Oh, you made all fields private? How about screw you, now they are all public! hehe7 -
Final benchmark for now. I think I've invested (wasted :P) enough time optimizing this
Finally got it below 100 ms on my system:
***benchmarking***
Time C: 0.82965087890625
[src/main.rs:407:2] num_threads = 24
[src/main.rs:408:2] num_cores = 24
Time Rust: 0.09551429748535156
Time CPP: 0.4009711742401123
Time Borded CPP: 0.6333107948303223
Time Jest Rust: 0.28380441665649414
***end benchmark***
And ignore the two debug prints. For some god forsaken reason, removing them makes it slower by like 5% for..... reasons..... idk lol12 -
Been working on my Rust isspam version and now it's looking like it should again :P
Rust back on top, baby (☞⌐▀͡ ͜ʖ͡▀ )☞
***benchmarking***
Time C: 0.836021900177002
Time Rust: 0.12235116958618164
Time CPP: 0.39263033866882324
Time Borded CPP: 0.6284189224243164
Time Jest Rust: 0.27682042121887207
***end benchmark***7 -
Nothing worse than having to wrangle multiple coordinate systems for model files and your engine. Extra points when one is left handed and one right handed
I actually want to die5 -
Fuck, maybe some of ostreams retardation is rubbing off on me but I'm watching stuff about monsanto right now and I need to stop myself imagining doing a "little tomfoolery" to their management and ceo
Am I turning into a reactionary libtard? Maybe its not so bad after all...8 -
I don't know how coffee and black tea makes me sleepy but as soon as I drink even one sip of red bull i am *locked* the fuck in5
-
Oh my goooooooooood vibe coding is sooo bad
Holy fucking shit I'm actually losing my mind
Cursor is nothing but a glorified slop generator. It just fucking yaps and yaps and it generates shit upon shit. Yet NOTHING works properly
It all looks impressive but its all a shallow house of cards of bullshit
To be fair, I'm trying to make it write a simple compiler with an x86 JIT backend. Absolutely not a simple task, but come oonnnnnnn. It just goes in circles, over and over and over
It's exactly as I imagined. Just like ChatGPT, if it failed 2 times, it will never recover and you should just start a new conversation to clear the poisoned context. For a half hour I've been trying to get to compile a program which prints hello world. It just can't do it. No matter what, the compiled program just always returns 42 and nothing else (or segfaults)
It's just fucking AI slop. It LOOKS impressive until you actually go a bit deeper and you realize its all vapid bullshit14 -
It's so gay that zen1 and zen2 have giga slow microcoded implementations for the pdep and pext instructions
So slow (~140 cycles latency) that manually implementing their behavior via handfuls of other instructions is actually faster
On intel they take literally 1 cycle...3 -
Trying to flash a windows iso on a usb stick from linux is making me wanna fucking kill myself
IS THERE ONE FUCKING SOFTWARE WHICH CAN FLASH A FUCKING WINDOWS ISO SUCESSFULLY??
From the 4 ive tried so far none of them worked. What the actual fuck is wrong with desktop linux sometimes
Ive already wasted 1 and half hour of this shit. On windows I would have done this in literally 3 minutes
Holy shit fuck me19 -
Okay I'm about to do something diabolical
Anybody knows if reading beyond the bounds of an allocation is UB in llvm when I'm doing the read via inline assembly? 👀5 -
I just wrote some escape sequence parsing code for my shell and throwing it into godbolt shows that ~170 lines of pretty nice generic/abstracted code (multiple loops + multiple functions) results in only ~80 instructions
Oh my god im actually about to cum2 -
Unix is so incredibly beautiful. Everyday I discover something new that makes me fall even deeper in love with it.
For real, I've become a huge YAGNI fan over the last few years and Unix is pure yagni. It's so beautifully pragmatic and simple yet flexible and powerful14 -
aaaaaand it's back
Didn't even take a day and people were already posting melodramatic goodbye posts lul7 -
Everybody is being so melancholic
"bye everybody"
"i guess this is the end"
lol, like devRant didn't have its quirks for years. At some point it'll get fixed and then we can have our shizo responses back.
Ya don't have to be so dramatic1 -
Yeah turns out writing a shell is a whole lot more work than I thought
Fuck man, why can't I just find a cool project that is actually doable in a normal lifetime3

