|
흠 펜2 1.6기가 정도던가요
그 정도 사양에서 부터 하이퍼쓰레딩이 내장되게 되었던걸로 기억하는데,
싱글코어더라도, 하이퍼쓰레딩이 디폴트인 경우엔, 싱글프로세스에서 실제 성능의 절반만 사용하는 식이라.
쓰레드를 돌릴때 득을 볼 여지가 있긴 합니다.
가령 똑같은 연산도 싱글코어 넌하이퍼쓰레딩에서 100클럭이 나온다면
하이퍼쓰레딩하에서 200클럭이 나와버리거든요.
어차피 BIOS 에서 하이퍼쓰레딩을 꺼버리면 싱글코어의 Full 퍼포먼스를 낼 수 있겠습니다만,
그러면 정작 쓰레딩으로 조금 득을 볼 수 있는 윈도우의 다른 작업들에 데미지가 있을테고 : )
실험해 보는 수 밖에 없다는게 정답일까요 : )
픽셀연산의 종속성이 크고, 컨텍스트 스위칭 비용이 비교적 적다면, 쓰레딩쪽이 파이프라이닝 효율을 높이는
경우도 왕왕 있고 말이죠.
뭐 어쨌든, 질문자가 싱글코어에 넌하이퍼쓰레딩 환경이다. 라는 단서를 달진 않으셨으므로,
듀얼코어, 혹은 하이퍼쓰레딩 환경이다 라고 가정하고 생각한다면
픽셀의 평균을 구하는 부분은 확실히 빨라집니다.
장성호 님이 쓰신 글 :
: cpu가 듀얼코더 이상이 아니라면 속도가 오히려 못할것입니다.
:
: 코어가 하나인 상태에서 여러개의 Task를 돌리려면
: 시간을 쪼개 쓰는 방법밖에 없잖아요
:
: 쓰레드가 여러개면 1번 쓰레드 좀 돌리고 , 다시 2번 쓰레드 돌리고.....
: 이런식으로 합니다.
:
: Window뿐만 아니라 Linux등 Multitasking os는 모두 같은 원리죠
: (다른 방법이 있을수가 없는듯....)
:
: 오히려 하나의 쓰레드에서 돌리면 쓰레드switch하는 시간이라도 줄이니까
: 속도에 이득이 있을수 있죠
:
: 그냥 하나의 쓰레드에서 돌리는게 낫습니다.
:
: 그럼..
:
:
: 사랑니 님이 쓰신 글 :
: : 쓰레드로 연산시간을 줄일 수 있나요?
: :
: : 가령 엄청나게 큰 이미지가 있다고 하죠..
: :
: : 800000 * 12000 픽셀의 Byte 단위의 데이터가 있다면 이 데이터의 평균을 구한다면
: :
: : 영역을 나누어 쓰레드를 따로돌려서 계산 후 계산된 데이터들을 더하고 나누기 갯수.. (쓰레드 갯수 10든 20개든)
: :
: : 뭐 이런식으로 하게되면 속도의 차이가 있을까요??
: :
: : 완전한 병렬은 없는것으로 생각되는데.. 하나의 목표데이터에 대한 결과로 쓰레드의 효과가 있을까요?
: :
: : 여러분들에 의견 기다리겠습니다.
: :
: : 수고하세요``
|