Open crawlserv opened 3 years ago
clang-tidy gives optimized orders for Module::Crawler::Config and Module::Extractor::Config
clang-tidy
current output:
/home/ans/git/repository/crawlserv/src/Main/../Module/Crawler/Config.hpp:127:10: warning: Excessive padding in 'struct crawlservpp::Module::Crawler::Config::Entries' (61 padding bytes, where 5 is optimal). Optimal fields order: crawlerReTries, crawlerSleepError, crawlerSleepHttp, crawlerSleepIdle, crawlerSleepMySql, crawlerUrlChunks, expectedQuery, redirectQueryContent, redirectQueryUrl, crawlerArchivesNames, crawlerArchivesUrlsMemento, crawlerArchivesUrlsTimemap, crawlerParamsAdd, crawlerParamsBlackList, crawlerParamsWhiteList, crawlerQueriesBlackListContent, crawlerQueriesBlackListTypes, crawlerQueriesBlackListUrls, crawlerQueriesLinks, crawlerQueriesLinksBlackListContent, crawlerQueriesLinksBlackListTypes, crawlerQueriesLinksBlackListUrls, crawlerQueriesLinksWhiteListContent, crawlerQueriesLinksWhiteListTypes, crawlerQueriesLinksWhiteListUrls, crawlerQueriesWhiteListContent, crawlerQueriesWhiteListTypes, crawlerQueriesWhiteListUrls, crawlerReCrawlAlways, crawlerRetryHttp, customCounters, customCountersAlias, customCountersAliasAdd, customCountersEnd, customCountersStart, customCountersStep, customTokenHeaders, customTokens, customTokensCookies, customTokensKeep, customTokensQuery, customTokensSource, customUrls, redirectHeaders, redirectVarNames, redirectVarQueries, redirectVarSources, crawlerStart, redirectCookies, redirectTo, customTokensUsePost, crawlerLock, crawlerTidyErrors, crawlerMaxBatchSize, crawlerUrlMaxLength, crawlerArchives, crawlerLogging, crawlerReCrawl, crawlerReCrawlStart, crawlerRepairCData, crawlerRepairComments, crawlerRetryArchive, crawlerRetryEmpty, crawlerStartIgnore, crawlerTidyWarnings, crawlerTiming, crawlerUrlCaseSensitive, crawlerUrlDebug, crawlerUrlStartupCheck, crawlerWarningsFile, crawlerXml, customCountersGlobal, customReCrawl, customRobots, customUsePost, expectedErrorIfLarger, expectedErrorIfSmaller, redirectUsePost, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct Entries { ^ /home/ans/git/repository/crawlserv/src/Main/../Module/Crawler/Config.hpp:127:10: note: Excessive padding in 'struct crawlservpp::Module::Crawler::Config::Entries' (61 padding bytes, where 5 is optimal). Optimal fields order: [...] /home/ans/git/repository/crawlserv/src/Main/../Module/Extractor/Config.hpp:151:10: warning: Excessive padding in 'struct crawlservpp::Module::Extractor::Config::Entries' (47 padding bytes, where 7 is optimal). Optimal fields order: generalCacheSize, generalReTries, generalSleepError, generalSleepHttp, generalSleepIdle, generalSleepMySql, pagingAliasAdd, pagingFirst, pagingIsNextFrom, pagingNextFrom, pagingNumberFrom, pagingStep, extractingRecursiveMaxDepth, expectedQuery, generalRetryHttp, variablesAlias, variablesAliasAdd, variablesDateTimeFormat, variablesDateTimeLocale, variablesName, variablesParsedColumn, variablesParsedTable, variablesQuery, variablesSource, variablesTokens, variablesTokensCookies, variablesTokensQuery, variablesTokensSource, variablesTokenHeaders, sourceHeaders, extractingDatasetQueries, extractingDateTimeFormats, extractingDateTimeLocales, extractingDateTimeQueries, extractingErrorFail, extractingErrorRetry, extractingFieldDateTimeFormats, extractingFieldDateTimeLocales, extractingFieldDelimiters, extractingFieldNames, extractingFieldQueries, extractingIdIgnore, extractingIdQueries, extractingRecursive, linkedDatasetQueries, linkedDateTimeFormats, linkedDateTimeLocales, linkedDelimiters, linkedFieldNames, linkedFieldQueries, linkedIdIgnore, linkedIdQueries, generalTargetTable, pagingAlias, pagingFirstString, pagingVariable, sourceCookies, sourceUrl, sourceUrlFirst, linkedLink, linkedTargetTable, expectedParsedColumn, expectedParsedTable, variablesTokensUsePost, extractingFieldIgnoreEmpty, extractingFieldJSON, extractingFieldTidyTexts, extractingFieldWarningsEmpty, linkedIgnoreEmpty, linkedJSON, linkedTidyTexts, linkedWarningsEmpty, generalLock, generalTidyErrors, generalMaxBatchSize, generalExtractCustom, generalLogging, generalMinimizeMemory, generalReExtract, generalTidyWarnings, generalTiming, sourceUsePost, extractingOverwrite, extractingRemoveDuplicates, extractingRepairCData, extractingRepairComments, linkedOverwrite, expectedErrorIfLarger, expectedErrorIfSmaller, expectedSource, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct Entries { ^ /home/ans/git/repository/crawlserv/src/Main/../Module/Extractor/Config.hpp:151:10: note: Excessive padding in 'struct crawlservpp::Module::Extractor::Config::Entries' (47 padding bytes, where 7 is optimal). Optimal fields order: [...]
clang-tidy
gives optimized orders for Module::Crawler::Config and Module::Extractor::Configcurrent output: