5 ms·
Ehhhhhhhh. Are you talking full build or incremental? How long did it take? Clean and rebuild of Unreal Engine on my 32-core Threadripper takes about 15 minute
by forrestthewoods 3y ago
Ehhhhhhhh. Are you talking full build or incremental? How long did it take?
Clean and rebuild of Unreal Engine on my 32-core Threadripper takes about 15 minutes. And incremental change to a CPP takes… varies but probably on the order of 30 seconds. Their live coding feature is super slick.
I just cloned, downloaded dependencies, and fully built Symbolicator in 3 minutes 15 seconds. A quick incremental change and build tool 45 seconds.
My impression is the Rust time was all spent linking. Some big company desperately needs to spend the time to port Mold linker to Windows. Supposedly Microsoft is working on a faster linker. But I think it’d be better to just port Mold.
- IAmLiterallyAB 3y agoMold is ELF only. They'd have to rewrite it anyway. I don't see much point in a Windows port
- forrestthewoods 3y agoIt’s tentatively planned for 3.0. https://github.com/bluewhalesystems/sold/issues/8 https://github.com/bluewhalesystems/sold/issues/8 The file formats are indeed totally different. But the operation of linking is the same at a high-level.
- IAmLiterallyAB 3y agoHuh, interesting
- pjmlp 3y agoIf they ever plan supporting UNIXes like Aix, mainframes or micros, ELF isn't there as well.
- maccard 3y agoMy 32 core threadripper builds ue5 in 12 minutes on Windows. Single file changes on our game are usually under 10 seconds due to unity builds, and a good precompiled header. My first clone on symbolicator took the same length of time on my windows machine. Even with your numbers, 4 minutes to build what is not a particularly large project is bonkers. I
- forrestthewoods 3y agoSounds like we’re on basically the same page. My experience across a wide range of C++ projects and wide range of Rust projects is that they’re roughly comparable in terms of compilation speed. Rust macros can do bad things very quickly. Same as C++ templates. Meanwhile I have some CUDA targets that take over 5 minutes to compile a single file. I feel like if Rust got a super fast incremental linker it’d be in a pretty decent place.
- izacus 3y agoIs using a 32-core CPU as a baseline for speed comparisons some kind of satire in this thread?
- maccard 3y agoNo, threadrippers[0] are commonly used by people working in large compiled codebases. They're expensive, sure, but not incomparable to a top of the range Macbook Pro. [0] https://www.cpubenchmark.net/cpu.php?cpu=AMD+Ryzen+Threadripper+3970X&id=3623 https://www.cpubenchmark.net/cpu.php?cpu=AMD+Ryzen+Threadrip...
- deleted 3y ago[deleted]
- izacus 3y agoI know, I have one and it cost the company about 3x as much as a 16" MacBook Pro. An expense that's very unaffordable for most companies, not to mention most developers. (Even most MBPs are unaffordable for a large set of developers.) I don't think it's as accessible to average C++ or Rust developers as you expect.
- forrestthewoods 3y agoIt’s definitely not a baseline. It’s simply what I have infront of me. Lenovo P620 is a somewhat common machine for large studios doing Unreal development. And it just so happens that, apparently, lots of people in this thread all work somewhere that provides one. I don’t think the story changes much for more affordable hardware.
- drtgh 3y agoAdditionally, in Windows, when Rust is compiling the Microsoft's linker allays launch the M$ telemetry vctip.exe, that stablish an internet connection [Here is an icon of someone in sad thought]. If anyone knows a method for to avoid such launch (besides connection blocking after launch by firewall ), share it please.