-
Fototrend
Új hozzászólás Aktív témák
-
beleszólok
senior tag
válasz Sk8erPeter #8315 üzenetére
Sokra nem mentek vele
namespace monosandbox
{
public class Hello
{
public static void Main(string[] argv){
int n = 0;
Console.WriteLine (System.IO.Directory.GetCurrentDirectory ());
using (StreamReader sr=File.OpenText("kern.log")) {
String s;
while ((s=sr.ReadLine()) != null) {
n++;
}
}
Console.WriteLine (n);
}
}
}Ennél primitívebb kódot nehéz lenne összehozni.
A StreamReader bufferelésével játszadoztam egy sort, de csak rontani tudtam rajta.
A fenti kód, így ahogy van, picit több, mint 22mp-ig fut - most lemértem.
Ugyanez a feladvány, csak pythonban 3.6mp.f=open("kern.log","r")
n=0
for i in f:
n+=1
print nValamit nagyon trükkösen csinál, mert ha a fenti kód helyett egy ilyet csinálok:
f=open("kern.log","r")
l=f.readlines()
print(len(l))akkor elvileg betölti memóriába az egész fájlt, gyakorlatilag iszonyat gyorsan végig tud menni rajta, még sincs bent minden, mivel a fájl közel akkora, mint a teszteléshez használt virtuális gép memóriája és az elég feltűnő, ha megtöltöm. A readlines() helyett read()-t használva elég szembetűnő a különbség.
(1.6GB a fájl és 2GB-ja van a VM-nek)[ Szerkesztve ]
Tiszavirág: http://youtu.be/YdcsiW0kfso
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- iPhone topik
- A fociról könnyedén, egy baráti társaságban
- Milyen routert?
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Ismét E-ink kijelzős telefon-frissítés a Hisense-től
- Asszociációs játék. :)
- Amlogic S905, S912 processzoros készülékek
- Óvodások homokozója
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- További aktív témák...
- Intel i5-12500t 6c/12t - 2.0 Ghz / MaxBoost: 4.4 Ghz
- UFF! HP EliteBook 850 G8 Fémházas "Kis Gamer" Laptop 15,6" -65% i7-1185G7 32/1TB Iris Xe FHD HUN
- Szépséges! HP EliteBook 850 G7 Fémházas Szuper Strapabíró Laptop 15,6" -65% i7-10610U 32/1TB FHD HUN
- I7-4770K processzor 4mag 8 szál 3,5 ghz
- Gigabyte GA-Z87X-D3H 1150 es alaplap