I would assume that the one proposing a change is the one with the burden of proof, no?
Anyway, it looks like, if your game is all TMaps, std:: is better. If your game is mostly TArray and TStrings, Unreal wins. (I’ve found that, at scale, “number of cache lines touched” is the best predictor of overall application performance, so smaller is almost always better from a global perspective. Microbenchmarks where there’s no pressure may perform differently.)
#include <string>
#include <map>
#include <vector>
void UBoomerBPFunctions::GetContainerSizes(int& outSizeVector, int& outSizeMap, int& outSizeString, int& outSizeTArray, int& outSizeTMap, int& outSizeFString)
{
outSizeVector = sizeof(std::vector<std::string>);
outSizeMap = sizeof(std::map<std::string, std::string>);
outSizeString = sizeof(std::string);
outSizeTArray = sizeof(TArray<FString>);
outSizeTMap = sizeof(TMap<FString, FString>);
outSizeFString = sizeof(FString);
}