Class SystematicAudioBenchmark
java.lang.Object
org.episteme.benchmarks.benchmark.benchmarks.SystematicAudioBenchmark
- All Implemented Interfaces:
SystematicBenchmark<AudioAlgorithmProvider<?>>, RunnableBenchmark
@AutoService(RunnableBenchmark.class)
public class SystematicAudioBenchmark
extends Object
implements SystematicBenchmark<AudioAlgorithmProvider<?>>
Benchmark for Audio Processing Providers (Tarsos, Native, etc.).
Measures throughput for basic audio operations.
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetId()getName()intbooleanChecks if the benchmark requirements (e.g. native libraries, hardware) are met.voidrun()The core action to measure.voidsetProvider(AudioAlgorithmProvider<?> provider) Sets the provider instance for a specific benchmark execution.voidsetup()Setup method called once before the benchmark runs.voidteardown()Cleanup method called once after the benchmark completes.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface RunnableBenchmark
getAlgorithmProviderInstance, getMetadata, getPrecisionMode, isDryRun, setDryRun, setPrecisionModeMethods inherited from interface SystematicBenchmark
isHighPrecision
-
Constructor Details
-
SystematicAudioBenchmark
public SystematicAudioBenchmark()
-
-
Method Details
-
getProviderClass
- Specified by:
getProviderClassin interfaceSystematicBenchmark<AudioAlgorithmProvider<?>>- Returns:
- The class of the provider interface to discover.
-
getIdPrefix
- Specified by:
getIdPrefixin interfaceSystematicBenchmark<AudioAlgorithmProvider<?>>- Returns:
- The prefix used for the generated benchmark IDs.
-
getNameBase
- Specified by:
getNameBasein interfaceSystematicBenchmark<AudioAlgorithmProvider<?>>- Returns:
- The base name for the generated benchmark names.
-
getId
- Specified by:
getIdin interfaceRunnableBenchmark- Returns:
- A unique stable identifier for this benchmark (e.g. "ga-tsp-50")
-
getName
- Specified by:
getNamein interfaceRunnableBenchmark- Returns:
- Unique human-readable name of the benchmark
-
getDescription
- Specified by:
getDescriptionin interfaceRunnableBenchmark- Returns:
- A detailed description of what the benchmark measures
-
getDomain
- Specified by:
getDomainin interfaceRunnableBenchmark- Returns:
- The domain of this benchmark (e.g. "Linear Algebra", "Physics")
-
getAlgorithmType
- Specified by:
getAlgorithmTypein interfaceRunnableBenchmark- Returns:
- The algorithm type (e.g. "inference", "linear algebra")
-
getAlgorithmProvider
- Specified by:
getAlgorithmProviderin interfaceRunnableBenchmark- Returns:
- The algorithm provider name (e.g. "Episteme", "OpenCL", "NativeBLAS") or "Standard" if not applicable.
-
setProvider
Description copied from interface:SystematicBenchmarkSets the provider instance for a specific benchmark execution.- Specified by:
setProviderin interfaceSystematicBenchmark<AudioAlgorithmProvider<?>>
-
isAvailable
public boolean isAvailable()Description copied from interface:RunnableBenchmarkChecks if the benchmark requirements (e.g. native libraries, hardware) are met.- Specified by:
isAvailablein interfaceRunnableBenchmark- Returns:
- true if the benchmark can be executed
-
setup
public void setup()Description copied from interface:RunnableBenchmarkSetup method called once before the benchmark runs. Use this to initialize data structures.- Specified by:
setupin interfaceRunnableBenchmark
-
run
public void run()Description copied from interface:RunnableBenchmarkThe core action to measure. This method will be called repeatedly in a loop.- Specified by:
runin interfaceRunnableBenchmark
-
teardown
public void teardown()Description copied from interface:RunnableBenchmarkCleanup method called once after the benchmark completes.- Specified by:
teardownin interfaceRunnableBenchmark
-
getSuggestedIterations
public int getSuggestedIterations()- Specified by:
getSuggestedIterationsin interfaceRunnableBenchmark- Returns:
- Estimated number of iterations required for a stable result
-