• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Login
FAForever Forums
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Login

Outsourcing new CPU scores for lobbies

Scheduled Pinned Locked Moved General Discussion
79 Posts 28 Posters 10.5k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S
    Sheikah @Morax
    last edited by 23 Sept 2021, 01:12

    @morax said in Outsourcing new CPU scores for lobbies:

    Is there a way to find your old cpu score? I forgot mine!

    You could watch an old replay get that version then start the game offline and run it

    1 Reply Last reply Reply Quote 0
    • T
      TheVVheelboy @BlackYps
      last edited by 23 Sept 2021, 01:42

      @blackyps
      I'm quite sure that's the proper advertised ram speed he would get with that CPU, considering that 1800mhz ram was still considered to be on the higher end of spectrum at the time when his CPU was released. So yeah, 1600mhz ram in a laptop of that age seems like exactly what you would get in mid-higher end laptop.

      1 Reply Last reply Reply Quote 0
      • G
        Giebmasse Team Lead
        last edited by 23 Sept 2021, 08:49

        Yea it is normal speed for DDR3 memory.

        1 Reply Last reply Reply Quote 0
        • B
          BlackYps
          last edited by 23 Sept 2021, 08:52

          I was just asking because there were already multiple people that noticed their ram was clocked lower than it could be

          1 Reply Last reply Reply Quote 0
          • K
            Katharsas
            last edited by Katharsas 23 Sept 2021, 09:34

            @brainstormer

            Generally i woul'd never advertise UserBenchmark.com, because they are extremly biased against newer Ryzen CPUs, but can you execute their Benchmark and check how your RAM compares? It will tell you how well other people with the same hardware did. We need to find out if your RAM is actually slow for some reason or if there is a problem with the new RAM banchmark.

            1 Reply Last reply Reply Quote 1
            • B
              brainstormer
              last edited by 23 Sept 2021, 14:27

              UserBenchmarks: Game 8%, Desk 65%, Work 7%
              CPU: Intel Core i7-3740QM - 71.9%
              GPU: Nvidia GTX 660M - 7.6%
              SSD: Intel 520 Series 120GB - 50.9%
              HDD: Seagate ST2000LM015-2E8174 2TB - 60.1%
              RAM: Unknown 78.C2GCN.B730C 2x8GB - 55%
              MBD: Clevo W3x0ET

              I understand that 1600MHz DDR3 is outdated, but my config is not subpar and doesn't deserve 330 pts. Can we make a test round of Gap or similar map with some of the admins?

              1 Reply Last reply Reply Quote 0
              • K
                Katharsas
                last edited by 23 Sept 2021, 15:37

                Ok well there is no data for this RAM in the Userbenchmark database, so that doesn't give us any information sadly.

                1 Reply Last reply Reply Quote 0
                • G
                  Giebmasse Team Lead
                  last edited by 23 Sept 2021, 16:01

                  You have the speed and timings, pretty much all you need to compare ram speed.

                  K 1 Reply Last reply 23 Sept 2021, 19:13 Reply Quote 0
                  • M
                    meatontable
                    last edited by 23 Sept 2021, 18:53

                    CPU: Intel I7-7700
                    MB ASUS Z270 TUF 2
                    RAM : 16 GB DDR4
                    Integrated graphic
                    Old CPU: 141
                    New CPU: 273
                    No Lag in game

                    1 Reply Last reply Reply Quote 0
                    • K
                      Katharsas @Giebmasse
                      last edited by 23 Sept 2021, 19:13

                      @giebmasse

                      Yeah but the question is, why are some new scores so bad? Does the new benchmark heavily tax smaller CPU cache sizes or something? That would explain it maybe?

                      In my opinion it would be a bit extreme to have CPUs with 6-8MB L3 cache have so much worse scores, if that is the case (Ryzen 3xxx has 16MB per CCX, modern i7 like 20MB).

                      Or does it maybe just measure bandwith? Thats would be only half of the story, latency can be just as important.

                      Of course DDR3 has much less bandwith, but it does not have worse latency than DDR4, which is probably kinda more important than bandwith.

                      We need some information what exactly the new RAM benchmark is measuring.

                      1 Reply Last reply Reply Quote 1
                      • G
                        Giebmasse Team Lead
                        last edited by 24 Sept 2021, 14:09

                        Here you can see what it does: https://github.com/FAForever/fa/blob/741febf45a165e257db972fc2104484a51dd799d/lua/ui/lobby/lobby.lua#L5228

                        K 1 Reply Last reply 24 Sept 2021, 20:27 Reply Quote 0
                        • K
                          Katharsas @Giebmasse
                          last edited by Katharsas 24 Sept 2021, 20:27

                          @giebmasse said in Outsourcing new CPU scores for lobbies:

                          Here you can see what it does: https://github.com/FAForever/fa/blob/741febf45a165e257db972fc2104484a51dd799d/lua/ui/lobby/lobby.lua#L5228

                          Thanks.

                          @Uveso
                          I am going to use object sizes from https://wowwiki-archive.fandom.com/wiki/Lua_object_memory_sizes, which is a different Lua version, but hopefully not too far off.

                          Ok so if i understand this correctly, this is what the memory benchmark is basically doing (all of the rest seems to be the CPU benchmark, the code below was added by Uveso in his first commit before the CPU benchmark was added back):

                          var foo = "123456789"; // reference to a 17 (base Lua string size) + 9 byte string
                          var table = {} // dictionary, 40 Bytes per key hash
                          
                          for (1..25 in 0.0008 increments) {
                             table[toString(index)] = foo // a 32bit reference is assigned
                          }
                          

                          So we have a loop with 30k iterations, that assigns the same reference to 30k different hashes, which all are strings converted from floats.

                          Tables in lua contain hashes that are 40 bytes each, so the total size of the table (not counting any additional bookkeeping structure) is (hash=40 + ref=4) *30k = 120k Bytes, or 120 KB.

                          So there are a three problems with this benchmark if my understanding is correct:

                          • Even if we assume that the Table is 4 times as big as the hashes/references it contains, we still only end up with a memory size of 480KB. This fits entirely in the L2 cache (which is generally going to be around 1 MB), so we are potentially not even filling the L3 cache. I don't know how the Lua interpretation works exactly, but i would be surprised if the CPU even needed to hit RAM at all during this function.

                          • Converting floating point numbers to strings is VERY tricky. If not optimized specifically (in C preferably), it can eat up A TON of performance. Now im assuming that tostring is an optimized function, but that whole benchmark could end up just measuring the time it takes for tostring to execute, instead of having anything to do with memory, even if that function is optimized.

                          • We are using a dictionary, so the values are going to be sorted by hash. All in all there could be a lof of table indirection and bucket creation going on, so the benchmark might measure the insert performance of Lua tables and hashing, instead of doing anything with RAM.

                          So best case scenario is that this is measuring L2 cache, but it might not do that at all. Now i don't know a lot about how Lua interpretation works, so if there are any errors in my logic i welcome everybody to tell me.

                          Of course it is much easier to critisize benchmarks than to make good ones, so i think its very good that you guys implemented something that doesn't just measure arithmetic operations.

                          1 Reply Last reply Reply Quote 1
                          • K
                            Katharsas
                            last edited by Katharsas 24 Sept 2021, 21:11

                            In my mind it would be better to

                            • either make the table much bigger (and NOT measure the table creation) and then measure the inserts / reads on that table
                            • save randomized objects inside the table that are much bigger than strings (again, not measung creation time of table and objects), and then do reads into parts of the object to pull the objects into the CPU cache (which would push parts of the table outside of the cache if you read enough objects.)
                            1 Reply Last reply Reply Quote 0
                            • J
                              Jip
                              last edited by Jip 24 Sept 2021, 21:14

                              I thought memory is allocated / synced with RAM, regardless if it fits the cache. Do you have a source to read up on?

                              A work of art is never finished, merely abandoned

                              1 Reply Last reply Reply Quote 0
                              • K
                                Katharsas
                                last edited by Katharsas 24 Sept 2021, 21:22

                                Yeah but if you let the CPU decide to sync the cache whenever it wants (because you don't put pressure on the cache), it might do it after the benchmark ends, or god knows when. But even if it would work, you would only measure RAM write, never read.

                                You can force the CPU to pull things into the cache that i doesn't have yet in the cache (= cache miss) really only by randomly demanding from the CPU to give you content of memory addresses over a larger area of memory than what would fit into cache.

                                I have no source on this, is just pick up tidbits here and there, like links from SO like https://stackoverflow.com/questions/8126311/what-every-programmer-should-know-about-memory or just youtube videos. Problem is i have never implemented a interpreted language nor my own HashTable, so i have to make a bunch of assumptions about how tables in Lua work and my understanding is definitely far from complete.

                                Measuring computer performance is fucking hard xD

                                1 Reply Last reply Reply Quote 0
                                • X
                                  Xathos
                                  last edited by Xathos 25 Sept 2021, 01:03

                                  I vaguely recall the old score being about 120. Now it's reading 108 to 102.

                                  It's a 5600X with 3600 ram. I have the fclock at 1800 (max that that this Zen generation can stablely go). Nothing is traditionally OCed since you don't do that with Zen CPUs.

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    meatontable
                                    last edited by 25 Sept 2021, 09:19

                                    My score is doubled after this update. CPU is Intel I7 7700 with DDR4 RAM. The gamers should trust CPU scores and I'm proposing to do next :

                                    1. Use Zlo performace test is present at https://forum.faforever.com/topic/328/cpu-performance-tests
                                    2. Check CPU scores
                                    3. Prepare some information about hardware.
                                      GOAL: Build a strong relation between CPU score and the test replay time.
                                      ===================
                                      My CPU score now is : 270 (after overclocking in BIOS (memspeed up) : 273)
                                      My replaytime of the zlo replay: 18:15 sec
                                      ===================
                                      Hardware
                                      CPU: Intel I7-7700
                                      MB ASUS Z270 TUF 2
                                      RAM : 16 GB DDR4
                                      Integrated graphic
                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      Jip
                                      last edited by 25 Sept 2021, 18:17

                                      What was / is your CPU score?

                                      A work of art is never finished, merely abandoned

                                      M 1 Reply Last reply 26 Sept 2021, 18:10 Reply Quote 0
                                      • M
                                        meatontable @Jip
                                        last edited by meatontable 26 Sept 2021, 18:10

                                        @jip I had 141 , I have now 270 . Also I have tried to overclock PC a little and 've got ... 273

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          Tamatoa
                                          last edited by 27 Sept 2021, 00:43

                                          FX-8350 @ 4ghz
                                          32gb DDR3 (1600mhz)
                                          old: 245
                                          new: 325 !!!
                                          Now I can't play. I simply get kicked from games.

                                          1 Reply Last reply Reply Quote 0
                                          24 out of 79
                                          • First post
                                            24/79
                                            Last post