Windows OS performance - multi thread


this is kinda broad but hoping some experts would chime in and give advice.

I have been using window since 2k and what I notice is that window OS itself MOST application within windows by MS isn't multi threaded in disk/cpu process. some software like robocopy or richcopy which both were developed within MS and used by MS and in which I can make them work multi threaded/queue with disk i have thus increasing performance multiple fold, of course CPU is taxed heavily due to multithreaded workload and I do it in moderation.

I come across pretty much everything in windows and to list a few:
- file search, indexed or not
- mass files take ownership
- un-index entire drive
- file copy

all of these use 1 single cpu thread and im guessing that means only a single queue depth of disk being used (not including other parallel background tasks). I understand MS dont want OS be bogging down and hardware recently got powerful enough that my 6 core cpu at 4.9ghz can do Queuedepth of 4 before starting to run above 75C.

is there something in registry or some sort of settings I can change to make window take advantage of more threads? this not only apply to windows 8 but also 7/10 and 8.1

My Computer

System One

  • OS
    windows 8.1 and server 2012 R2
Nope. Hands down.

Software that is coded as single-threaded cannot be forced to use more than one core (at any given moment), ever. And Windows handles load balancing on the CPU when it comes to multi-threaded applications.


Force Multi-Threading - CPUs - Tom's Hardware

Can a single-threaded program be made to use multiple cores?

Can Windows 10 force the use of multiple CPU cores? | Overclockers Forums

How to force more threads to run a single core application? Solved - Windows 7 Help Forums

Now, let's consider the ramifications of what you're asking. Let's take file copying using the native copy function built into the OS, not something like RoboCopy, etc.

File copies / transfers don't just happen when you open Explorer and copy a file to another location. File transfers are always happening, in the background, while you are using Windows.

(Simplified) Examples:

1) Loading a web page (the file is downloaded to (usually) a temp / cache folder, and then loaded into the browser - which is a write (copy from RAM to HD) operation and then a read (copy from HD to RAM) operation).

2) You are using a Windows app - say, listening to music on Groove, or talking to someone on Skype. Not only do you have the streaming audio / video files being transferred, in the case of music it access the file, and part of the program that is running is pushed to the pagefile for use later when Windows will need it again, or in Skype, part of the program is pushed to the pagefile. This is a copy operation - copying data from RAM to the HD.

These kinds of operations happen all the time.

Now, imagine if Windows allowed a copy operation to use all your cores on your CPU - simultaneously.

1) You browsing jsut got a lot slower.

2) In the first case, it would make the song playback get very choppy quickly, because, as a copy operation that is being used by the system, it gets priority over your user-sanctioned operation of playing music. The same holds true in Skype - the copy and read operations that are occurring while you video conference are happening in the background, handled by the system, and thus take a bit of priority over your actual video conference.

(All of what I just said is not exactly true, but I'm keeping it simple to explain a point).

In order to prevent things like that, background operations tend to be assigned to not the full CPU core usage, which allows for better 'multi=tasking' for the end user.

You can see when this starts to go badly because users who complain about audio skipping (due to heavy HD traffic, due to a very large number of pending (and simultaneous) copy / transfer operations occurring. And this is also how a lot of malware affects computers to the point that they become noticeable - they're doing whatever they do (replicating, infecting different files, or phoning home with your data) that after it reaches a critical point of the number of copy / transfer operations, your system starts to slow down. The same is also evidenced when you simply have too many programs running at the same time - or when you have multiple anti-malware programs scanning simultaneously.

Hope that answers your question - not only on why what you're asking for cannot be done, but also on why it would be a bad thing to even try to do so, much less succeed.

My Computers

System One System Two

  • OS
    Windows 11 22H2 Current build
    Computer type
    System Manufacturer/Model
    The Beast Model A (homebrew)
    AMD Ryzen 9 3950X
    4 * 32 GB - Corsair Vengeance 3600 MHz
    Graphics Card(s)
    EVGA GeForce RTX 3080 Ti XC3 ULTRA GAMING (12G-P5-3955-KR)
    Sound Card
    Realtek® ALC1220 Codec
    Monitor(s) Displays
    2x Eve Spectrum ES07D03 4K Gaming Monitor (Matte) | Eve Spectrum ES07DC9 4K Gaming Monitor (Glossy)
    Screen Resolution
    3x 3840 x 2160
    Hard Drives
    3x Samsung 980 Pro NVMe PCIe 4 M.2 2 TB SSD (MZ-V8P2T0B/AM) } 3x Sabrent Rocket NVMe 4.0 1 TB SSD
    PC Power & Cooling’s Silencer Series 1050 Watt, 80 Plus Platinum
    Fractal Design Define 7 XL Dark ATX Full Tower Case
    NZXT KRAKEN Z73 73.11 CFM Liquid CPU Cooler (3x 120 mm push top) + Air 3x 140mm case fans (pull fron
    SteelSeries Apex Pro Wired Gaming Keyboard
    Logitech MX Master 3S | MX Master 3 for business
    Internet Speed
    AT&T LightSpeed Gigabit Duplex Ftth
    Nightly (default) + Firefox (stable),Chrome, Edge
    Windows Defender + MB 3
  • PC2
    Lenovo ThinkPad E545
i fully aware of what you're trying to say with background tasks and all, read my post again you'll see that "i do it moderately" and i know MS probably purposely doing it to consumer doesn't get their OS boggle down or ruin their PC. I can hit over 80C with 6 queue depth file copy with robocopy at 4.9ghz with 6 cores/ 12 threads so i fully understand the risk what its capable of.

and most of what you mentioned including background tasks boggling down my OS just isn't happening. i know what runs on my machine very well and i have throw a bunch of stuff into ram disk, hunt down background tasks with process monitor and process explorer and some are even disabled. in other cases I up my priority of software that i run, those are small issues to me.

i guess its time to start learning building software function from ground up and compile them to take advantage of avx/avx2 and to use multiple thread.

My Computer

System One

  • OS
    windows 8.1 and server 2012 R2