Jump to content

Linus, please add this test to your CPU benchmarks,.

One of the most crucial issues for software developers is the compilation time.

I recently got a new Mac Book Pro with an i9 from work.

It took it a few seconds to compile what took my old Mac more than a minute to compile.

 

Please add compilation benchmarks for both Visual Studio/Unity and Unreal Engine, since this is crucial to software developers and it's hard to tell how better will a new CPU improve the compilation time.

 

For instance, I am not entirely sure AMD will win in this benchmark.

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, Sargon said:

One of the most crucial issues for software developers is the compilation time.

I recently got a new Mac Book Pro with an i9 from work.

It took it a few seconds to compile what took my old Mac more than a minute to compile.

 

Please add compilation benchmarks for both Visual Studio/Unity and Unreal Engine, since this is crucial to software developers and it's hard to tell how better will a new CPU improve the compilation time.

 

For instance, I am not entirely sure AMD will win in this benchmark.

If you want trustworthy benchmark you should check Gamer Nexus really.

No offense but LMG benchmarks are really just thrown together asap and should only give you a vague idea of how things compare to each other.

For deep per-case testing as said go with GN.

 

PS: Unity/Unreal are useless. Each project is entirely different.

Link to comment
Share on other sites

Link to post
Share on other sites

They have done some Firefox compilation tests, but if memory serves me right, they don't do that test anymore for some reason (inconsistency? I can't remember).

Would be cool to have such a test again, but I feel like a 'general' CPU test would give the same idea.

4 minutes ago, 3rrant said:

For deep per-case testing as said go with GN.

PS: Unity/Unreal are useless. Each project is entirely different.

If Unity and Unreal (compile tests) are useless, then so are Blender, Adobe Premiere, etc. tests.

But they are not.

 

A benchmark is testing a program under certain set conditions, with the goal being able to compare the different hardware used to see which does best.

GN (and LTT for that matter) use certain set up benchmarks/tests/project in Blender to test its performance (like the classroom, monkey heads, that car and GN also has their logo as a test). It would be pretty 'easy'  to get a Unity/Unreal/Visual Studio project and compile that.

 

Of course getting a consistent benchmark, which won't be bottlenecked by other pieces (like unoptimized code), would be most difficult. But far from useless.

"We're all in this together, might as well be friends" Tom, Toonami.

 

mini eLiXiVy: my open source 65% mechanical PCB, a build log, PCB anatomy and discussing open source licenses: https://linustechtips.com/topic/1366493-elixivy-a-65-mechanical-keyboard-build-log-pcb-anatomy-and-how-i-open-sourced-this-project/

 

mini_cardboard: a 4% keyboard build log and how keyboards workhttps://linustechtips.com/topic/1328547-mini_cardboard-a-4-keyboard-build-log-and-how-keyboards-work/

Link to comment
Share on other sites

Link to post
Share on other sites

18 minutes ago, minibois said:

They have done some Firefox compilation tests, but if memory serves me right, they don't do that test anymore for some reason (inconsistency? I can't remember).

Would be cool to have such a test again, but I feel like a 'general' CPU test would give the same idea.

If Unity and Unreal (compile tests) are useless, then so are Blender, Adobe Premiere, etc. tests.

But they are not.

 

A benchmark is testing a program under certain set conditions, with the goal being able to compare the different hardware used to see which does best.

GN (and LTT for that matter) use certain set up benchmarks/tests/project in Blender to test its performance (like the classroom, monkey heads, that car and GN also has their logo as a test). It would be pretty 'easy'  to get a Unity/Unreal/Visual Studio project and compile that.

 

Of course getting a consistent benchmark, which won't be bottlenecked by other pieces (like unoptimized code), would be most difficult. But far from useless.

