@cmuratori AFAIK that will never change. MSVC is always "-fno-strict-aliasing", so it assumes that maybe *this is aliased somewhere, so no optimization. Both GCC and Clang write back with the flag
@unclebobmartin Pity I'm too late to tell my precious non-expert opinion: we need some kind of universal intermediate language and bytecode. Like SPIR-V, but for DBs. And SQL and any other HL language above it. No sql injection, backward compatibilty, faster parsing and so on.
@GuangyuRobert So, you made 1000+ agents that do like a humans and talk like a humans. And it seems like die like a humans. Can you save their "souls"? Give'em a chance for rebirth later? They look sentient enough to have an afterlife one day
@cmuratori@joelashworth@unclebobmartin @AcheretoTM @robert_h_42 "Big one line" was greatly inspired by the video, actually. I was unsure if I should laugh or cry when I watched it. There were less than thousands characters in the paragraph, this should never be this slow.
@joelashworth@unclebobmartin @AcheretoTM @cmuratori@robert_h_42 I think scope is way more than specific high load task. Try open large obfuscated one line files. Half of notepads I know would freeze hard, because "surely" lines would never be that long
@unclebobmartin @AcheretoTM @joelashworth@cmuratori@robert_h_42 Yet if you know in advance that this part of code will be memory and/or computation heavy, compact and probably procedural style is way to go. Then you can encapsulate it and hide behind small and neat interface
@unclebobmartin @AcheretoTM @joelashworth@cmuratori@robert_h_42 My thought on the matter, D in SOLID is kinda orthogonal to vtables and OO in general. DI helps immensely to quickly plug new library and use it, and also a great way to switch backends back and forth.
@AcheretoTM @cmuratori@unclebobmartin Just done it. Now optimized OO version is faster on Windows, ~40ms vs ~148ms for plain OO. Compared with old version, it's ~40 ms vs ~100ms for 20 MiB objects for optimized.
So yes, my bench had errors, but optimized version speedup is only impoved after a fix.
@AcheretoTM @cmuratori@unclebobmartin On my i5-4690, L2 is 256KB per core. I'll limit myself to about 200KB for shapes, and I will make sure memory will be freed after each test