Registry Performance Test (Compact 2013)

3/26/2014

The Registry Performance Test analyzes the performance of the system when performing common registry operations such as creating registry keys, setting registry values, opening registry keys, and deleting registry keys. The test captures information about CPU utilization and memory data, as well as the time it takes to complete each operation.

The test generates raw benchmark data into an XML log file in the default release directory. The log file name is in the following format: "PERF_REGEX.xml".

You may want to run this test to determine whether you must enable the Flush-On-Close registry setting on your device. This registry setting increases reliability but is a tradeoff for performance. By knowing the time it takes to complete each registry operation, the Registry Performance Test can help you decide if this setting is a good choice for your system.

Test Prerequisites

Your device must meet the following requirements before you run this test.

There are no hardware requirements for the Registry Performance Test.

The following table shows the software requirements for the Registry Performance Test.

Requirement

Description

Tux.exe

Test harness, required for executing the test.

Kato.dll

Logging engine, required for logging test data.

PerfScenario.dll

Performance logging engine, required for capturing the benchmark data.

CePerf.dll

Performance marking API and data collection engine.

Perf_regEx.dll

Test library.

Note: There must be at least 5 megabytes (MB) of free space in the root directory of the target device. If there is not sufficient space in the root directory of the target device, the test cannot run properly.

Subtests

The following table lists the subtests included in this test.

SubTest ID

Description

1001

Creates and deletes registry keys (one key, multiple keys) and measures the time needed to complete each operation such as RegCreateKeyEx, RegOpenKeyEx, RegCloseKey, and RegDeleteKey. This test measures the time needed based on keys created in HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER.

1002

Sets short and long registry value names and measures the time needed to complete each operation such as RegSetValueEx, RegQueryValueEx, and RegDeleteValue. This test measures the time needed based on keys created in HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER.

1003

Opens registry keys that are paths, and registry keys that are deep trees (16 levels deep). Measures the time needed to complete each operation such as RegOpenKeyEx. This test measures the time needed based on keys created in HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER.

1004

Creates a tree that is five levels deep. Each key in the tree will have five subkeys and five values in the key. Leaf keys will only have five values and no subkeys. Measures the time needed to complete on each operation (RegDeleteKey). This test measures the time needed on keys created in HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER.

1005

Measures the time needed to complete "RegFlushKey" operation. This test measures the time needed on keys created in HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER.

1006

Tests performance of "RegEnumKeyEx" and "RegEnumValue" with 5, 10, 50 and 100 keys.

Setting Up the Test

The device must have an active registry system.

Running the Test

Command-Line Parameters for the Registry Performance Test

The following table shows the optional command-line parameters for the Registry Performance Test.

Command-line parameter

Description

/interval time

Specifies the interval (in milliseconds) between each CPU/memory snapshot. The default value is 100 ms.

/calibration time

Specifies the duration (in milliseconds) of the CPU calibration. The default is 100 ms.

Verifying the Test

When the test completes running, verify that "PASS" appears in the test log for all subtests.

In addition, the resulting PERF_REGEX.xml log file must be checked to ensure that the performance meets the desired performance bar. The times reported in the log are in milliseconds.

Troubleshooting the Test

* If the test fails to run, ensure that you have at least 5 MB of free space in the root directory of your device.

* Ensure that the Device Under Test has been set up with a RAM or hive-based registry system.

See Also

Other Resources

File System Tests