测量运行时间是性能评估的一个重要方面。现在我想评估 SGX enclave(可信执行环境)内的几个代码的性能,我注意到英特尔 SGX 提供了一个名为“sgx_get_trusted_time()”的 API,供开发人员从可信来源获取当前时间。但是,我在这里遇到了麻烦:
1) 使用 'sgx_get_trusted_time()' 之前需要 'sgx_create_pse_session()',但我总是收到错误 'SGX_ERROR_SERVICE_UNAVAILABLE'。我已正确安装并配置了 SGX SDK 和 PSW(否则我无法使用远程认证服务)。我还尝试为开发平台(Win10 + ThinkPad x270 + CORE i5)更新管理引擎,但没有成功;
2) API 以秒为单位返回时间,这在性能评估方面远非精确,尤其是在两次 API 调用之间经过的时间很短的情况下。
我怎样才能解决第一个问题,以及更精确地测量飞地内经过的时间的任何解决方案?感谢任何建议或提示。