Well yeah, for example I'm working on a codebase written mostly in 2003. The assumptions in the original code are at best tangentially relevant (stuff like "LUTs are cheaper than using ALU" or "CPU power is cheap, GPU…
They're just clearly inferior in pretty much any situation. The map stuff the other posters summed up well but even std::vector is dogshit with pretty much all implementations having inlined grow code in push_back, a…
Exactly, you write for your target, not some imaginary spec. The spec is only as useful as to predict what your target roughly does, it's not normative. Compilers might have bugs where the spec is supposed to work but…
Sure, if you're willing to write a large enough chunk that you can eat the cost of not inlining it. If you just write a small leaf function or two, it will probably be a wash or perform worse.
sadly inline assembly is still at the ergonomics of "one compiler doesn't support it in x64 mode" and "you can choose between the readable syntax (which is a black box to the compiler) and the unreadable syntax (which…
Hi! I'm slightly under that so I feel like I'm qualified :) I wholeheartedly agree, they're quite a regression.... although I don't think this is a popular opinion around here. When people say "something used to be…
I've never said that, but using assembly in certain places can certainly be justified, especially for the performance-intensive parts.
You also depend on {computers, the internet, electricity, groceries, etc.}, that's not the discriminating factor.... the question is, are you actually better at your job using it, and are you stunting your own growth?…
Look at the bright side, it's much more feasible now :) Yes, it's not deterministic, and if you were using it commercially, the ROI would be terrible, and it's certainly not reliable but for a hobby project.... why not?…
That's just not true... the flags to get preprocessed output and assembly are quite useful and used a fair bit, in fact. Multiple reasons - sanitychecking your code, finding bugs, or even finding compiler errors.
You'd be surprised, again.... most compilers don't generate very good code, mostly because 1. the time for optimisation is limited 2. the constraints are overlapping and just completely intractable beyond a single…
Just like LLMs, compilers are just another layer of abstraction and no they're not deterministic. Just yesterday I've reported a codegen bug in MSVC. (Luckily they've fixed it very fast.) Can you realise that it's an…
Unless something radical changes (and that isn't unprecedented! I'm just writing this as of today), the trend is still "just" a bigger hammer. It's bigger, you can get way more done, but the blast radius is also larger.…
All of it hell no :D But just with any things, you break things down into subtasks. Then you break it down even more. You as a human don't hold all that stuff in your head either, so why would an LLM? My current…
Calling win32 from other languages is supported, calling it from assembly is supported (as long as you use the calling convention properly, obviously), using ntdll to bypass the win32 API is not supported. Basically on…
Sure but even wiring that utility function in is work :D If you have even just a 2-3-million LoC codebase, not even something truly enormous - making global changes does require typing, and a whole lot of it...
I don't follow, sorry. 1. In order to publish a game to a console, you do need an agreement with the console manufacturer. (Unless you're doing homebrew but then the point is moot.) 2. In that case, you do get access to…
Yeah, you're definitely right about the shifting goalposts ("it's a stochastic parrot" -> "it hallucinates all the time, it can't even get APIs right" -> "it can generate functions but can't reason about the codebase"…
Ideally. But that requires the correct abstraction, requires keeping it up to date.... that's basically an unachievable ideal. You either have overabstraction/overengineering (most codebases) or you have repetition.…
All of them you can already find on the internet with only a bit of searching btw. With the docs and headers and everything. The only people who this stops are the people who want to do things "by the book". :P
That isn't technically true either ;) (sorry to be pedantic!) If your data is encrypted, what your adversary needs is some information about you - which they can gather by either buying it from someone or by…
<meta> You're incredibly rude but at the same time.... 100% right. On first reading it was quite off-putting, but your conclusions are solid. Emotions take over rationality, and people - just like thinking models -…
Look at the comments about MSVC removing inline assembly as a supported feature for a counterexample. :D (A competent assembly programmer can go miles around a competent high-level programmer, that's still true in…
It's better, but it's still quite bloated, to be honest. Linux is generally more memory-hungry than Windows because of how modular it is, and having no Win32 equivalent really hurts. Although they've started doing UI in…
exactly, the kind of reviews which have a point are the ones you do before starting work. But that's a design review, not a code review. My team does "commit to master", although I did catch a fair few regressions by…
Well yeah, for example I'm working on a codebase written mostly in 2003. The assumptions in the original code are at best tangentially relevant (stuff like "LUTs are cheaper than using ALU" or "CPU power is cheap, GPU…
They're just clearly inferior in pretty much any situation. The map stuff the other posters summed up well but even std::vector is dogshit with pretty much all implementations having inlined grow code in push_back, a…
Exactly, you write for your target, not some imaginary spec. The spec is only as useful as to predict what your target roughly does, it's not normative. Compilers might have bugs where the spec is supposed to work but…
Sure, if you're willing to write a large enough chunk that you can eat the cost of not inlining it. If you just write a small leaf function or two, it will probably be a wash or perform worse.
sadly inline assembly is still at the ergonomics of "one compiler doesn't support it in x64 mode" and "you can choose between the readable syntax (which is a black box to the compiler) and the unreadable syntax (which…
Hi! I'm slightly under that so I feel like I'm qualified :) I wholeheartedly agree, they're quite a regression.... although I don't think this is a popular opinion around here. When people say "something used to be…
I've never said that, but using assembly in certain places can certainly be justified, especially for the performance-intensive parts.
You also depend on {computers, the internet, electricity, groceries, etc.}, that's not the discriminating factor.... the question is, are you actually better at your job using it, and are you stunting your own growth?…
Look at the bright side, it's much more feasible now :) Yes, it's not deterministic, and if you were using it commercially, the ROI would be terrible, and it's certainly not reliable but for a hobby project.... why not?…
That's just not true... the flags to get preprocessed output and assembly are quite useful and used a fair bit, in fact. Multiple reasons - sanitychecking your code, finding bugs, or even finding compiler errors.
You'd be surprised, again.... most compilers don't generate very good code, mostly because 1. the time for optimisation is limited 2. the constraints are overlapping and just completely intractable beyond a single…
Just like LLMs, compilers are just another layer of abstraction and no they're not deterministic. Just yesterday I've reported a codegen bug in MSVC. (Luckily they've fixed it very fast.) Can you realise that it's an…
Unless something radical changes (and that isn't unprecedented! I'm just writing this as of today), the trend is still "just" a bigger hammer. It's bigger, you can get way more done, but the blast radius is also larger.…
All of it hell no :D But just with any things, you break things down into subtasks. Then you break it down even more. You as a human don't hold all that stuff in your head either, so why would an LLM? My current…
Calling win32 from other languages is supported, calling it from assembly is supported (as long as you use the calling convention properly, obviously), using ntdll to bypass the win32 API is not supported. Basically on…
Sure but even wiring that utility function in is work :D If you have even just a 2-3-million LoC codebase, not even something truly enormous - making global changes does require typing, and a whole lot of it...
I don't follow, sorry. 1. In order to publish a game to a console, you do need an agreement with the console manufacturer. (Unless you're doing homebrew but then the point is moot.) 2. In that case, you do get access to…
Yeah, you're definitely right about the shifting goalposts ("it's a stochastic parrot" -> "it hallucinates all the time, it can't even get APIs right" -> "it can generate functions but can't reason about the codebase"…
Ideally. But that requires the correct abstraction, requires keeping it up to date.... that's basically an unachievable ideal. You either have overabstraction/overengineering (most codebases) or you have repetition.…
All of them you can already find on the internet with only a bit of searching btw. With the docs and headers and everything. The only people who this stops are the people who want to do things "by the book". :P
That isn't technically true either ;) (sorry to be pedantic!) If your data is encrypted, what your adversary needs is some information about you - which they can gather by either buying it from someone or by…
<meta> You're incredibly rude but at the same time.... 100% right. On first reading it was quite off-putting, but your conclusions are solid. Emotions take over rationality, and people - just like thinking models -…
Look at the comments about MSVC removing inline assembly as a supported feature for a counterexample. :D (A competent assembly programmer can go miles around a competent high-level programmer, that's still true in…
It's better, but it's still quite bloated, to be honest. Linux is generally more memory-hungry than Windows because of how modular it is, and having no Win32 equivalent really hurts. Although they've started doing UI in…
exactly, the kind of reviews which have a point are the ones you do before starting work. But that's a design review, not a code review. My team does "commit to master", although I did catch a fair few regressions by…