Opened 3 years ago

Closed 3 years ago

#17101 closed bug (invalid)

CPU scheduling/utilization SMP performance degradation is 4x slower between x86/x86_64 platforms

Reported by: cocobean Owned by: nobody
Priority: high Milestone: Unscheduled
Component: System/Kernel Version: R1/beta3
Keywords: scheduler, heap, threads, smp Cc:
Blocked By: Blocking:
Platform: All

Description

Compiler build times reflect a high SMP performance degradation of up to 4x difference between a x86 compiler build versus a x86_64 compiler build. This compiler test was repeated on a physical x86/x64 hardware workstation with similar results using Haiku hrev55181+45.

Example:

  1. x86_gcc2 - https://build.haiku-os.org/buildmaster/master/x86_gcc2/logviewer.html?buildruns/1625/builds/2836.log
    WebKit is now built (2h:06m:25s).
    
  1. x86_64 - https://build.haiku-os.org/buildmaster/master/x86_64/logviewer.html?buildruns/5869/builds/75588.log
    WebKit is now built (7h:20m:30s).
    

Change History (5)

comment:1 by pulkomandy, 3 years ago

Please include exact steps about what you are doing. What is your setup, what commands did you run, etc.

It is not possible to compare performance on the build bots, which are virtual machines sharing a common hardware that may or may not be busy doing other things.

Also I don't understand why you talk about SMP here. What has it to do with the problem?

comment:2 by cocobean, 3 years ago

On my Intel x64 Quad-core workstation w/SSD running Haiku R1B3, for Haiku x86_gcc2:

uname -a

Haiku shredder 1 hrev55181+45 Juky 21 2021 07:06: BePC x86 Haiku

Ref: github.com/haiku/haikuwebkit/haiku

  1. Tools/Scripts/build-webkit --haiku
    WebKit is now built (2h:06m:53s).
    

Best times are usually within 1h:40m - 2h:06 on using Haiku x86_gcc2/GCC 8.3.0.

The same workstation got a 7h build time with Haiku x86_64 (hrev55181+45)/GCC 8.3.0.

NOTE: These build times are similar to the Haiku buildbots. Not much runs on my workstation during the haikuwebkit builds besides logging the results with Pe.

NOTE: On the SMP comment, SMP physical hardware being used in a multithreaded situation.

comment:3 by pulkomandy, 3 years ago

You are comparing apple to oranges.

The WebKit build is not the same code in both cases. The 64bit version uses a completely different javascript engine with WASM, JIT, etc. The 32bit version uses much simpler code. So that could explain the difference, for example. And it is only one of the many differences in environment.

A more systematic approach will be needed here, but I expect the conclusion will be that 64bit webkit is just larger and more complicated.

comment:5 by waddlesplash, 3 years ago

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.