Earlier quoted context omitted.
I'll definitely steal this!
Bjarne Stroustrup said that[1]. [1]: https://en.wikiquote.org/wiki/Bjarne_Stroustrup
24-core CPU and I can’t move my mouse
171–180 of 509 posts
Re: 24-core CPU and I can’t move my mouse
#172Earlier quoted context omitted.
There are many many MS bugs that last for years. Pretty much any time you search for a bug in MS software you will find someone in a support forum giving generic advice (known issue that we will work on, not a bug, please reinstall Windows and applications) and users complaining. Typical example: https://excel.uservoice.com/forums/304921-excel-for-windows-... basic problem that has been there many many years. For thi…
>The only real long-term solution is supporting competitive products. Not really viable when the only OS that has software parity is OS X and the only OS with hardware parity is Linux. If we drew a venn diagram it would be a straight line of circles with windows sitting in the middle. To switch away you have to make a choice between less software or less processing/GPU power.
There are also advantages to the free solutions: no requirements to manage licenses and some improved functionality (e.g. seamless sharing with Google docs).
The fact that MS is including bash on Windows shows that the pressure is working.
Re: 24-core CPU and I can’t move my mouse
#173Earlier quoted context omitted.
Unfortunately that's not feasible for highly performance-sensitive projects like browsers or games.
> Unfortunately that's not feasible for highly performance-sensitive projects like browsers or games. Bullshit. Code needs to be compiled, but it isn't required to build everything from scratch whenever someone touches a source file. Additionally, not all code is located in any hot path.
Re: 24-core CPU and I can’t move my mouse
#174Earlier quoted context omitted.
> Damn, are we doing this wrong? Yes: Not isolating different modules sufficiently to allow you to avoid including most headers when compiling most modules. Patterns to do this in C++ has been well understood for two decades: Strict separation of concerns coupled with facades at the boundaries that let all the implementation details of the modules remain hidden. Yes, it has a cost: You're incurring extra call overhea…
Unfortunately that's not feasible for highly performance-sensitive projects like browsers or games.
Generally, I find when people crow about performance, the product they're talking about usually has some questionable architectural/design/implentation decisions that dominate the performance issues so I have to do my best not to roll my eyes.
Yes, you can write performant C++ using well-understood compiler firewalls, interfaces, etc that reduce your compile time.
Re: 24-core CPU and I can’t move my mouse
#175Full disclosure: I work for Google on Chrome. A Chrome build is truly a computational load to be reckoned with. Without the distributed build, a from-scratch build of Chrome will take at least 30 minutes on a Macbook Pro--maybe an hour(!). TBH I don't remember toughing out a full build without resorting to goma. Even on a hefty workstation, a full build is a go-for-lunch kind of interruption. It will absolutely own a…
> Damn, are we doing this wrong? Yes, and I mean "we" as in "this industry". I just recently talked to someone whose Swift framework(s) were compiling at roughly 16 lines per second. Spurred on by Jonathan Blow's musings on compile times for Jai[1], I started tinkering with tcc a little. It compiled a generated 200KLOC file (lots of small functions) in around 200 ms. Then there are Smalltalk and Lisp systems that are…
Re: 24-core CPU and I can’t move my mouse
#176Earlier quoted context omitted.
C was ok. Not good, but ok. Then we tried to attach the OO paradigm to it and we got the monstrosity that is C++ (and as a consequence of that - Java - which has fixed some issues but still suffers) And don't get me started on templates I'm so glad that paradigm is starting to die out and hopefully Rust, Go and others will take over (their object model still doesn't get around my head but it will eventually)
C has the same problem because it relies on includes and does not have modules.
Pascal could have been a better choice (sigh)
C without typedefs also compiles faster
C++ is like plugging an engine to a skateboard to make it run faster
Re: 24-core CPU and I can’t move my mouse
#177Earlier quoted context omitted.
That's because we've come to the point where the browser is now more akin to an OS than a networked document reader.
That's because the browser had to do things the sneaky way. Everybody wants to control the app platform. Every time a cross platform solutions appears everyone tries to shut it down. See: Java, Flash, etc. The only one that platform owners couldn't really shut down (though they are getting better at it), is the web. It was considered too "dumb" to shut down and too useful to completely avoid. And bit by bit, just lik…
Re: 24-core CPU and I can’t move my mouse
#178I think the best summary of how to do this is to take a look at Herb Sutter's three article set on "Minimizing Compile-Time Dependencies". https://herbsutter.com/gotw/ "The Compilation Firewall", or pimpl idiom, is a clever mechanism for getting code out of the header: https://herbsutter.com/gotw/_100/
Re: 24-core CPU and I can’t move my mouse
#179Re: 24-core CPU and I can’t move my mouse
#180We've come to the point where building the browser from scratch takes more than building the OS itself.
"We've come to the point where building the browser from scratch takes more than building the OS itself." It doesn't. It took ~5h to build a tiny (~150 MB) complete system (Linux kernel + Yocto based "OS") from sources on 4 core PC few years ago. With modern CPU, I guess, it might be 3h or so. On the side note, the build process generated >50GB of files.
I think NetBSD took ~2.5 hours, including building its toolchain.