Class OptimizationLevelExtensions
- Namespace
- DotCompute.Abstractions.Extensions
- Assembly
- DotCompute.Abstractions.dll
Extension methods for OptimizationLevel enum providing compiler-specific mappings.
public static class OptimizationLevelExtensions
- Inheritance
-
OptimizationLevelExtensions
- Inherited Members
Methods
GetCompilationTimeCost(OptimizationLevel)
Gets the relative compilation time cost for the optimization level.
public static double GetCompilationTimeCost(this OptimizationLevel level)
Parameters
levelOptimizationLevelThe optimization level.
Returns
- double
A relative compilation time multiplier (1.0 = baseline).
GetDescription(OptimizationLevel)
Gets a human-readable description of the optimization level.
public static string GetDescription(this OptimizationLevel level)
Parameters
levelOptimizationLevelThe optimization level.
Returns
- string
A descriptive string explaining the optimization level's characteristics.
GetPerformanceImprovement(OptimizationLevel)
Gets the expected performance improvement factor for the optimization level.
public static double GetPerformanceImprovement(this OptimizationLevel level)
Parameters
levelOptimizationLevelThe optimization level.
Returns
- double
A relative performance multiplier (1.0 = baseline unoptimized performance).
IsDebuggingFriendly(OptimizationLevel)
Determines if the optimization level is suitable for debugging.
public static bool IsDebuggingFriendly(this OptimizationLevel level)
Parameters
levelOptimizationLevelThe optimization level.
Returns
- bool
True if the level maintains good debuggability, false otherwise.
ToGccFlag(OptimizationLevel)
Converts OptimizationLevel to GCC/Clang compiler flags.
public static string ToGccFlag(this OptimizationLevel level)
Parameters
levelOptimizationLevelThe optimization level to convert.
Returns
- string
The corresponding GCC/Clang optimization flag.
ToLlvmPasses(OptimizationLevel)
Converts OptimizationLevel to LLVM opt passes.
public static string ToLlvmPasses(this OptimizationLevel level)
Parameters
levelOptimizationLevelThe optimization level to convert.
Returns
- string
The corresponding LLVM optimization pass specification.
ToMsvcFlag(OptimizationLevel)
Converts OptimizationLevel to MSVC compiler flags.
public static string ToMsvcFlag(this OptimizationLevel level)
Parameters
levelOptimizationLevelThe optimization level to convert.
Returns
- string
The corresponding MSVC optimization flag.
ToNvccFlag(OptimizationLevel)
Converts OptimizationLevel to NVCC compiler flags.
public static string ToNvccFlag(this OptimizationLevel level)
Parameters
levelOptimizationLevelThe optimization level to convert.
Returns
- string
The corresponding NVCC optimization flag.