- 질문 게시판입니다.
Date 21/07/23 18:36:05수정됨
Name   매뉴물있뉴
Subject   프로그래머 계층, 프로그램의 CPU점유율이 너무 낮습니다
그 뭐냐........
지금 어쩌다보니
티타임에 글을 쓰려고 프로그래밍을 돌리게 되었는데(.......)
굳이 프로그래밍의 목적을 적자면, 더블이 터져나가면서 누적된 계산이 부정확해지는 실례를 찾고자 하는 겁니다.

아래는 제 프로그램의 코드의 요약입니다.
대ㅐㅐㅐ충 저렇게 생긴 수식을 돌리고 있읍니다.
[
double x = 0;
double y = 0;
double interval = 0.0000000000001;
while (x < 4) {
   y = y + x * 2 * interval;
   x = x + interval;
}
System.out.println("x=4, y=" + y);
]


[질문이 수정된부분]
이 프로그램의 목적은
y=x^2일때
x=4이면 y=16이라는 것을
y=x^2를 미분한 형태인
y'=2x <- 방정식만을 이용하여
x값을 0.0000000000001만 증가시키고
그 지점에서 미분값을 (0.0000000000002)를
0.0000000000001에 곱해서
y에 누적합산하여
x=4가 되었을때
y=15.999998676357285가 된다.
는 것을 계산해 내면서

증가폭을 0.0000000000001에서 계속 줄여나가면서
더더더더더더더더 정교하게 계산된 y=16을 얻어내는 것입니다.
interval=0.00000000000001,
interval=0.000000000000001,
interval=0.0000000000000001,
interval=0.00000000000000001,
interval=0.000000000000000001,
interval=0.0000000000000000001,
interval=0.00000000000000000001,
.......

하지만 이러한 정밀함을 높이기 위해
인터벌의 값을 무한정 줄이는것이 정답은 아닙니다.
결국은 더블의 유효숫자갯수가 유한하다는 문제가 누적되면서
결과적으로는 예측값이 어긋나게 되는 결과도 나오게 됩니다.
[수정끝]

그... 뭐...
프로그램의 목적상
씨퓨를 100%로 돌리기를 희망하는데,
대학 졸업하고 이클립스로 자바를... 넘나 오랜만에 돌리면서
작업관리자로 씨퓨 점유율을 보았더니,
예전과는 다르게 이클립스는 CPU를 30% 밖에 점유하고 있지 않는것이었습니다.

그래서 논리프로세서별로 점유율을 다시 보았더니
프로세서(총4개)중에 아무것도 CPU를 100% 먹는 프로세서가 없읍니다???
저는 프로세서중에 최소한 한개는
100%를 빵빵하게 먹고 들어갈줄 알았는뎁???

씨퓨를 빵빵하게 돌리고 싶은데 생각보다 씨퓨가 빵빵하게 안돌아 갑니다??
무엇을 손봐야 하겠읍니까?




0


목록
번호 제목 이름 날짜 조회 추천
12049 기타요로코롬 생긴 렌치는 뭐라고 부르나욤? 4 매뉴물있뉴 21/08/13 5022 0
11999 문화/예술그립? 사소한 영화/드라마/영상 질문? 5 매뉴물있뉴 21/08/04 5834 0
11935 IT/컴퓨터프로그래머 계층, 프로그램의 CPU점유율이 너무 낮습니다 40 매뉴물있뉴 21/07/23 5696 0
11810 의료/건강해열제↔진통제?? 11 매뉴물있뉴 21/06/30 5346 0
11705 의료/건강백신 접종시 문진에서 코로나 감염 여부를 묻는 이유는? 3 매뉴물있뉴 21/06/10 4674 0
11585 연애용산에서 소개팅 13 매뉴물있뉴 21/05/22 4094 3
11529 IT/컴퓨터인터넷 속도 - 라우터를 하나 늘렸더니 속도가 줄었어요 2 매뉴물있뉴 21/05/13 5362 0
11468 의료/건강비싼 주사기 대신 식염수를 넣으면, 그게 안되나?? 11 매뉴물있뉴 21/05/01 5771 0
11433 기타여론조사란 원래 이런 것인가 2 매뉴물있뉴 21/04/26 4776 0
11359 홍차넷홍차넷의 글쓰는 문법에 대한 글 같은것이, 있을까요? 42 매뉴물있뉴 21/04/15 5451 0
목록

+ : 최근 2시간내에 달린 댓글
+ : 최근 4시간내에 달린 댓글

댓글