속도 테스트 코드는 <openssl>/apps/speed.c
입니다.
-multi
은 (모든 혼동을 제거하기 위해) 곱셈이 아닌 병렬로 여러 벤치 마크를위한 스위치입니다. 라인 1145 주위의 의견을 참조하십시오
#ifndef NO_FORK
BIO_printf(bio_err,"-multi n run n benchmarks in parallel.\n");
#endif
열 기호 및 확인은 무엇을 의미 하는가?
그들이 말한대로 서명하고 확인하십시오. 그들은 다른 RSA 모듈을 사용하여 서명 작업과 검증 작업을 시간을 잰다.
Sign/s 및 Verify/s는 Sign and Verify의 반전입니다. 즉, 1/0.000008s => 초당 125,000 개의 징후.
보고있는 보고서를 인쇄하는 코드는 다음과 같습니다.
는 인텔 (R) 제온 (R를)
#ifndef OPENSSL_NO_RSA
j=1;
for (k=0; k<RSA_NUM; k++)
{
if (!rsa_doit[k]) continue;
if (j && !mr)
{
printf("%18ssign verify sign/s verify/s\n"," ");
j=0;
}
if(mr)
fprintf(stdout,"+F2:%u:%u:%f:%f\n",
k,rsa_bits[k],rsa_results[k][0],
rsa_results[k][1]);
else
fprintf(stdout,"rsa %4u bits %8.6fs %8.6fs %8.1f %8.1f\n",
rsa_bits[k],rsa_results[k][0],rsa_results[k][1],
1.0/rsa_results[k][0],1.0/rsa_results[k][1]);
}
#endif
이 기호를 수행하고 독자에게 연습 문제로 남겨 확인하기 위해 코드를 찾기 : 그것은 라인 2450 주위에 시작)의 CPU E5-1650 v2로 @의 3.50GHz
그냥 자전거 흘림,하지만 당신은 현대 GCC를 사용하는 경우 enable-ec_nistp_64_gcc_128
와 config
해야합니다. ec_nistp_64_gcc_128
을 사용하면 DH 작업과 같은 일부 작업의 속도가 2 배나 4 배 빨라집니다.
__uint128_t
에는 최신 GCC가 필요합니다. Configure
은 컴파일러에서 __uint128_t
을 단독으로 지원하는지 확인할 수 없으므로 ec_nistp_64_gcc_128
을 사용하지 않습니다.
출처
2014-01-24 01:40:53
jww