Live data from Hacker News

24-core CPU and I can’t move my mouse

randomascii.wordpress.com

171–180 of 509 posts

Re: 24-core CPU and I can’t move my mouse

#172
post #28

Earlier 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.

Yes. That's why Microsoft gets away with not being responsive to customers. However using alternative systems (e.g. Mac, Linux, Google docs, LibreOffice) where possible does help even if only a little.

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

#173

Earlier 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.

The stated numbers are for full rebuilds.

Re: 24-core CPU and I can’t move my mouse

#174
post #61

Earlier 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.

This would be the end of the discussion if it weren't for stupidity like this: https://groups.google.com/a/chromium.org/forum/#!msg/chromiu...

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

#175
post #45

Full 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…

Go is a good example of a language with fast compilation times. Of course, the optimizer needs improvements, but I believe they keep managing to make it faster as they improve the output rather than slower.

Re: 24-core CPU and I can’t move my mouse

#176

Earlier 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.

Yes, however that was acceptable at the scale C was used and given its origins. Not good, but acceptable

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

#177
post #104
post #54

Earlier 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…

Sounds a lot like WeChat. Messaging app that's added more and more features to now become almost an OS on top of the smartphone OS in China.

Re: 24-core CPU and I can’t move my mouse

#178

I 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/

I use this liberally. Generally, it is a runtime performance issue only on repeated allocations for which you can optimize if needed. Once-only allocations can be ignored when using compiler firewalls.

Re: 24-core CPU and I can’t move my mouse

#180
post #163
post #49

We'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 admit I have not done so in a while, but I vaguely remember building Net/OpenBSD from source was faster than that on moederately powerful hardware (Core2 Quad 2.4 GHz, 8GB RAM, no SSD).

I think NetBSD took ~2.5 hours, including building its toolchain.

Post reply on HN