소프트웨어 C 언어에서 연산 횟수 카운트하기
2010.11.29 21:50
C 언어 등에서 만든 프로그램에서 어떤 루프가 있는데 이 루프가 실행되는 동안 CPU 내부에서 행해진 사칙연산의 횟수를 알 수 있을까요? 내가 직접 프로그램 안에 그런 기능을 하는 코드를 집어넣든지 아니면 별도의 소프트웨어가 있을까요?
댓글 [6]
-
우주천하 2010.11.30 00:59 -
그냥그대로 2010.11.30 04:47
CPU에서 행해지는 덧셈 횟수나 곱셈 횟수 등을 알고 싶습니다. 그런데 C 언어 수준의 연산은 뭘 의미하는지 이해하지 못하겠네요
-
우주천하 2010.11.30 11:30 비쥬얼스튜디오 쓰시나요?
옵션에 보면 어셈블리 코드로 덤프해주는게 있습니다.
물론 C코드도 같이 나오게 할수도 있고요.
간단한 코드라면 어셈블리코드에서 연산코드만 카운트하시면 될거 같네요.
아니면 C코드의 어셈블리 변환메카니즘을 이해하셔서 연산자를 카운트하는 프로그램을 따로 만드시던가요.
제가 알기로 연산을 카운트 해주는 방법은 없는걸로 압니다.
비트연산결과를 플래그레지스터에 기록은 합니다만 사칙연산을 카운트 하지는 않아요.
정확히 무슨 목적으로 하시는지 알려주시면 다른 좋은 해결책을 제시할 수도 있을겁니다.
(뭐 누군가가)
-
우주천하 2010.11.30 11:44 https://blog.naver.com/no1rogue/30095428920
EFLAGS 레지스터에 대한 내용입니다.
참고 하시고.
퍼포먼스를 고려해서 상식적으로 연산횟수를 CPU에서 저장하지는 않겠죠.
사실 필요도 없고, 만약 저장한다면 메모리가 아니라 빠른 레지스터에 저장하겠죠.
그 레지스터중에서 가장 근접한게 플래그레지스터입니다.
-
그냥그대로 2010.11.30 13:08
채널을 통과하여 잡음이 더해진 스트림을 디코딩하는 두 알고리즘의 성능을 비교하기 위해 연산횟수를 알려고 합니다. 그냥 시간 측정하는 것으로 충분할까요?
-
우주천하 2010.11.30 14:18 알고리즘의 성능비교라면 마이크로세컨드(100만분의 1초)로 측정하시면 대부분의 경우 그 우위를 알수 있을겁니다.
QueryPerformanceFrequency(), QueryPerformanceCounter()
위의 두 함수를 이용하시면 됩니다.
제가 모든 방법을 다 본건아니지만
다수의 논문을 봐도 시간측정으로 성능측정을 하지 연산회수로 측정하는건 본적이 없어요.
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
18458 | 윈 도 우| taskbar 에서 아이콘 제대로 작동안되는 경우... | 윈도세븐 | 1821 | 12-05 |
18457 | 윈 도 우| 갑자기 이런창이 가끔씩 뜨는데 [4] | 김성근 | 2015 | 12-05 |
18456 | 윈 도 우| 종종 화면이 그대로 굳어버리는데 이유가 뭔가요? [3] | 미즈키 나나 | 1889 | 12-05 |
18455 | 소프트웨어| 크롬= 크로미움? [1] | 블루하와이 | 3378 | 12-05 |
18454 | 윈 도 우| 컴퓨터가 안 꺼집니다. [1] | 자고나니아빠 | 1997 | 12-05 |
18453 | 소프트웨어| ffdshow코덱에 대해서 설명되어진 블로그나 사이트 있을까요 [1] | 화이 | 2668 | 12-05 |
18452 | 소프트웨어| Ramdisk + 사용자분 질문드립니다. [5] | Dface | 2951 | 12-05 |
18451 | 소프트웨어| 트루이미지로 복구할때요.. [2] | 야구채널 | 2646 | 12-05 |
18450 | 윈 도 우| 윈도우7 인터넷연결 문제입니다 [2] | ONE | 3485 | 12-05 |
18449 | 하드웨어| 쓰다보면 하드에서 딱딱 소리가 납니다. [7] | 야구채널 | 3631 | 12-04 |
18448 | 윈 도 우| 티니버전쓰시는분윈도우탐색기및컴퓨터 [2] | 메실 | 1820 | 12-04 |
18447 | 소프트웨어| 윈.미.플12 vodsub를 사용하면 [6] | Akon | 2756 | 12-04 |
18446 | 소프트웨어| 팟플레이어나 톡플레이어는 화면캡처시 자막도 같이 캡쳐하... [3] | 나그네켄신 | 4088 | 12-04 |
18445 | 소프트웨어| 공DVD -R 과 +R에 대해서 질문드려요 [2] | 초원의빛 | 2620 | 12-04 |
18444 | 윈 도 우| 윈도우7 인증관련 질문입니다~ [5] | dlghtls | 2202 | 12-04 |
18443 | 윈 도 우| 공CD가 잃지않네요 .? [2] | 공돌이 | 1842 | 12-04 |
18442 | 소프트웨어| 익스플로러 9 쓸만한가요? [3] | 바람은찰나 | 2785 | 12-04 |
18441 | 윈 도 우| 윈7 32bit 현재 업데이트 설치가..서비스팩등 [1] | April. J. | 2040 | 12-04 |
18440 | 소프트웨어| p.s 아바타 블루레이원본 139G TV에 USB로 꼽아서 재생시에... [8] | 미꾸라지 | 6483 | 12-04 |
18439 | 윈 도 우| xnote vista에서 윈도우7 설치 후 시스템 리커버리 메뉴가 ... [2] | 해나무 | 2691 | 12-04 |
하시려는게 정확히 뭔데요?
이런 단편적인 요구로는 문제해결이 어려울거 같네요.
연산이라는게 고급언어(C언어) 수준의 연산만 의미하는지, 실제 CPU에서 행해지는 연산(기계어)인지 부터가 모호합니다.