[1] https://www.gamersnexus.net/guides/3460-new-cpu-bench-method...
* compile benchmarks for different mainstream languages (Java, C#, etc.)
* IDE related benchmarks (i.e. how long does it take to index a large solution/workspace)
* source control conversion tests (svn to git). Obviously not something that happens everyday, but I've done it at two different jobs, and generally when it happens you are often converting many repos as an organization shifts its policy.
* maybe some VM/docker related tests
I'm probably asking for too much, but working on a micro-service system even with enough RAM my system becomes less responsive when I'm testing the interactions between services on my local machine. I'm also limited on the number of Java projects I can add into a single workspace in Intellij. I've been forced to open each project as a separate workspace and in a separate window.
Granted, I'm working off of a dual-core i7 laptop (with 32GB of RAM) but I want to know what kind of upgrade it would take for those problems to go away.
> Instead there are many gaming benchmarks which purpose is not exactly clear for me, after obviously gaming is not the primary target market for R9 3950X.
Well, it must be said that the 3950X has the fastest single-core performance of AMD's lineup, so while it is overkill from a core-count perspective, it's still technically their best gaming CPU.
I don't care how about video transcoding or most of the metrics such article show. But how long does my IDE take to index a big source tree? You bet!
And like the other comment said, you can probably get complimentary copies of the IDEs from Jetbrains to run benchmarks with. They're also scriptable which helps.
1 .https://dotnet.microsoft.com/download/visual-studio-sdks
I'm sorry, I wish I did! Interest in hardware performance is only a relatively recent interest of mine. I especially think the IDE tests would be a bit challenging as I'm not even sure how to instrument or measure those. I might reach out to the Intellij folks to see if they have any ideas..
> under a clean Windows environment
Ah, shucks. I haven't touched Windows in years :). That's the tricky thing: according to Stack Overflow's surveys, only about half of software developers use Windows. The other half are split evenly between Mac and Linux. Covering all three platforms would likely be a challenge.
> Give me a shout
Thanks! I'll do some research, and if I have something more concrete I'll be sure to pass it along.
user@host$ (time make -j[insert number of threads]) 2>logfile.txt
Compiling Visual Studio Code Typescript could be an interesting target too.
There should be a large open-source C# and/or Java project out there that can be compiled as well.
My limited experience using Node worker threads (to compile small React apps with WebPack in parallel) showed lots of overhead and memory usage for just starting the build (Node and library instances, can't say in what proportion), although it is still worth the expense.
[0] https://github.com/microsoft/TypeScript/blob/master/scripts/...
I have recently bought a 3900X. Some things about compilation I would note is that it heavily depends on your programming language and tooling. And that you would note is that you get most benefits on clean builds of big projects, which scale very well per core. On incremental builds or smaller projects it is however not uncommon to see < 25% of the CPU being used. That is especially with Rust, where a single compilation unit (crate) is compiled in a single-threaded fashion. Might be better with C or C++. But then again linking might also be blockers.
It's all nice and fast, but on day to day use you likely won't see a 100% speed increase compared to a 3600.
Finish a feature branch and push it. Check out master. Pull master. Make new feature branch. Get an urgent bug fix request, switch to release branch, make a bugfix branch. Now go back to the new feature.
During this I may end up doing large rebuilds because Git changes modification times even if you end up back with the same header file you started with.
On a Thinkpad T540 the rebuild can take 30 minutes. It's less than 5 on a 3900X.
But this still results in slow compile times because the less used release directories get stale, have to be pulled up to date and often mostly rebuilt anyway. If I remember to actually use the second checkout directory, it does save on needing to rebuild the master/feature branches afterward.
In higher-level languages, running tests often takes considerably more time than building. A prosumer CPU like this would bring nice day to day improvements.
The speed AMD has raised caches & core-count lately is insane. When the max for mainstream CPUs was 8MB (and 4 cores) until only a few years ago. (Things seem to have stopped when quad-core launched, the Intel Q6600 was an amazing CPU at the time.)
I've been a computer enthusiast for over 20 years and didn't expect to see advancements to return like the good ol' days (Moore's law) to ever return. (I don't think Intel did either, halving their prices pre-launch is unprecidented!)
Do remember that part of how AMD can get so much L3 on there, is due to the chiplet design, which also adds a LOT of latency to ram accesses. Almost all of the time, it seems to be a net win though, and with the next generation it will only get better.
Though, perhaps 3D integration can stave that off for many more generations.
However, DDR4 memory now provides more bandwidth than the L4 could (although probably at a higher latency).
https://openbenchmarking.org/showdown/pts/build-linux-kernel
I'd love to hear of a more richly supplied crowd sourced database.