28 lines
		
	
	
		
			859 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			859 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| def run_load_worlds_benchmark():
 | |
|     """List worlds and their load time.
 | |
|     Note that any first-time imports will be attributed to that world, as it is cached afterwards.
 | |
|     Likely best used with isolated worlds to measure their time alone."""
 | |
|     import logging
 | |
| 
 | |
|     from Utils import init_logging
 | |
| 
 | |
|     # get some general imports cached, to prevent it from being attributed to one world.
 | |
|     import orjson
 | |
|     orjson.loads("{}")  # orjson runs initialization on first use
 | |
| 
 | |
|     import BaseClasses, Launcher, Fill
 | |
| 
 | |
|     from worlds import world_sources
 | |
| 
 | |
|     init_logging("Benchmark Runner")
 | |
|     logger = logging.getLogger("Benchmark")
 | |
| 
 | |
|     for module in world_sources:
 | |
|         logger.info(f"{module} took {module.time_taken:.4f} seconds.")
 | |
| 
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     from path_change import change_home
 | |
|     change_home()
 | |
|     run_load_worlds_benchmark()
 | 
