간단한 실험은 직렬 간단한 벤치 마크 삽입 찾기 수행 할 때 JDK7
컴파일 HashMap<Integer, Integer>
많은 스레드를 사용하는 것으로 나타났습니다 :의 HashMap와 JDK 7
- 삽입 만 번호를.
- 수억 개의 숫자를 검색하십시오.
어째서? JDK7은 자동으로이 코드를 병렬화하는 방법을 추측합니까 ??? 단일 스레드 동작을 벤치마킹해야합니다. 어떻게해야합니까?
코드는 약 2.5 코어는로드 :
import java.util.*;
public class HashSpeed {
public static void main(String[] args)
{
HashMap<Integer, Integer> m = new HashMap<Integer, Integer>(10000);
final int N = 10000000;
for (int i=1; i<N; i+=2)
m.put(i, i);
for (int j=0; j<10; j++) {
for (int i=0; i<N; i++) {
if (m.get(i) != null != (i%2==1)) {
System.out.println("failed");
}
}
}
System.out.println("TEST OK");
}
}
멀티 스레딩을 제안하는 증거와 코드를 제공해주십시오. –
@ 루이스 와서 만 : 완료. – Cartesius00
여기에는 멀티 스레딩이라고 믿게하는 증거는 포함되어 있지 않습니다 ... –