Citat:
Ursprungligen postat av
Enterprise
Nej, det är inte en rimlig förklaring att minnet för en lista på uppemot 10 000 rader skulle påverka hastigheten alls.
Nu är jag inte insatt i hur Itertools fungerar "under the hood", om det är så att det finns en "startup"-tid för att räkna fram till ett högre startbelopp, det skulle i så fall förklara inbromsningen. Men det låter ju i så fall urbota dumt och gör i så fall prestandanyttan med Itertools högst tveksam.
Om du tar upp resursövervakaren medans du kör, kan du se om CPU-kärnornas aktivitet avtar eller om den är konstant, när det börjar bli långsammare?
Kan du se din CPU-temperatur på något sätt?
Så att det inte någon form av
throttling som gör att det går långsammare (övernyttjande/överhettning som innebär att CPU går långsammare).
Du kör väl inte i batteriläge på en laptop?

Nu har jag kört igång, får se om jag kan svara på dina frågor.
Resursövervakaren säger 100% CPU och hittade även en prestandaövervakare i realtid som säger 100% CPU.
CPU temperaturen har jag inte hittat ännu.
Laptop med nät och datorn är inställd på högt prestandaläge, kommer upp en ruta om det när jag startar om.
Hmm, när jag startar igång det äldre scriptet utan itertools, där Fullträff tar ca 3h så visar resursövervakaren CPU på runt 5%, och ser ut att hålla samma fart som när itertools scriptet har saktat ner, mycket märkligt.
Testade att köra några gånger med itertools, summa 250 och 0.01, blev så här:
555 million iterations, 10003 rows found
Time taken: 287.65 seconds
Avg. time: 0.5183 sec/million iterations
tips.csv skapad med 10000 rader!
240 och 0.01
218 million iterations, 10062 rows found
Time taken: 59.65 seconds
Avg. time: 0.2736 sec/million iterations
tips.txt skapad med 10000 rader!
230 och 0.01
143 million iterations, 9967 rows found
Time taken: 33.07 seconds
Avg. time: 0.2305 sec/million iterations
tips.txt skapad med 10000 rader!
200 och 0.001
295 million iterations, 10017 rows found
Time taken: 95.36 seconds
Avg. time: 0.3233 sec/million iterations
tips.txt skapad med 10000 rader!