Description

The recommended minimum resolution of the Performance interface should be set to 5 microseconds.


PASS The recommended minimum resolution of the Performance interface has been set to 5 microseconds 

