Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3336592
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 18, 20262026-05-18T00:09:14+00:00 2026-05-18T00:09:14+00:00

Background I am currently refactoring a legacy .NET application. The application performs complex mathematical

  • 0

Background

I am currently refactoring a legacy .NET application. The application performs complex mathematical computations over relatively long periods (up to a few hours), during which, periods occur of almost continuous processor usage on multiple threads.

Each user has an 8 core machine which is dedicated exclusively to running an instance of the application (they use other machines for running all other applications). The application is executed using a shared system account which allows support personnel, when required, to connect to the machine via Remote Desktop and monitor the application (this happens fairly often).

When the application process starts, it sets it’s own processor affinity is set such that the process is allowed to use all but one processor. E.g. on an 8 processor machine, the affinity is set to 0x007F (01111111) which limits the application to processors 1 to 7 and prevents it from executing any threads on processor 8. The excluded processor is always the one represented by the highest bit in the affinity value.

The justification for this is that exclusion of one processor allows the machine to remain more responsive when serving a Remote Desktop session and when using any other ad-hoc monitoring tools which may need to be used from time to time (Baretail, Process Explorer, etc.).

Question

Is this likely to yield much benefit given the cost of one CPU’s resources to the application?

Obviously I can perform some tests in order to gather empirical evidence, but test machine availability is limited and the behaviouir of the application has many external dependencies which means that the timing of the intensive processor usage is very difficult to determine. The time and resources required to benchmark this properly are likely to be far from trivial. For this reason I’m looking for theoretical reasons for or against doing this. To me, it seems like a bad idea since the application is prevented from using the resources of an entire CPU, which are unlikely to be fully consumed by other processes. I would like to remove the processor limitation and allow Windows to manage CPU allocation without restrictions. However, I need to be able to present some hard factsconvincing arguments in order to sell this change if, indeed, my suspicions are correct.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-18T00:09:15+00:00Added an answer on May 18, 2026 at 12:09 am

    While I can’t offer a lot of hard facts about how you’re doing it right now, my immediate reaction is that you’re right, and the current approach you’re describing is wrong.

    What I’d advise instead would be to reduce the execution priority of the long running process. In a typical situation, anything below normal will work about equally well. This lets the process use all available resources as long as nothing else needs them, but dedicates all necessary resources to other processes when/if needed.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Background: I'm currently debugging an application written over a custom-built GUI framework in C++.
Some background. Currently have an asp.net web site which is contained on 2 web
Background : I am currently using custom controls within my C# project (basic controls
I come from a CVS background. I'm currently investigating using SVN for a project.
i'm working with a multi-threaded program (using pthreads) that currently create a background thread
Background: Some time ago, I built a system for recording and categorizing application crashes
I currently use the following method to set the colour of my Row Background.
Background: We're modeling the firmware for a new embedded system. Currently the firmware is
Background: I have a little video playing app with a UI inspired by the
Background: At my company we are developing a bunch applications that are using the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.