senas i7, java 6, 100 milijonu Hashmap.get operaciju
raktas Integer, uztruko 1.2sec
raktas Float, uztruko 1.8sec
raktas String, uztruko 4.5sec
Map testMap = new HashMap();
for (int i = 0; i < 1300; i++) {
testMap.put(Float.valueOf(i), Long.valueOf(i));
}
long a=0;
long time = System.currentTimeMillis();
for (int i = 0; i < 100000000; i++) {
a+= (Long)testMap.get(Float.valueOf(i%1300));
}
time = System.currentTimeMillis() - time;
System.out.println(a);
System.out.println(time);
kintamasis a isvedams , kad netycia java nesugalvotu, kad get rezultatas
nenaudojamas ir nenuoptimizuotu..
"bala nemate" wrote in message
news:1g2ngjccf5pzm.dp4s2a5p21n9.dlg@40tude.net...
> Tai, kad čia nieko labia įspūdingo. Net ir ciklas turėtų prasisukt (jei
> kažkokių papildomų skaičiavimų nenusimato).
nu man irgi taip atrodo. bet, kadangi nesu desktopinių aplikacijų
programerys, sakau, pasitikslinsiu. aplinkoje, kur daugiausia tenka
programinti, kartais sunku kokius tris kart per ciklą (0,5 sek.) atlikti ne
baisiai sudėtingas operacijas su tūkstantiniais masyvais.
--
bn/mj
skype : bala.nemate
"The blues ain't about making yourself feel better.
it's about making other people feel worse."
-- Bleeding Gums Murphy