MCPcopy Create free account
hub / github.com/catboost/catboost / EstimateMemUsageForCatFeature

Function EstimateMemUsageForCatFeature

catboost/libs/data/quantization.cpp:1858–1878  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1856
1857
1858 static ui64 EstimateMemUsageForCatFeature(
1859 const THashedCatValuesHolder& srcFeature,
1860 bool storeFeaturesDataAsExternalValuesHolder
1861 ) {
1862 ui64 result = 0;
1863
1864 const ui32 nonDefaultObjectCount = GetNonDefaultValuesCount(srcFeature);
1865
1866 constexpr ui32 ESTIMATED_FEATURES_PERFECT_HASH_MAP_NODE_SIZE = 32;
1867
1868 // assuming worst-case that all values will be added to Features Perfect Hash as new.
1869 result += ESTIMATED_FEATURES_PERFECT_HASH_MAP_NODE_SIZE * nonDefaultObjectCount;
1870
1871 if (!storeFeaturesDataAsExternalValuesHolder) {
1872 // for storing quantized data
1873 // TODO(akhropov): support other bitsPerKey. MLTOOLS-2425
1874 result += sizeof(ui32) * nonDefaultObjectCount;
1875 }
1876
1877 return result;
1878 }
1879
1880
1881 static void ProcessCatFeature(

Callers 1

DoMethod · 0.85

Calls 1

GetNonDefaultValuesCountFunction · 0.85

Tested by

no test coverage detected