Java에 해당되는 글 2건
2006/05/23 :: 지금은 삽질중 (6)
2005/01/16 :: Java (2)
졸업작품으로 만들고 있는 시스템에서 필요한 소수 p, q를 만들기 위해서 특정 조건에 만족하는 소수를 생성하고 있는데 이것이 말도 안 되게 느리다. 어느 정도 허용 가능한 편차를 가지고 시간이 차이가 나면 말을 하지 않겠는데 하나하나 생성할 때마다 시간차이가 너무 크다.
지금 500쌍 정도 생성하도록 해놓고 한참 기다리는 중인데 얼마나 걸리고, 그리고 얼마나 편차가 날런지..
아무래도 알고리즘을 손봐야 하나?? p만들고 q를 만드는 것보다 q만들고 p를 만드는 게 차라리 더 빨라서 이렇게 한 건데 만약에 p를 가지고 인수분해를 하려고 했다면.. (먼산) 인수분해가 쉽게 되면 문제가 있겠지만 여하튼, 이거 매번 생성하는 게 아니라면 대충 이렇게도 되겠지? 흠냐.. -_ -;;
추가 #1 :
하나의 쌍을 만드는데 p의 생성이 평균적으로 약 255번이 이루어졌으므로, 512-160 bit의 소수 b를 하나 생성하고, 여기에 q와 2를 곱해서 1을 더하고, 이렇게 만들어진 p가 소수인지 검사하는 루프를 255번을 돌았다는 이야기이다... 정말 엉망이다. 이것보다 좋은 효율의 알고리즘은 없는 걸까..?
추가 #2 :
오늘은 millisecond 단위로 한번 해보았다 생성하는 양을 줄여서 50개만, p생성은 223번, 1개 생성시마다 평균 17111.56 millisecond 정도, 여전히 좋은 알고리즘은 아니란 걸 알 수 있다.
지금 500쌍 정도 생성하도록 해놓고 한참 기다리는 중인데 얼마나 걸리고, 그리고 얼마나 편차가 날런지..
아무래도 알고리즘을 손봐야 하나?? p만들고 q를 만드는 것보다 q만들고 p를 만드는 게 차라리 더 빨라서 이렇게 한 건데 만약에 p를 가지고 인수분해를 하려고 했다면.. (먼산) 인수분해가 쉽게 되면 문제가 있겠지만 여하튼, 이거 매번 생성하는 게 아니라면 대충 이렇게도 되겠지? 흠냐.. -_ -;;
추가 #1 :
하나의 쌍을 만드는데 p의 생성이 평균적으로 약 255번이 이루어졌으므로, 512-160 bit의 소수 b를 하나 생성하고, 여기에 q와 2를 곱해서 1을 더하고, 이렇게 만들어진 p가 소수인지 검사하는 루프를 255번을 돌았다는 이야기이다... 정말 엉망이다. 이것보다 좋은 효율의 알고리즘은 없는 걸까..?
추가 #2 :
오늘은 millisecond 단위로 한번 해보았다 생성하는 양을 줄여서 50개만, p생성은 223번, 1개 생성시마다 평균 17111.56 millisecond 정도, 여전히 좋은 알고리즘은 아니란 걸 알 수 있다.
새로 컴퓨터 장만하고 드디어 생산적인 일을 하고 있다.
지금까지 셋팅겸 그냥 시간때우기로 열심히 영상물 감상하다가;
책을 새벽이라는 시간이 되어서야 책을 피고,
오랜만에 자바 코딩에 들어갔다..
역시나 사양이 좋아져서 그런지..
이클립스 키는데도 얼마 걸리지도 않고..
툴팁도 바로바로 뜨고;
컴파일도 순간! 좋다..
좀더 이 컴퓨터로 생산적인 일을 많이 해야한다는 생각이 든다;
얼마나 생상적인 활동을 할런지는 이제 두고두고 봐야할 문제지만;
열심히 노력해야겠지..
이런 컴퓨터 놀리지 않도록!
지금까지 셋팅겸 그냥 시간때우기로 열심히 영상물 감상하다가;
책을 새벽이라는 시간이 되어서야 책을 피고,
오랜만에 자바 코딩에 들어갔다..
역시나 사양이 좋아져서 그런지..
이클립스 키는데도 얼마 걸리지도 않고..
툴팁도 바로바로 뜨고;
컴파일도 순간! 좋다..
좀더 이 컴퓨터로 생산적인 일을 많이 해야한다는 생각이 든다;
얼마나 생상적인 활동을 할런지는 이제 두고두고 봐야할 문제지만;
열심히 노력해야겠지..
이런 컴퓨터 놀리지 않도록!

