![]() |
[QUOTE=Madpoo;433099]
For bgbeuning, I'd ask: - Is hyperthreading enabled on your system? - If so, could you disable in the BIOS and then try those VS compilations again to see if it's any different? [/QUOTE] The box has a Q9550 CPU which does not support hyper-threading. |
Ran the VS compile test on another machine.
Machine Dual Opteron (24 core total) with prime95 running as a service with 12 workers. Run 1 (with p95) 22 min Run 2 (w/o p95) 11 min Run 3 (with p95) 20 min Run 4 (w/o p95) 12 min I expect any CPU bound task will not see this issue because the OS scheduler will put prime95 to sleep. Most tasks are some mix of I/O and CPU. When a machine is idle, prime95 will get all the system time. When some other process starts running, the prime95 CPU usage will drop. I am thinking of making a program that uses Windows GetProcessTimes() and GetSystemTimes() to control prime95. So periodically check the prime95 CPU usage and when (Assuming 4 core machine with 4 prime95 workers.) [LIST=1][*]Other process CPU usage < 10% of system time (or prime95 > 90% system time), do nothing[*]Other process usage between 10% and 35%, pause 1 worker thread[*]Other usage between 35% and 60%, pause 2 workers[*]Between 60% and 85%, pause 3 workers[*]Over 85%, stop all 4 workers[*]When the other process CPU usage drops enough, start some workers again[/LIST] |
[QUOTE=bgbeuning;433672]Ran the VS compile test on another machine.
Machine Dual Opteron (24 core total) with prime95 running as a service with 12 workers. Run 1 (with p95) 22 min Run 2 (w/o p95) 11 min Run 3 (with p95) 20 min Run 4 (w/o p95) 12 min [/QUOTE] Hmm... those are interesting stats. Prime95 runs at idle priority, so it kind of makes me think the VS compiler is also running at a low priority, perhaps? Is it running any custom tasks during the compile? For example, with the build our devs work with at my job, the build runs a lot of other things like Grunt, SASS, etc and I've noticed that some of those things run kind of slow as is. We've seen builds take over 30 minutes and that doesn't even include the time taken to deploy to a test environment. So even though I'm fairly certain VS runs at a typical priority 7 or whatever, who knows what some other things might be doing... Try using Process Explorer during a build and check out what's using CPU at any given time... Process Explorer lets you see all the details of the process like what priority it (or any sub-threads) is using... could be helpful. In my case, if I'm doing massive disk activity, I'm better off stopping Prime95 for the duration. By "massive disk activity" I mean analyzing millions of files... not sure if that's something most people would run across. |
A compile does a lot of I/O. My compile has 17,000 source files and
4000 objects files that need to be read and written. I have the pauser program sort of working. With it controlling prime95, the Q9550 based compile takes 12 minutes. Some parts are not done and I need to tune the control algorithm for other situations. I left it running overnight and it was amazing how often other things run when I am away from the keyboard. Something runs every 15 minutes. And AVG (anti-virus) seems to run quite often. I would prefer to let prime95 run full speed against these background processes, but I don't know how to do that and still pause prime95 for foreground tasks. |
A Q9550 will almost certainly be memory bandwidth bound. The bandwidth on the core 2s was very limited. The level 2 cache is split in two as well which won't help 4 threads on 1 worker.
Generally I would expect a CPU that old to be sensitive to slowing down. My Q6600 has got increasingly sensitive over the years. |
| All times are UTC. The time now is 22:08. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.