It's "useless" because you could:

  • test the speed at which a single script compile (java or C#?)
  • test the speed at which a prefab is added into the scene (which is not cpu-bound)
  • ... ?

And both things take fractions of a second even on a very low power CPU already so there's virtually no difference.

If you wanted to do something more realistic, you should have a benchmark that save and recompile the entire project. A project to be realistic should be a pseudo-game code which need to be written and is not an easy task. Which genre? Action, Idle, Strategy, Simulation, RPG.....? For which platform? For which graphic settings? Multiplayer or not?

That's what I mean for useless. Even if done perfectly, it would represent a single case.

 

For size comparison: a small indie game is 10k-150k lines of code. A game like GTA V is tens of millions. Even doing both tests, which are impossible, would esclude the mid ranges between the two.

Link to comment
Share on other sites

Link to post
Share on other sites

42 minutes ago, Sargon said:

One of the most crucial issues for software developers is the compilation time.

I recently got a new Mac Book Pro with an i9 from work.

It took it a few seconds to compile what took my old Mac more than a minute to compile.

 

Please add compilation benchmarks for both Visual Studio/Unity and Unreal Engine, since this is crucial to software developers and it's hard to tell how better will a new CPU improve the compilation time.

 

For instance, I am not entirely sure AMD will win in this benchmark.

Throwing more cores at a compiler than can utilize every single one will be quicker than using less faster ones. My laptop has a 1st gen i5 and my desktop has dual Xeons. The i5 has similar per core performance but is threashed by the Xeon system with 4 times the threads to work with. If you have half the IPC (at the same clock speed) but twice the cores, you'll get very similar performance.

Link to comment
Share on other sites

Link to post
Share on other sites

I have an Ryzen 7 2700 X, I hoped working with Unity will be faster.

However, in Unity, when you make a change to a script in visual studio, it takes some time for the editor to update.

This is not a "fraction of a second", it can be quite slow and annoying at times.

I think Unity just compile every change in the C# code, as you save it and go to the Editor.

Of course it's much faster than C++ because it can compile only that specific script.

But it's still kind of slow even in a Ryzen 7 2700X.

I think a single core clock rate is more important here, because it's not a lot of work, it's just need to be done as quick as possible.

There is not enough work to warrant or split to multiple cores.

 

Also things like intellisense, that may not be directly CPU related. I do have two M.2 NVME SSDs though.

 

Edit: Also, in the case of C++, I believe you cannot split linking to multiple cores.

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, Sargon said:

I have an Ryzen 7 2700 X, I hoped working with Unity will be faster.

However, in Unity, when you make a change to a script in visual studio, it takes some time for the editor to update.

This is not a "fraction of a second", it can be quite slow and annoying at times.

I think Unity just compile every change in the C# code, as you save it and go to the Editor.

Of course it's much faster than C++ because it can compile only that specific script.

But it's still kind of slow even in a Ryzen 7 2700X.

I think a single core clock rate is more important here, because it's not a lot of work, it's just need to be done as quick as possible.

There is not enough work to warrant or split to multiple cores.

 

Also things like intellisense, that may not be directly CPU related. I do have two M.2 NVME SSDs though.

 

Edit: Also, in the case of C++, I believe you cannot split linking to multiple cores.

Unity is a c# interface. The engine is actually c++. Whatever you write in c# gets translated to c++ for actual usage.

Link to comment
Share on other sites

Link to post
Share on other sites

I don't think it gets translated to C++.

That doesn't seem correct.

It gets translated to .net intermediate language.

Even when you compile an app with C++ source code, the app is compiled to machine language, the C++ source code "disappear" after compilation.

Link to comment
Share on other sites

Link to post
Share on other sites

14 minutes ago, Sargon said:

I don't think it gets translated to C++.

That doesn't seem correct.

It gets translated to .net intermediate language.

Even when you compile an app with C++ source code, the app is compiled to machine language, the C++ source code "disappear" after compilation.

Nope. There's a talk of some years ago where they explain it much better and now. It's a wrapper that gets translated. In fact that's why big projects never use unity and go straight to unreal.

 

Here's some more discussion on it https://forum.unity.com/threads/is-there-any-way-to-program-in-unity-with-c-solved.461819/

Link to comment
Share on other sites

Link to post
Share on other sites

37 minutes ago, 3rrant said:

Nope. There's a talk of some years ago where they explain it much better and now. It's a wrapper that gets translated. In fact that's why big projects never use unity and go straight to unreal.

You misunderstood that thread.

The C# code runs on a CLR. However, all of the speed critical functions (nearly everything that Unity provides you) are written in C++ and exposed to you in wrappers. In this context a wrapper is a C# class that uses the native interoperability features of C# to call C++ code or running native processes from a C# program.

Here's a link explaining the language features that make that work: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/interop/

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×