Performance matters. Every second saved on an automated manufacturing floor saves money, and every function that runs faster produces one less bottleneck.
To see how Windows 7 features affect applications written in the NI LabVIEW graphical development environment and automated test sequences written in NI TestStand test management software, we ran several performance benchmarks including the following on different versions of Windows OSs.
- Core LabVIEW benchmarks
- LabVIEW benchmarks targeting multithreading
- NI TestStand benchmarks targeting parallel testing
- Basic Operating System tasks
Microsoft Developer Network’s Windows Developer Center Web site, Develop for Windows 7, states that Windows 7 improves system performance and resource management.
In addition, the Engineering Windows 7 blog states that in terms of reading files from the disk, Windows 7 has improved “prefetching” logic and mechanisms.
The blog discusses several other improvements, which are mentioned throughout this article.
LabVIEW Core Benchmarks
Our core LabVIEW benchmarks consisted of several basic tasks including the following:
- File I/O
- Array manipulations
- Matrix math
- Analysis functions
- Trigonometric functions (see Savage benchmark)
For the most part, both Windows 7 and Windows XP performed comparably in most categories. They varied slightly in a few specific cases during our tests.
- Windows XP was slightly faster at computing array manipulations.
- Windows 7 was faster at writing files to disk. This may have been because of prefetching logic improvements in Windows 7.
- Both OSs on average spent the same amount of time reading from files, though Windows 7 had a higher standard deviation.
Multithreading Benchmarks (LabVIEW & NI TestStand)
The importance of multithreading and multicore technologies has increased in recent years. With clock frequencies hitting a ceiling, hardware vendors are tackling this problem by adding more cores to their processor chips.
National Instruments software packages, such as LabVIEW and NI TestStand, inherently take advantage of these new technologies. To learn more about multicore programming in LabVIEW, refer to National Instruments: Multicore Programming Resources.
We profiled the performance differences between Windows 7 and Windows XP in our multithreaded applications in both LabVIEW and NI TestStand. To do this, we ran the following benchmarks:
- LabVIEW: Frequency spectrum analysis – We conducted tests in a single thread as well as spread across four threads.
- LabVIEW: FIR filter – We conducted tests in a single thread as well as spread across four threads.
- LabVIEW: Eigenvalue algorithm – We conducted tests in a single thread as well as spread across four threads.
- NI TestStand: Testing 100 units under test (UUTs) – We conducted tests in a single thread as well as across four threads to simulate parallel testing across four production lines.
Based upon our test results, we made the following empirical observations:
- Both OSs performed nearly identically in the LabVIEW multithreaded benchmark applications. However, we did see a 3 percent performance boost over Windows XP while running the frequency spectrum analysis across four threads.
- In our NI TestStand parallel testing benchmark, we saw a 21 percent boost when we moved from Windows XP to Windows 7.
These results could be due to the changes Microsoft made to system performance, resource utilization, and refactoring locks to improve scalability.
Basic Operating System Tasks - Startup, Shutdown and Installation
A common perception about migrating to a new OS is that features come at the price of system performance. Our tests profiled how Windows 7 performed basic OS tasks in comparison with Windows XP and Windows Vista.
We compared Windows 7 with Windows Vista and Windows XP on the amount of time the different OSs took to complete the following actions:
- Start up:
From a turned-off state to login screen. No additional software installed. Averaged over 10 runs.
- Shut down:
From a logged-in state to completely turned-off state. No additional software installed. Averaged over 10 runs.
Figure 3. Installation, Bootup, and Shutdown Times (smaller bars are better)
- The installations of Windows 7 and Windows Vista were about 36 percent faster than the Windows XP installation.
- Windows 7 consistently shut down 48 percent faster on average than Windows XP in our benchmark tests.
According to the Engineering Windows 7 blog, some of this might be due to the following changes Microsoft made in Windows 7:
- Reducing the number of system services that start up on bootup as well as reducing their CPU, disk, and memory demands. The bootup speed also comes from disabling un-needed services from starting when Windows starts.
- Increasing parallelism of driver initialization. This decreases the likelihood that a few slower devices/drivers will impact the overall boot time.
Also, Microsoft has made efforts to deliver an overall more responsive User Interface and taskbar with its work on critical sections of code, registry I/O, and overall code paths.
One notable change is the ease of installation. The entire installation process has only five pre-install and seven post-install screens, each much simpler than those in Windows XP. The rest of the process is completely automated. Windows 7 also comes pre-loaded with most drivers that you would need to get started.
Also, during the installation, the user is automatically prompted to join a wireless network if one is detected and can set up a HomeGroup. This could potentially save much of the time and effort involved in setting up a network.
To learn more about HomeGroups, refer to Windows 7: Networking and Security.
2. Test System Specifications
The test system we used in our benchmark tests had the following specifications:
Processor: Intel Core 2 Extreme Quad Core CPU Q6850 @ 3.00GHz
Memory (RAM): 4.00 GB
System Type: 32-bit Operating System
Windows 7 Windows Experience Index: 4.8
LabVIEW Version: 8.6.1
TestStand Version: 4.1.1
Microsoft has publicized their investment in new functionality to improve the performance of their latest operating system. Our tests indicated that system tasks and software algorithms generally benefited from these improvements, with some minor exceptions. These are most likely due to the modifications to the windows scheduler that are targeted at multithreading and the streamlined caching mechanisms for file I/O.
The speed improvements we showed have implications for high performance production test systems and applications that require high throughput, though they may not have noticeable impact for every application. The balance between modest performance gains, new usability improvements, and the cost of migration are all important factors to consider when migrating to Windows 7.
Windows 7 Community
Share your ideas and keep up to date with the latest Windows 7 news in the Windows 7 Community Group.
Here you can find blogs, wikis, and discussion forums about Windows 7 that written specifically for Engineers and Scientists.