반응형
Notice
Link
목록하드웨어 최적화 (1)
스택큐힙리스트
x86-64 어셈블리의 성능 최적화 - 정렬과 분기 예측
나는 현재 x86-64 어셈블리와 SSE-2 명령어를 사용하여 C99 표준 라이브러리 문자열 함수인 'strlen()' , 'memset()' 등의 고도로 최적화된 버전을 코딩 중입니다. 지금까지는 성능 측면에서 탁월한 결과를 얻었지만, 더 최적화하려고 시도할 때 가끔 이상한 동작을 보입니다. 예를 들어, 몇 가지 간단한 지시문을 추가하거나 제거하거나, 점프에 사용되는 로컬 레이블을 간단히 재구성하는 것만으로도 전체 성능이 크게 저하됩니다. 코드적인 측면에서는 아무런 이유가 없습니다. 내 추측은 코드 정렬에 문제가 있거나 잘못 예측된 분기들 때문에 문제가 있을 것이라고 생각합니다. 나는 같은 아키텍처(x86-64)를 가지더라도 다른 CPU들이 분기 예측에 대해 다른 알고리즘을 가지고 있다는 것을 알고 있..
카테고리 없음
2023. 8. 29. 19:05