Live data from Hacker News

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

randomascii.wordpress.com

421–430 of 509 posts

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

#421
post #49

We've come to the point where building the browser from scratch takes more than building the OS itself.

Interesting metric actually. Building Windows takes 12 hours [1]. It's a bit harder to find metrics on Linux. You can build the kernel in 60 seconds apparently [2] but that is not a complete operating system. [1] https://stackoverflow.com/questions/226377/operating-system-... [2] http://www.phoronix.com/scan.php?page=news_item&px=MTAyNjU

Building my Linux distribution from scratch takes about an hour on a modern system from top-level ./configure && make -j5 (which produces the installer ISO image), a great deal of the time, however, is spent in first building the cross-compiler toolchain (to ensure that no matter where you build my Linux distribution you get the same results).

This is the cross-compiler toolchain, the kernel, and about 250 external packages.

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

#422
post #411
post #314

Earlier quoted context omitted.

Doom 3 actually used Scons across all the OSes (~2004). At the time, it was so nice to have a python build system. I sort of hoped it was the future, but it sort of died as it failed to scale. I've seen a few home-brewed python build systems work well, but typically we're back to CMake/Make

Check out meson; it seems to be the future for projects that were using CMake or autotools. It's certainly a joy to work with in comparison.

Were using? I quite enjoy CMake and find it fast and easy to use. What am I missing out on?

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

#423

Why is everyone talking about how C++ compilation is slow or something instead of talking about the real problem, which is that GDI is doing resource cleanup on process exit, under lock, for console-mode processes that have probably never used any GDI resources?

mxatone mentions that "Win32k locking design is just bad" in https://twitter.com/mxatone/status/884436870955913216

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

#424
post #379
post #168

Earlier quoted context omitted.

> I no longer use Mail.app but remember it as a particularly bad example. Huh. I used to think that my Mac Mini was just too puny for my huge mailboxes. I now use Evolution on openSUSE running on a Ryzen 1700 with an nVME SSD, and it still feels kind of slow-ish. So maybe that program is in need of some loving optimization, too (would not surprise me if it did), or my mailboxes are just unreasonably big (would not su…

That's just Evolution. It's a big, complicated turd that uses a thread pool with no priorities. So you can sit there waiting to read a message while it is blocked checking your other folders. Also it's keyboard shortcuts are stupid. Thunderbird is a lot better.

Unfortunately, Thunderbird does not like to talk to Microsoft Exchange Servers in their native tongue. If it weren't for that, or if my employer did not run on Exchange, I would be using Thunderbird already.

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

#425

Earlier quoted context omitted.

Why i refuse to indulge the latest eyecandy and bling from the desktop world if possible. If i didn't need a GPU to do window switching back then, why do i need it now?

To save battery power.

Then stop drawing all the eyecandy in the first place.

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

#426
post #378

Earlier quoted context omitted.

Expect Firefox to demand a potent GPU just to load soon enough, thanks to GTK3...

Isn't the current version of firefox GTK3? I run it on my laptop with just the EFI framebufer and while it's /the/ most sluggish app installed it's still usable.

It is, and it may work for now. But as i become familiar with the mentality of the GTK devs i worry how long that will be an option.

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

#427
post #129

I was wondering what ETW is, and found in one of his other posts: ETW (Event Tracing for Windows). He seems to be one of the main contributors of https://github.com/google/UIforETW Seems to be quite useful. --- About the post: tl;dr: NtGdiCloseProcess has a system-wide global lock which is used quite often e.g. during a build of Chrome which spawns a lot of processes. This problem seems to be introduced between Windo…

As a Windows outsider, I'm puzzled why programs used as part of the Chrome build system (which I'd expect to only use console I/O) are using APIs that cause interactions with the GUI? By analogy, is this not like gcc redundantly setting up a connection to the Xserver each time it is run? (I'm making an assumption that NtGdiCloseProcess is part of the GUI API (GDI == Graphics Device Interface) which is why it may inte…

More precisely, I believe the kernel tracks what threads are "GUI" threads that use win32k.

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

#428
post #411

Earlier quoted context omitted.

Check out meson; it seems to be the future for projects that were using CMake or autotools. It's certainly a joy to work with in comparison.

Were using? I quite enjoy CMake and find it fast and easy to use. What am I missing out on?

Meson is strongly-typed; it goes beyond just having a notion of "paths" and tracks what kind of object paths point to, and what kind of resource strings name. This is invaluable, because it means you get feedback when you accidentally pass an object file instead of a library name or any number of other confusions.

Personally, this meant the error messages I got were helpful enough that my first meson-built project was working after a half-hour of deciding to port it over despite using several system libraries and doing compile-time code generation.

Meson's language is not Turing-complete, so it's easy to analyze for errors. Unlike CMake and autotools, Meson's language looks like a real (pythonish) programming language, and it isn't string-oriented; dances of escaping, substitution, and unescaping are uncommon.

Compared to autotools or hand-rolled Makefiles, CMake is a step in the right direction; meson is a leap.

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

#429
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…

Hi could you guys please fix the white flashing bug chrome has for almost 10 years? I think it might me the longest open unsolved bug I know in any IT project.

https://support.google.com/chrome/forum/AAAAP1KN0B0Rmd8IyUjG...

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

#430
post #219

Earlier quoted context omitted.

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

I'm not sure if the approach of Lisp and Jai (and also D) is the best one. They all have practically arbitrary code execution at compile time, so they can be arbitrarily slow to compile. In C++ template-programming is so hard that few people do it, but in those languages it is just as easy as normal code. With mainstream languages, code generation is done by the build system which can avoid repetition. Caching genera…

Compiling Common Lisp code isn't too slow. There are some quick compilers like Clozure CL.

What slows some Common Lisp native code compilers down is more advanced optimization: type inference, type propagation etc, lots of optimization rules, style checking, code inlining, etc.

Post reply on HN