There is a plenty diversity in information units through the code, command-line options, GUI and logs. Here are some examples:

`-dbcache`
**megabytes** in CL and GUI _vs_ **MiB** in logs and code (constants in [txdb.h](https://github.com/bitcoin/bitcoin/blob/master/src/txdb.h))

`-prune`
**MiB** in CL _vs_ **GB** in GUI. Also, setting prune = 1 GB in GUI gives _incorrect_ prune target = 1000 MiB.

Which prefix type -- binary (a power of 2) or SI (a power of 10) -- is preferable in the Bitcoin Core project?
LogPrintf("Using data directory %s\n", GetDataDir().string());
    
    fs::path config_file_path = GetConfigFile(gArgs.GetArg("-conf", BITCOIN_CONF_FILENAME));
    if (fs::exists(config_file_path)) {
        LogPrintf("Config file: %s\n", config_file_path.string());
    } else if (gArgs.IsArgSet("-conf")) {
        
        InitWarning(strprintf(_("The specified config file %s does not exist\n"), config_file_path.string()));
    } else {
        
        LogPrintf("Config file: %s (not found, skipping)\n", config_file_path.string());
    }
    LogPrintf("Using at most %i automatic connections (%i file descriptors available)\n", nMaxConnections, nFD);
    
    if (gArgs.IsArgSet("-datadir") && !fs::path(gArgs.GetArg("-datadir", "")).is_absolute()) {
        LogPrintf("Warning: relative datadir option '%s' specified, which will be interpreted relative to the " 
                  "current working directory '%s'. This is fragile, because if bitcoin is started in the future "
                  "from a different location, it will be unable to locate the current data files. There could "
                  "also be data loss if bitcoin is started while in a temporary directory.\n",
            gArgs.GetArg("-datadir", ""), fs::current_path().string());
    }
    InitSignatureCache();
    InitScriptExecutionCache();
    LogPrintf("Using %u threads for script verification\n", nScriptCheckThreads);
    if (nScriptCheckThreads) {
        for (int i=0; i<nScriptCheckThreads-1; i++)
            threadGroup.create_thread(&ThreadScriptCheck);
    }
    
    CScheduler::Function serviceLoop = std::bind(&CScheduler::serviceQueue, &scheduler);