forked from mirrors/gecko-dev
		
	 21f960591b
			
		
	
	
		21f960591b
		
	
	
	
	
		
			
			Updated to 3.2.5. MozReview-Commit-ID: 34OG1iGeMVW --HG-- extra : rebase_source : 3ffa191b142f60897abb0728f53e71b8cda52701
		
			
				
	
	
		
			75 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
 | |
| import py
 | |
| import timeit
 | |
| 
 | |
| class Listdir:
 | |
|     numiter = 100000
 | |
|     numentries = 100
 | |
| 
 | |
|     def setup(self):
 | |
|         tmpdir = py.path.local.make_numbered_dir(self.__class__.__name__)
 | |
|         for i in range(self.numentries):
 | |
|             tmpdir.join(str(i))
 | |
|         self.tmpdir = tmpdir
 | |
| 
 | |
|     def run(self):
 | |
|         return self.tmpdir.listdir()
 | |
| 
 | |
| class Listdir_arg(Listdir):
 | |
|     numiter = 100000
 | |
|     numentries = 100
 | |
| 
 | |
|     def run(self):
 | |
|         return self.tmpdir.listdir("47")
 | |
| 
 | |
| class Join_onearg(Listdir):
 | |
|     def run(self):
 | |
|         self.tmpdir.join("17")
 | |
|         self.tmpdir.join("18")
 | |
|         self.tmpdir.join("19")
 | |
| 
 | |
| class Join_multi(Listdir):
 | |
|     def run(self):
 | |
|         self.tmpdir.join("a", "b")
 | |
|         self.tmpdir.join("a", "b", "c")
 | |
|         self.tmpdir.join("a", "b", "c", "d")
 | |
| 
 | |
| class Check(Listdir):
 | |
|     def run(self):
 | |
|         self.tmpdir.check()
 | |
|         self.tmpdir.check()
 | |
|         self.tmpdir.check()
 | |
| 
 | |
| class CheckDir(Listdir):
 | |
|     def run(self):
 | |
|         self.tmpdir.check(dir=1)
 | |
|         self.tmpdir.check(dir=1)
 | |
|         assert not self.tmpdir.check(dir=0)
 | |
| 
 | |
| class CheckDir2(Listdir):
 | |
|     def run(self):
 | |
|         self.tmpdir.stat().isdir()
 | |
|         self.tmpdir.stat().isdir()
 | |
|         assert self.tmpdir.stat().isdir()
 | |
| 
 | |
| class CheckFile(Listdir):
 | |
|     def run(self):
 | |
|         self.tmpdir.check(file=1)
 | |
|         assert not self.tmpdir.check(file=1)
 | |
|         assert self.tmpdir.check(file=0)
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     import time
 | |
|     for cls in [Listdir, Listdir_arg,
 | |
|                 Join_onearg, Join_multi,
 | |
|                Check, CheckDir, CheckDir2, CheckFile,]:
 | |
| 
 | |
|         inst = cls()
 | |
|         inst.setup()
 | |
|         now = time.time()
 | |
|         for i in xrange(cls.numiter):
 | |
|             inst.run()
 | |
|         elapsed = time.time() - now
 | |
|         print "%s: %d loops took %.2f seconds, per call %.6f" %(
 | |
|                cls.__name__,
 | |
|                 cls.numiter, elapsed, elapsed / cls.numiter)
 |