Portál AbcLinuxu, 10. května 2025 08:51
python << tohle_cele_musi_byt_oznaceno import time for i in xrange(100): print time.time() - time.time() tohle_cele_musi_byt_oznacenoTen program vypíše časové intervaly v sekundách mezi po sobě jdoucími voláními time.time(), což jak doufám, odpovídá systémovému volání gettimeofday(). Nejčastější výsledek je nula, ale objeví se i dva jiné: -9.53674316406e-07 a -1.19209289551e-06. Je zajímavé, že jestliže vypočítám jejich podíl, vyjde -1.19209289551e-06/-9.53674316406e-07 = 1.25 tedy pět čtvrtin. Obě čísla jsou tedy nejspíš celočíselnými násobky nějakého časového kvanta. To zjistím například tak, že to větší z nich vydělím pěti: 1.19209289551e-06/5=2.3841857910199999e-07 Kdybych chtěl vědět, kolik takových časových kvant za sekundu uplyne, tak hodnotu převrátím a dostanu 4194304 což je pro mně naprosto úžasný výsledek, protože to je celočíselná mocnina dvou, 222. Mám dva dotazy. Proč právě toto číslo a proč výše uvedený program v pythonu dává zrovna nula, čtyři anebo pět časových kvant.
-0.0160000324249 -0.0149998664856 -0.0160000324249 -0.0160000324249 -0.0160000324249 -0.0160000324249 -0.0149998664856 -0.0150001049042 -0.0160000324249 -0.0149998664856 -0.0150001049042 -0.0160000324249 -0.0150001049042 -0.0159997940063 -0.0160000324249 -0.0160000324249 -0.0149998664856 -0.0150001049042 -0.0160000324249 -0.0149998664856(Python 2.6 ve Windows 7) - předpokládám, že to souvisí s časovačem, nenulové hodnoty odpovídají situaci, kdy došlo k přepnutí kontextu mezi oběma voláními time().
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.