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()
 |