Lehet, hogy a poén kedvéért a windows-omra is visszarakom egy időre a java-t, mert már kezdek kíváncsi lenni a dologra.
Annyi azért hozzátartozik, hogy (írtam is valahol itt) kipróbáltam fizikailag létező gépen is, hasonló eredményekkel.
Ami a soronkénti olvasást illeti... nem tudom, pontosan mi történik, amikor a pythonban ilyet művelek:
with open("file.txt","r") as f:
for rec in f:
pass
Ami biztosnak látszik, hogy jóval gyorsabb, mint ez:
with open("file.txt","r") as f:
rec=f.readline()
while rec != "":
pass
rec=f.readline()
Ez utóbbi variáció esetében a teszthez használt állomány beolvasása csak alig valamivel volt gyorsabb, mint a javas verzió, míg az előbbit megközelíteni sem tudom mind a mai napig a java BufferedReader-ével. Ezért készítettem egy olyan verziót, ami az egész állományt tömbbe tölti és azon megy végig.
Persze, ezt okozhatja az op.rendszer cache műödése is, a virtualbox... hát az talán nem annyira, mert a fizikai gépen is ezt produkálta, ha jól emlékszem.