Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
rui314
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
31.
▲
by
rui314
4y ago
I dislike "contact us for pricing" too, but pricing is hard! I don't know how much I should ask for. This is also a bit unusual business model because mold can be used for free. I'm happy if users pay me 10%-20% of the t
32.
▲
by
rui314
4y ago
If it takes 20 seconds, you go for a coffee or switch the window to start web browsing, but if it takes only 2 seconds, you can wait without being distracted. So it's more than just saving 18 seconds for each build. It wouldn't in
33.
▲
by
rui314
4y ago
The biggest reason is because it is multi-threaded. When building a program, the compilation step is parallelized (the build system invokes a compiler for each source file), but the final link step is not. So it is important to make the lin
34.
▲
by
rui314
4y ago
I haven't thought about that that much, but it looks like dsymutil is a companion command of a linker, so the answer is probably yes, but I need to investigate it further to give you a concrete answer.
35.
▲
by
rui314
4y ago
Author here. If you have any questions about mold/macOS, feel free to ask me as a reply.
36.
▲
by
rui314
4y ago
I left Google two years ago and have been working on my open source project full time with no salary.
37.
▲
by
rui314
4y ago
It's improving pretty quickly. Now it got LTO support, and I also believe that Valgrind issue has been resolved.
38.
▲
by
rui314
4y ago
It's a drop-in replacement, but you still have to tell the build system to have it use an alternative linker instead of the default one, unless you replace /usr/bin/ld with mold entirely.
39.
▲
by
rui314
4y ago
It looks like you can already use mold to build blender. https://github.com/blender/blender/commit/8b3d798374a2c6b502...
40.
▲
My story on “worse is better” (2018)
(sigbus.info)
195 points
by
rui314
4y ago
|
100 comments
41.
▲
Mold 1.1 high-speed linker adds support for Link-Time Optimization and RISC-V
(github.com)
3 points
by
rui314
5y ago
|
0 comments
42.
▲
by
rui314
5y ago
mold supports not only x86-64 but also i386 and ARM64. And besides libc, it can link almost all user-land Linux programs already (I tested that by compiling all Gentoo packages with mold). If you have to use a linker script for kennel devel
43.
▲
by
rui314
5y ago
gold is multi-threaded but its implementation didn't scale well for multicore, so in many cases, multi-threading simply disabled. Internally, gold is organized as a collection of "tasks". For example, there are tasks to read
44.
▲
by
rui314
5y ago
I left Google last year. And you are right; mold (or anything that I create) should not be valued at my opportunity cost but instead at its intrinsic value.
45.
▲
by
rui314
5y ago
I don't want to write an asking price here, and honestly I don't know how to valuate an open-source project. But I could have been working for Google as a staff engineer and enjoy a decent salary instead of doing this project, so,
46.
▲
by
rui314
5y ago
MIT is a very permissive and compatible with lots of other open-source licenses. For example, you can sublicense MIT-licensed code under GPL. Not sure if MIT is compatible with the LLVM license, though.
47.
▲
by
rui314
5y ago
Are you confusing me with someone else? I have no idea what you are talking about.
48.
▲
by
rui314
5y ago
It does not use any LLVM libraries and has no feature specific to LLVM, so I think it simply doesn't have a reason to be a subproject of it (or some other large umbrella project).
49.
▲
by
rui314
5y ago
If it were GPL, it would have been just the same as GNU linker. If it were MIT, no one wouldn't have an incentive to purchase the project. Some companies have a policy to not allow AGPL software at all in their orgs, which should give
50.
▲
Mold Linker 0.9 Release Notes
(github.com)
3 points
by
rui314
5y ago
|
0 comments
51.
▲
by
rui314
6y ago
That really depends on how I organize chapters of the book, and it will need trial and error, just like I'm continue rewriting book chapters as well as the compiler's commit history. So I think I have to do this myself.
52.
▲
by
rui314
6y ago
I'm actually happy to merge your GNU-style inline assembly support and other GNU C extensions to chibicc. But for the purpose of the project, I need to rewrite your patches in the incremental manner, so it's not something I can do
53.
▲
by
rui314
6y ago
Ah, that's a bug. Thank you for finding it!
54.
▲
by
rui314
6y ago
Ooh, I didn't know that x86 had such feature. But is this virtualization only?
55.
▲
by
rui314
6y ago
I once counted the number of 4 KiB blocks that has at least one relocation. I used Chrome as a sample. It turned out that almost all 4 KiB blocks have at least one relocation. They mutate everywhere.
56.
▲
by
rui314
6y ago
Is that documented?
57.
▲
by
rui314
6y ago
By execute-only segment, you mean a segment which is not readable but executable, right? If so, that's a relatively new CPU security feature. I think some ARM processors support it, but AFAIK x86 doesn't support it at the moment.
58.
▲
by
rui314
6y ago
It is safe because the child process calls munmap before telling its parent process to exit. munmap is guaranteed to act as a commit operation. Alternatively, you can call msync ( https://man7.org/linux/man-pages/ma
59.
▲
by
rui314
6y ago
I actually tried fallocate(2) but it didn't change the performance characteristics at all. It doesn't seem to do what its man page says.
60.
▲
by
rui314
6y ago
For the record, a candidate for another name was "weld" as it joins pieces of data into a single binary. That's I think a good name, but I couldn't come up with a backronym.
More ›