问题描述
我尝试做一个简单的基准测试来比较一段在 intel sgx enclave 内部/外部运行的 Python 代码的性能。 代码很快很简单(我从网上得到的)
import time
from resource import getrusage,RUSAGE_SELF
def long_function():
for i in range(10 ** 10):
2 + 2
long_function()
print(getrusage(RUSAGE_SELF))
当我比较结果时,我发现最大的区别是自愿上下文切换,175 对 1308422。这是什么意思?我正在使用 Scone 将代码包装到一个容器中以在 enclave 内运行。
outside enclave
resource.struct_rusage(ru_utime=183.582198,ru_stime=0.20426,ru_maxRSS=10916,ru_ixRSS=0,ru_idRSS=0,ru_isRSS=0,ru_minflt=1109,ru_majflt=0,ru_nswap=0,ru_inblock=0,ru_oublock=0,ru_msgsnd=0,ru_msgrcv=0,ru_nsignals=0,ru_nvcsw=175,ru_nivcsw=3230)
inside enclave
resource.struct_rusage(ru_utime=183.267983,ru_stime=4.7623,ru_maxRSS=37448,ru_minflt=2548,ru_nvcsw=1308422,ru_nivcsw=5835)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)