Message from @Ƶero

Discord ID: 464423125543550976


2018-07-05 05:44:29 UTC  

That is, if you're Linus Torvalds.

2018-07-05 05:44:44 UTC  

we're a small team and we work with pretty tight feature branches, so that would rarely be an issue for us

2018-07-05 05:46:57 UTC  

If you're a kernel developer, you wake up, there are 20 new patches/pull requests since last night, waiting in your inbox, for you to review, apply, test. You'll spend most of your morning checking if they conflict with each other and rebuilding to test things. Probably the source control management takes half of your morning.

2018-07-05 05:48:06 UTC  

yeah, for sure, and I think that also describes a lot of how git is designed

2018-07-05 05:48:46 UTC  

doing that in SVN would be torture

2018-07-05 06:16:59 UTC  

I'm watching this. Quite interesting, on how LLVM does some optimizations.

2018-07-05 06:17:16 UTC  

"Const methods and const references play no role in the LLVM optimizer."

2018-07-05 13:20:15 UTC  

this guy's talks are typically pretty good

2018-07-05 13:27:20 UTC  

Trying to help out on a node project and it's using "knex" to build DB queries. I have no idea why anyone would use this, the code is literally longer and more complex than just a raw sql query. It doesn't even completely abstract database types like a proper ORM would.

2018-07-05 13:27:31 UTC  

seriously why is the JS world so full of shit

2018-07-05 13:28:22 UTC  

Because JS programmers.

2018-07-05 13:28:26 UTC  

JS web apps are the reason humanity deserves nuclear annihilation

2018-07-05 13:29:00 UTC  

radical Islam > JS

2018-07-05 13:30:11 UTC  

I should become an imam and declare a jihad on using unmaintained node packages in production software

2018-07-05 13:30:15 UTC  
2018-07-05 13:30:34 UTC  

Best followup talk.

2018-07-05 13:30:47 UTC  

I'll watch that in a bit, that looks good

2018-07-05 13:31:07 UTC  

LLVM can do up to 3 inline optimizations, and he still doesn't know why.

2018-07-05 13:31:28 UTC  

... huh

2018-07-05 13:31:41 UTC  

runtime overhead limit?

2018-07-05 13:31:53 UTC  

no

2018-07-05 13:32:01 UTC  

huh

2018-07-05 13:32:31 UTC  

He can manually control the optimizer passes to convince the compiler to do a 4th inlining.

2018-07-05 13:32:46 UTC  

The optimizer is derived from something I assume

2018-07-05 13:33:08 UTC  

Clang is a front-end for LLVM.

2018-07-05 13:33:14 UTC  

ah

2018-07-05 13:33:58 UTC  

He's not a LLVM programmer, although Clang is their most important front-end.

2018-07-05 13:34:28 UTC  

I mean, he's not responsible for LLVM itself.

2018-07-05 13:35:02 UTC  

back when I did embedded stuff we would mess with the runtime to create different runmodes, and we did stuff like made generic unrolled loops for rasterizing and we'd put them straight into the runtime

2018-07-05 13:35:32 UTC  

so basically to do a draw cycle we'd use a DMI call to switch runmode

2018-07-05 13:36:18 UTC  

for some reason that came to mind just now but thiking about it there's absolutely no way that's how clang is doing any sort of optimizaiton

2018-07-05 13:38:02 UTC  

*incomplete thought - the crt had a size limit so in my head optimized code + limit to 3 connected to that

2018-07-05 13:38:16 UTC  

none of this is making any sense is it

2018-07-05 13:38:26 UTC  

I should probaly take a break soon

2018-07-05 13:39:19 UTC  

Clang doesn't optimize. It just spits out correct IR to LLVM.

2018-07-05 13:41:20 UTC  

Well, according to the previous talk, Clang only tries to remove dead code.

2018-07-05 13:41:39 UTC  

makes sense

2018-07-05 13:43:43 UTC  

He talks about how LLVM does bottom-up passes, while GCC does top-down. Both with fallback heuristics that try to work the other way around in special cases.

2018-07-05 13:54:22 UTC  

You're making me want to get into a big C++ project again. I haven't done a big C++ project in probably ~2 years now

2018-07-05 14:07:34 UTC  

i have a love/hate relationship with C++, but its the thing i use the most.