Po përpiqem të përmirësoj performancën e elfinder, një menaxher skedari i bazuar në ajax (elRTE.ru).
Ai përdor os.listdir në një rekursve për të ecur nëpër të gjitha drejtoritë në mënyrë rekursive dhe për të pasur një sukses të performancës (si renditja e një dir me 3000 + skedarë kërkon 7 sekonda).
Po përpiqem të përmirësoj performancën sepse këtu është funksioni i ecjes:
for d in os.listdir(path):
pd = os.path.join(path, d)
if os.path.isdir(pd) and not os.path.islink(pd) and self.__isAccepted(d):
tree['dirs'].append(self.__tree(pd))
Pyetjet e mia janë:
- Nëse ndryshoj os.walk në vend të os.listdir, a do të përmirësonte performancën?
- po të përdorni dircache.listdir() ? memorie TË GJITHA direktoriumin/nëndirek përmbajtjen me kërkesën fillestare dhe kthen rezultatet e cache-it, nëse nuk ka skedarë të rinj të ngarkuar ose nuk ka ndryshime në skedar?
- A ka ndonjë metodë tjetër të ecjes në Directory e cila është më e shpejtë?
- Ndonjë shfletues tjetër skedari nga ana e serverit që shkruhet shpejt në python (por unë preferoj ta bëj këtë të shpejtë)?