AronaSlate/Source/AronaCore/ExecutionTime.h
2024-01-25 11:21:15 +08:00

28 lines
515 B
C++

#pragma once
#include "CoreMinimal.h"
#include "HAL/PlatformTime.h"
class FExecutionTime
{
public:
FExecutionTime(const FString& InName)
: Name(InName)
{
Start = FPlatformTime::Cycles64();
}
~FExecutionTime()
{
End();
}
void End()
{
const uint64 End = FPlatformTime::Cycles64();
const uint64 Delta = End - Start;
const double Milliseconds = FPlatformTime::ToMilliseconds(Delta);
UE_LOG(LogTemp, Warning, TEXT("%s: %fms"), *Name, Milliseconds);
}
private:
uint64 Start;
FString Name;
};