Live data from Hacker News

Mold/macOS is 11 times faster than the Apple's default linker to link Chrome

twitter.com

111–120 of 120 posts

Re: Mold/macOS is 11 times faster than the Apple's default linker to link Chrome

#111

Earlier quoted context omitted.

In my country, $200k is what a senior dev makes in 10 years. The issue is, I very much doubt people like Rui could be expected to live in places like mine. So comparing against US salaries is probably what you should do anyway.

I'm curious - is that salary difference enough to cause a significant brain drain? Can you hire really good developers for that price in your country? I live in the UK and dev salaries are maybe half of the US, but people don't leave in droves because there are other factors - family, friends, quality of life, effort of moving your life across continents, etc.

Sure. Significant brain drain might be an understatement — I don't think there are any excellent developers left here (if there were any at all). Anyone half worth their salt either moves to Russia where there was a decent IT sector up until the recent events, or wins a green card/marriage lottery and leaves for the West. FWIW I'm not leaving because I didn't want to live in Russia even before the war started (and even less so now), and I'm not good enough to emigrate to the West.

Re: Mold/macOS is 11 times faster than the Apple's default linker to link Chrome

#113
post #81

Earlier quoted context omitted.

I would argue reading mold's source code is much easier and simplier to understand.

Than Levine’s book? You would lose the argument.

nope, read both, mold was easier. even if I am a perl master.

Re: Mold/macOS is 11 times faster than the Apple's default linker to link Chrome

#114
post #80

Earlier quoted context omitted.

our builds usually take 1-4 hours on windows with crazy conan. even cached binaries don't help much. a simple rebase could last 2 days.

Jesus. What product? The only thing I've ever worked on that got close to that was a compiler that built LLVM and Boost. LLVM takes like 40 minutes on a laptop.

some big cooperate medical app, consisting of about 250 C++ repos.

Re: Mold/macOS is 11 times faster than the Apple's default linker to link Chrome

#116

Earlier quoted context omitted.

I'm curious - is that salary difference enough to cause a significant brain drain? Can you hire really good developers for that price in your country? I live in the UK and dev salaries are maybe half of the US, but people don't leave in droves because there are other factors - family, friends, quality of life, effort of moving your life across continents, etc.

Sure. Significant brain drain might be an understatement — I don't think there are any excellent developers left here (if there were any at all). Anyone half worth their salt either moves to Russia where there was a decent IT sector up until the recent events, or wins a green card/marriage lottery and leaves for the West. FWIW I'm not leaving because I didn't want to live in Russia even before the war started (and ev…

Very interesting thanks!

Re: Mold/macOS is 11 times faster than the Apple's default linker to link Chrome

#117
post #33
post #2

Author here. If you have any questions about mold/macOS, feel free to ask me as a reply.

Does mold support jobserver or some other mechanism to throttle threads? We use lld currently but had to disable threading as sometimes in CI several of our test binaries would get linked at the same time. Whenever this happened the lld instances appear to have spawned enough threads to overload our Jenkins slave to the point that the master wasn't able to reach it and failed the build.

If you use Ninja, you can create a job pool for linking, separate from compiling, and restrict how many simultaneous linker jobs are run. You can even create and set job pools for Ninja through CMake, if you use that in your tooling.

Unfortunately GNU Make offers no such mechanism. And for Ninja build generation I don't think Meson does it either.

Re: Mold/macOS is 11 times faster than the Apple's default linker to link Chrome

#118
post #74

Earlier quoted context omitted.

Please give a list of companies (Europe/Japan) where I can apply for such a salary. I started working recently and I'm at more than 10 times less than this...

I don’t know much about the European job market, but you can see lots of examples of US job positions and their salaries at websites such as https://www.levels.fyi .

I'm not interested in migrating to US for ideological and culinary reasons, but that a very intresting website, thanks!

Re: Mold/macOS is 11 times faster than the Apple's default linker to link Chrome

#119
post #33

Earlier quoted context omitted.

Does mold support jobserver or some other mechanism to throttle threads? We use lld currently but had to disable threading as sometimes in CI several of our test binaries would get linked at the same time. Whenever this happened the lld instances appear to have spawned enough threads to overload our Jenkins slave to the point that the master wasn't able to reach it and failed the build.

If you use Ninja, you can create a job pool for linking, separate from compiling, and restrict how many simultaneous linker jobs are run. You can even create and set job pools for Ninja through CMake, if you use that in your tooling. Unfortunately GNU Make offers no such mechanism. And for Ninja build generation I don't think Meson does it either.

I was not aware of this feature and we do use CMake. Thank you for letting me know about it!

Re: Mold/macOS is 11 times faster than the Apple's default linker to link Chrome

#120
post #37
post #33

Earlier quoted context omitted.

Does mold support jobserver or some other mechanism to throttle threads? We use lld currently but had to disable threading as sometimes in CI several of our test binaries would get linked at the same time. Whenever this happened the lld instances appear to have spawned enough threads to overload our Jenkins slave to the point that the master wasn't able to reach it and failed the build.

It's being discussed ( https://github.com/rui314/mold/issues/117 ) but haven't reached any conclusion. The problem is that the jobserver protocol assumes that one process is one job, and its model doesn't fit very well to programs such as mold.

Thank you rui314. There is a lot of good information collected in that issue.
Post reply on HN