저도 bigint 메모리 초과가 뜨길래 왜 메모리 초과인지 궁금해서 몇시간 찾아보니 확실히는 모르겠지만 대충 이유를 알 것 같습니다.
일단 bigint로 간단하게 짠 코드에 30만자리 * 30만자리 수를 넣은 결과입니다. 노란색이 GC이며, 너무 오래 걸려서 중간에 꺼버렸습니다.
메모리 초과 이유는 아래 링크에 나와 있습니다. Biginteger가 불변하는 구조라서 연산마다 새로운 구조체를 찍어낸다고 하네요.
저도 bigint 메모리 초과가 뜨길래 왜 메모리 초과인지 궁금해서 몇시간 찾아보니 확실히는 모르겠지만 대충 이유를 알 것 같습니다.
일단 bigint로 간단하게 짠 코드에 30만자리 * 30만자리 수를 넣은 결과입니다. 노란색이 GC이며, 너무 오래 걸려서 중간에 꺼버렸습니다.
메모리 초과 이유는 아래 링크에 나와 있습니다. Biginteger가 불변하는 구조라서 연산마다 새로운 구조체를 찍어낸다고 하네요.
댓글을 작성하려면 로그인해야 합니다.
dayo05 3년 전
도데체 어디를 고쳐야지 메모리초과가 풀릴까요...?