Message from @Ƶero

Discord ID: 464422308933795840


2018-07-05 05:40:58 UTC  

Exactly.

2018-07-05 05:41:19 UTC  

used Mercurial for a bit, but Git went crazy and I'm so OSS it seemed silly not to just go full git

2018-07-05 05:41:47 UTC  

we had an SVN sever before that which shit the bed on us and we had to completely re-assemble a really messed up code base

2018-07-05 05:41:51 UTC  

I'm more of a Free Software guy.

2018-07-05 05:42:46 UTC  

Monotone was supposed to be good because it was fast, written in C++. But it turned out Mercurial was virtually just as fast, because most of the time was spent doing I/O, and they did some tricks to optimize I/O.

2018-07-05 05:43:18 UTC  

honestly after coming from SVN speed was never so much of a consideration

2018-07-05 05:43:31 UTC  

if it was faster than SVN it was fast enough

2018-07-05 05:44:04 UTC  

Speed matters if you're dealing with a massive project, and your workflow requires switching between branches, or rolling back and forth between revisions to locate regressions.

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