Qurious
Qurious

Reputation: 3

C++ application performance time

I have a general question that comes from a specific situation I've encountered.

The general question: what determines the running time (calculation time, execution time) of an app written in C++ on Windows, under the MinGW compiler?

The specific situation: I've recently bought a new computer. While running and testing the same programs I've written on the older machine, I see not only no speed-up, but also a slowdown of performance. Both run a Windows 7 operating system.

The older workstation: an i7-3770 Core 4-core processor, 8 GB of RAM and a hard disk drive.

The newer setup: a e5-2660 v3 Xeon 10-core processor, 32 GB of RAM and also a HDD.

Not experiencing a full speed up might be due to not having a SSD memory type, but that still doesn't explain why the new computer is slower than the old one. I ran passmark score tests, and in all categories the new computer outperforms the old. Still, my own C++ programs and a couple of third party appications all run slower on the new machine. How could it be? Are there some specific software-type limitations I should be checking?

I'd also welcome any suggestions on the performance topic, as I plan on running calculation-intensive, multithreaded applications, so performance is an important issue.

Upvotes: 0

Views: 179

Answers (2)

Peter - Reinstate Monica
Peter - Reinstate Monica

Reputation: 16112

Update: I caught the wrong Xeon spec at first. V3 has a faster turbo frequency but the sustainable frequency is only 2.6 GHz.

Xeon info from From http://ark.intel.com/products/81706/Intel-Xeon-Processor-E5-2660-v3-25M-Cache-2_60-GHz:

Processor Base Frequency 2.6 GHz

Max Turbo Frequency 3.3 GHz

I7 info from http://ark.intel.com/products/65719/Intel-Core-i7-3770-Processor-8M-Cache-up-to-3_90-GHz:

Base Frequency 3.4 GHz

Max Turbo Frequency 3.9 GHz

While cache size and other differences may favour Xeon in instructions/clock cycle I'd think that the 30% faster I7 clock will be hard to beat. For programs with 4 threads or less that don't have much competition for CPU time, that is ;-).

Upvotes: 0

Tasos Vogiatzoglou
Tasos Vogiatzoglou

Reputation: 2453

As an application uses cpu, memory and disk all of these affect the execution speed of an application.

In your case, you changed from a 4-core cpu that had 4 fast cores, to a 10-core cpu that has 10, but slower cores, effectively slowing down your per-thread execution speed.

Depending on what you do, e.g. if the ratio of calculations/memory pressure is towards the calculation side, you'll see a slow down.

Upvotes: 1

Related Questions