refactor Speed and Variant, add PerfType