필자는 더 많은 독자와 적은 수의 작가의 경우 세마포어와 읽기 쓰기 세마포어의 성능을 실질적으로 보여주기 위해 테스트 사례를 작성하고 그 반대의 경우도 마찬가지입니다. 세마포어 (실제로 묻는 커널 공간에서)를 구현했지만 유스 케이스를 작성하는 방법을 얻지 못하고 실제로 실제 평가를 수행합니다 (범주 적으로).세마포어와 R/W 세마포어 사이의 Performace 평가
답변
두 가지 버전의 코드 (세마포어/R/W 세마포어)를 시작하면 어떨까요? 유스 케이스는 테스트중인 실제 기능에 따라 다릅니다. 장치 드라이버입니까? IO 관련이 있습니까? 네트워킹과 관련이 있습니까? 이를 모른 채 유스 케이스를 찾는 것은 어렵습니다.
일반적으로 IO 벤치 마크와 같은 작업을 수행하면 일련의 실행을 위해 증가하는 메모리 사용량에 대해 여러 시뮬레이션을 실행하게됩니다. 다른 실행 세트는 증가하는 프로세스로드에있을 수 있습니다. 다른 블록 크기가 다를 수 있습니다. 나는 그것들 각각을 총 대역폭과 같은 것으로 비교할 것이고 성능 (이 경우에는 총 대역폭)이 그러한 테스트에서 어떻게 바뀌는지를 볼 것입니다.
USB 드라이버와 같은 것을 테스트하는 경우에도 사용 사례가 완전히 다를 수 있습니다.
실제로는 장치 드라이버 (IPC 장치 드라이버)입니다. 따라서 우리는 실제로 두 개의 사용 사례에서 세마포어 및 r/w 세마포어의 성능을 보여야합니다. 1) 더 많은 독자와 적은 수의 쓰기 2) 적은 수의 읽기 및 기타 쓰기 어떻게 ac 프로그램에서 이러한 사용 사례를 생성 할 수 있습니까? 나는 20-30 개의 동일한 C 프로그램을 작성하고 그 많은 터미널을 열어서 팔레리를 실행하거나 다른 방법도있다. 그리고 위의 작업을 수행 한 후 실제로 성능을 확인하고 관찰 할 수 있습니다. –
다음이 개 C 프로그램을 작성하고
-
간단한 초보적인 테스트로
reader.c
writer.c
그들에게 컴파일, 쉘 스크립트 test.sh
를 작성하여 명령을 추가, 사용자 정의 세마포어를 사용하여 다음과 같이 테스트 바이너리를로드한다.
#!/bin/sh
./reader &
./reader &
./reader &
./reader &
./writer &
./test.sh
로 위의 쉘 스크립트 4 독자와 한 작가를 시작합니다 시작. 테스트 시나리오에 맞게 사용자 정의하십시오.
프로그램이 올바르게 작동하는지, 즉 성능을 프로파일 링하기 전에 데이터가 올바르게 교환되었는지 확인하십시오.
IPC가 예상대로 작동하면, CPU 사용을 프로파일하십시오. test.sh
을 실행하기 전에 다른 터미널에서 top
명령을 실행하십시오. 테스트 스크립트의 실행 시간 동안 다양한 수의 리더/라이터에 대한 CPU 사용 패턴을 관찰하십시오.
는 또한 개별 바이너리를 실행할 수 있습니다 (또는 테스트 스크립트)와 :
time <binary>
는 총 수명 및 시간이 커널 드라이버에서 대기 소비 인쇄하려면 .
는 코드의 다양한 섹션에서 보낸 시간의 상대적인 양을 구하려면perf record <binary>
및 완료 후
perf annotate main
를 실행합니다.
- 1. 공유 메모리 동시성 알고리즘과 뮤텍스/세마포어 사이의 관계
- 2. 부스트 특성 트리 performace
- 3. 실제로 세마포어와 스핀 록은 얼마나 비쌉니까?
- 4. 세마포어?
- 5. 세마포어와 반대되는 것이 있습니까
- 6. 세마포어와 C의 스레드
- 7. 세마포어 카운터와 세마포어 메서드 정수 매개 변수 사이의 이해의 차이점은 무엇입니까?
- 8. jquery selector performace
- 9. Android 앱용 Performace 분석
- 10. CSS 선택기 performace
- 11. 쿼리의 performace 문제
- 12. ActionFilter 속성에서 CTE performace
- 13. 'not'키워드의 개념적 의미; 개체 사이의 평가
- 14. 숙제 - 세마포어와 뮤텍스를 사용하는 큐
- 15. PHP로 작업하려면 세마포어와 스레딩을 배워야합니까?
- 16. 맞춤 세마포어와 그 사용법이 정확합니까?
- 17. 세마포어와 함께 잠금을 사용해야하는 이유
- 18. 구현시 세마포어와 뮤텍스의 차이점은 무엇입니까?
- 19. 세마포어와 같은 모니터를 사용 하시겠습니까?
- 20. RW 잠금 (계층 잠금 포함)
- 21. 내가 Box2D의에 RW 튜토리얼 다음
- 22. 자바에서 세마포어
- 23. 이해 세마포어
- 24. FreeRTOS 세마포어
- 25. 스레딩 세마포어
- 26. 세마포어 초기화
- 27. 세마포어 동기화
- 28. 세마포어 재진입
- 29. 일반 선택과 준비된 performace 비교
- 30. 아포스트로피 now cms performace issue
실제로는 장치 드라이버 (IPC 장치 드라이버)입니다. 따라서 실제로 세마포어 및 r/w 세마포어의 성능을 두 가지 사용 사례에서 표시해야합니다. 1) 더 많은 독자와 적은 수의 쓰기 2) 적은 수의 읽기 및 기타 쓰기 그렇다면 AC 프로그램에서이 사례를 생성하는 방법은 20 개를 써야합니다. -30 동일한 c 프로그램을 실행하고 많은 터미널을 열어 paralley를 실행하거나 다른 방법도 있습니다. 그리고 위의 작업을 수행 한 후에 우리는 실제로 성능 차이를보고 관찰 할 수 있습니다. –