Print the mod loading time (#7137)
authoryou <ovvv@web.de>
Fri, 23 Mar 2018 23:31:33 +0000 (00:31 +0100)
committerLoïc Blot <nerzhul@users.noreply.github.com>
Fri, 23 Mar 2018 23:31:33 +0000 (00:31 +0100)
* Print the mod loading time

src/server/mods.cpp

index 778241b953069bb90ae5498aadc5e5c0224b55c4..34ac760e498d9939bbf351975a66cd5334b58a8f 100644 (file)
@@ -47,6 +47,7 @@ ServerModManager::ServerModManager(const std::string &worldpath) :
        addModsFromConfig(worldmt, gamespec.addon_mods_paths);
 }
 
+// clang-format off
 // This function cannot be currenctly easily tested but it should be ASAP
 void ServerModManager::loadMods(ServerScripting *script)
 {
@@ -66,11 +67,17 @@ void ServerModManager::loadMods(ServerScripting *script)
                }
                std::string script_path = mod.path + DIR_DELIM + "init.lua";
                infostream << "  [" << padStringRight(mod.name, 12) << "] [\""
-                          << script_path << "\"]" << std::endl;
+                       << script_path << "\"]" << std::endl;
+               auto t = std::chrono::steady_clock::now();
                script->loadMod(script_path, mod.name);
+               infostream << "Mod \"" << mod.name << "\" loaded after "
+                       << std::chrono::duration_cast<std::chrono::milliseconds>(
+                               std::chrono::steady_clock::now() - t).count() * 0.001f
+                       << " seconds" << std::endl;
        }
 }
 
+// clang-format on
 const ModSpec *ServerModManager::getModSpec(const std::string &modname) const
 {
        std::vector<ModSpec>::const_iterator it;