Has anybody noticed the speed of 'glob()' has
decreased somewhere between v3.6 and v3.10.
With this little test:

------------
import os, sys, timeit, glob

# change to suite
globPath = u'e:/net/*/*/*/*'

def _glob():
  glob.glob (globPath)

# I used this 'https://docs.microsoft.com/en-gb/sysinternals/downloads/sync'
def flush_disks():
  sync = r"f:\ProgramFiler\Sysinternals\sync.exe -nobanner"
  print ("Exec sync: %s" % sync)
  os.system (sync)

flush_disks()
print ("Python %d.%d.%d:" % sys.version_info[:3])
print ("  1st run: %.5f" % timeit.timeit (_glob, number=1))
print ("  2nd run: %.5f" % timeit.timeit (_glob, number=1))

------------

I got these results:
  Python 3.6.5:
    1st run: 0.14694
    2nd run: 0.09506   <- *always* the fastest
  Python 3.7.7:        <- from Nuget
    1st run: 0.12440
    2nd run: 0.09602
  Python 3.10.0:       <- from Git repo
    1st run: 0.15922
    2nd run: 0.12424

'glob()' in Python 3.6.5 is consistently 30% faster on
the 2nd run compared to 3.10.0.

--
--gv
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to