사용자 정의 커널이 시스템 성능을 향상시킬 수 있는지 확인하는 방법은 무엇입니까?

사용자 정의 커널이 시스템 성능을 향상시킬 수 있는지 확인하는 방법은 무엇입니까?

재컴파일 전후의 부팅 시간과 커널 크기를 측정하는 것 외에도 사용자 정의 컴파일된 커널이 시스템 성능을 향상시키는지 여부를 결정하는 데 유용한 다른 측정 기준이 있습니까? 성능 향상이 작을 것이라는 것은 알지만 전후에 차이가 있는지 알고 싶습니다.

편집: CPU는 x86 32비트입니다.

답변1

x86_64(amd64) 아키텍처를 실행한다고 가정하면 성능에 큰 차이를 기대하지 마십시오. 이 아키텍처는 프로세서 기능에 대한 새로운 벤치마크를 제공합니다(i386으로 거슬러 올라가는 32비트 코드와 비교).

게다가 32비트 환경에서는 커널과 C 라이브러리가 다양한 최소 아키텍처(i586, i686 등)용으로 컴파일되었습니다.

마지막으로 게임, 압축 라이브러리, 암호화 도구, 3D 렌더링 등에는 이미 현재 하드웨어에 가장 효율적인 구현을 선택하는 핵심 기능의 여러 구현이 포함되어 있을 수 있습니다.

하지만 꼭 해야 한다면 중요한 성능 특성을 측정하는 신뢰할 수 있는 표준 벤치마크 제품군을 찾으십시오. 여러 번 실행하여 일관된 결과를 찾으세요.

자신만의 커널을 컴파일하고 여러 번 실행해 보세요.

차이점을 발견하면 원래 커널로 돌아가서 차이점이 여전히 있는지 확인하세요.

그런 다음 새 커널로 돌아가서 차이점이 여전히 있는지 확인하십시오.

많은 요인으로 인해 측정 시 작은 차이가 발생할 수 있으며 큰 차이를 얻을 수는 없을 것 같습니다.

답변2

단순함: 대표적인 테스트를 실행하고 이전 커널을 실행할 때와 사용자 정의 커널을 실행할 때 결과를 비교합니다.

여기서 핵심은 "대표성"입니다. 워크로드마다 성능 요구 사항이 다르며 커널 설정에 따라 더 좋거나 나쁠 수 있습니다. 사용자 정의 컴파일된 커널은 일부 응용 프로그램의 성능을 향상시킬 수 있지만 다른 응용 프로그램에는 해를 끼칠 수 있습니다.

어느 쪽이든, 나는 큰 차이를 기대하지 않을 것입니다. 일반적으로 사용자 정의 커널을 사용하는 것은 의미가 없습니다. 특히 특정 목표가 없는 경우에는 더욱 그렇습니다.

관련 정보