CPU performance benchmarks

Post all other topics which do not belong to any other category.
azesmbog
Fast Inserter
Fast Inserter
Posts: 128
Joined: Mon Jan 28, 2019 12:05 pm
Contact:

Re: Anyone Ryzen Benchmarks?

Post by azesmbog »

sushi_eater wrote:
Tue Oct 06, 2020 9:46 pm

The result is 94 without huge pages. I'm using Factorio 1.0, Kernel 5.8.13, PDS scheduler, performance governor. There is a HUGE amount of TLB misses with standard pages (around 12'000'000/s with standard pages vs. 1'000'000/s with huge pages).

The CPU boosts to 4.625GHz.
As I understand it, 4.6 is a very good overclocking of the AMD processor.
94 versus 85 is also an excellent result!

Immediately the question is - are kernel tweaks possible only for Ryzen processors, or is there a comparable result for Intel processors too? And the second - if this is so good - why is it not in the main kernel, but must be enabled forcibly? However, these are rhetorical questions.
My main question is as follows.
The test map is very small and unpretentious. It works quite well even on 8 GB of RAM, maybe that's why there are few misses with large pages.
Could you please check my "little sandbox" on your system. True, you have only 32 GB of memory, this is too little :(
My map works with 48 GB of memory, the timings are really low due to the large volume) 19-19-19-38 @ 3333 MHZ, but at the same time it produces 37-38 UPS, it is still playable, but it is impossible to develop further: ((Or an offline script check, well, or at least run, and see the UPS in a few minutes, even while in one place.
A link to saving is in the topic about the sandbox in the topic about megabases, but I can also make a fresh save, the current one.
If not difficult :) For the truth. Vanil.

sushi_eater
Burner Inserter
Burner Inserter
Posts: 10
Joined: Thu Feb 13, 2020 2:22 pm
Contact:

Re: Anyone Ryzen Benchmarks?

Post by sushi_eater »

azesmbog wrote:
Wed Oct 07, 2020 11:01 am
Could you please check my "little sandbox" on your system. True, you have only 32 GB of memory, this is too little
Factorio doesn't like your save (I tried with 1.0). (I was able to extract the zip, so I don't think the download is corrupted.)

82.739 Warning Map.cpp:340: Map loading failed: Couldn't read from input file. File could be corrupted.
azesmbog wrote:
Wed Oct 07, 2020 11:01 am
Immediately the question is - are kernel tweaks possible only for Ryzen processors, or is there a comparable result for Intel processors too? And the second - if this is so good - why is it not in the main kernel, but must be enabled forcibly?
Exactly the same thing works for Intel. Somebody tested huge pages with a 7700K, it improved performance by 8% or so.

Huge pages don't play nice with all applications and can result in decreased performance and large latency spikes (system freezes for hundreds of milliseconds).

azesmbog
Fast Inserter
Fast Inserter
Posts: 128
Joined: Mon Jan 28, 2019 12:05 pm
Contact:

Re: Anyone Ryzen Benchmarks?

Post by azesmbog »

It's strange.
Firstly, my save was apparently launched, and secondly, I also launched it in 1.0
and yes, there is version 0.18.33. Ok, now I will save the last save and post it to the exchanger. But this is long, maybe an hour)
It is possible that there is still not enough RAM: (((
Can I try to increase the swap file, or in Linux it is completely different?

So, the last save.
It takes 7 minutes to save the game.
The load is 3 minutes.
After one minute, the UPS stabilizes at around 36.6min -37.2max
https://drive.google.com/file/d/1WxIyEd ... sp=sharing

I'll also leave a link to the old save, last year, it's a little smaller. Maybe it will work.
https://drive.google.com/file/d/1XQ84OF ... sp=sharing

sushi_eater
Burner Inserter
Burner Inserter
Posts: 10
Joined: Thu Feb 13, 2020 2:22 pm
Contact:

Re: CPU performance benchmarks

Post by sushi_eater »

It looks like the Linux version doesn't support your maps. Both Factorio 1.0 and 0.17.79 fail with the same error I mentioned.

Running the Windows version of Factorio under Wine could load your old map (123_311219.zip), but huge pages don't get used. I ran a benchmark for 10'000 ticks:

Performed 10000 updates in 404674.581 ms
avg: 40.467 ms, min: 17.698 ms, max: 19629.176 ms

IME, the min value is reasonably consistent across benchmark runs and would reflect something useful. There is too much paging, so the average is useless.

westjensontexas
Manual Inserter
Manual Inserter
Posts: 1
Joined: Fri Oct 16, 2020 1:56 pm
Contact:

Re: CPU performance benchmarks

Post by westjensontexas »

I also remember back when they released the first Athlon X2 dualcore CPUs that each core used to return a different elapsed real time (only the devil knows why they did that instead of a global time that is the same for all cores)... and various applications crashed shortly after starting because of synchronization problems that arised between their threads. It required a microcode/OS driver update to deal with that.

Pentium100
Burner Inserter
Burner Inserter
Posts: 16
Joined: Fri Aug 21, 2020 5:37 am
Contact:

Re: CPU performance benchmarks

Post by Pentium100 »

I tried running the benchmark (123_311219.zip) on my PC.

Factorio used 33.6GB of RAM and about one core of CPU.

Performed 10000 updates in 707618.482 ms
avg: 70.762 ms, min: 45.903 ms, max: 798.719 ms

My CPU does not have good single-thread performance

azesmbog
Fast Inserter
Fast Inserter
Posts: 128
Joined: Mon Jan 28, 2019 12:05 pm
Contact:

Re: CPU performance benchmarks

Post by azesmbog »

Pentium100 wrote:
Sun Oct 18, 2020 6:30 am
I tried running the benchmark (123_311219.zip) on my PC.

Factorio used 33.6GB of RAM
Launched the test (123_311219.zip) on version 1.0.0
Memory used 35.7 GB
average: 15 ms, or 65 UPS
Well, in order not to get up twice - test of my gigabase
38.jpg
38.jpg (31.67 KiB) Viewed 192 times
In principle, correlates with the real game - about 37 ups\fps

Syhn
Inserter
Inserter
Posts: 43
Joined: Mon Jan 22, 2018 9:13 pm
Contact:

Re: CPU performance benchmarks

Post by Syhn »

I gave huge pages a shot on my i7-8700k and managed to get the best benchmark to date with Factorio 1.0.0. :D
109 UPS baseline
125 UPS with huge pages
Sorted list of benchmarks to date

I made some slight changes to the variables/steps listed in this reddit post.

Code: Select all

sudo sysctl -w vm.nr_hugepages=8192 # can likely be much less but I have a lot of spare memory
curl -s https://factoriobox.1au.us/scripts/benchmark.sh | LD_PRELOAD=/usr/lib64/libhugetlbfs.so MALLOC_ARENA_MAX=1 HUGETLB_MORECORE=yes HUGETLB_RESTRICT_EXE=factorio bash

Post Reply

Return to “General discussion”

Who is online

Users browsing this forum: coppercoil