Create an object to call a static method


  • :belt_onion:

    @TheCPUWizard said:

    So there are multiple people stating that *every* single program they have ever written have been 100% I/O bound.

    Exactly no one has stated that here. DaveK stated that many programmers write just I/O bound applications (you can argue that if you like).

     



  • @DaveK said:

    If your printer queue has an impact on more critical applications, it's because you've done something stupid with the priority settings.  And you appear not to understand that even a single-threaded app will get randomly scheduled across any available CPU when it's ready to run; even a busy-spin loop will only load each cpu in a N-core system by (100/N)%.

    100% agreement that process/thread priority must be properly addressed, along with processor/core affinity.

    Not quite true on the "will get randomly scheduled across any available CPU" for the majority of current operating systems (at least Windows, most Linux distros, and even Solaris).  There is overhead is "moving" an application from one core to another (e.g. synchronization of L1 cache), so the scheduler algorithms (which were indeed pretty random even just a few years ago) have largely been updated to take this into account, and re-activate a thread on the same CPU/Core unless there is a real reason to do otherwise.

     This can be seen by running a CPU heavy application and looking at the CPU utilization. The majority of it will be one Core, with the potential for occasional switches to another core (which typically occur if the original core was usurped while the CPU taks was idel for a brief intrval.



  • @TheCPUWizard said:

    So there are multiple people stating that *every* single program they have ever written have been 100% I/O bound.
    No.  But regardless... all the parts I work with, primary waiting is related to database and webservice calls.  I can't think of a single part of the system that is not bound by I/O as the bottleneck.


Log in to reply