Index
All Classes and Interfaces|All Packages
A
- AggregatedResult - Class in com.github.rlacher.sortbench.results
-
Represents the aggregated result of a benchmark run, derived from multiple
BenchmarkResultinstances. - AggregatedResult(BenchmarkContext, Benchmarker.ProfilingMode, double, int) - Constructor for class com.github.rlacher.sortbench.results.AggregatedResult
-
Constructs a new AggregatedResult object.
- apply(List<BenchmarkResult>) - Method in class com.github.rlacher.sortbench.processing.MedianAggregator
-
Applies the aggregation logic to calculate the median of the benchmark result values.
- AsciiTableFormatter - Class in com.github.rlacher.sortbench.util
-
Formats a list of
AggregatedResultinto an ASCII table. - AsciiTableFormatter() - Constructor for class com.github.rlacher.sortbench.util.AsciiTableFormatter
-
Parameterless constructor initialising class fields to defaults (i.e.
- AsciiTableFormatter(Locale, char, char) - Constructor for class com.github.rlacher.sortbench.util.AsciiTableFormatter
-
Overloaded constructor initialising class fields with provided
Localeand delimiters.
B
- BenchmarkContext - Class in com.github.rlacher.sortbench.results
-
Represents the contextual parameters of a benchmark run.
- BenchmarkContext(BenchmarkData.DataType, int, String) - Constructor for class com.github.rlacher.sortbench.results.BenchmarkContext
-
Constructs a new BenchmarkContext object.
- BenchmarkData - Class in com.github.rlacher.sortbench.benchmark.data
-
Represents benchmark data for sorting algorithms, encapsulating the data array and its type.
- BenchmarkData(int[], BenchmarkData.DataType) - Constructor for class com.github.rlacher.sortbench.benchmark.data.BenchmarkData
-
Constructor for creating a BenchmarkData object.
- BenchmarkData(BenchmarkData) - Constructor for class com.github.rlacher.sortbench.benchmark.data.BenchmarkData
-
Copy constructor for creating a
BenchmarkDataobject from anotherBenchmarkDataobject. - BenchmarkData.DataType - Enum Class in com.github.rlacher.sortbench.benchmark.data
-
Enumerates the types of benchmark data used for sorting algorithm benchmarking.
- BenchmarkDataFactory - Class in com.github.rlacher.sortbench.benchmark.data
-
Factory class for creating benchmark data for sorting algorithm benchmark.
- Benchmarker - Class in com.github.rlacher.sortbench.benchmark
-
Benchmarker class for profiling sorting algorithms.
- Benchmarker(Benchmarker.ProfilingMode) - Constructor for class com.github.rlacher.sortbench.benchmark.Benchmarker
-
Constructor for the Benchmarker class parameterised with a profiling mode.
- Benchmarker.ProfilingMode - Enum Class in com.github.rlacher.sortbench.benchmark
-
Enum representing profiling modes for benchmarking.
- BenchmarkMetric - Class in com.github.rlacher.sortbench.results
-
Represents a raw profiling measurement from a single benchmark iteration.
- BenchmarkMetric(Benchmarker.ProfilingMode, double) - Constructor for class com.github.rlacher.sortbench.results.BenchmarkMetric
-
Constructs a new
BenchmarkMetricobject. - BenchmarkResult - Class in com.github.rlacher.sortbench.results
-
Represents the raw, per-iteration result of a benchmark run.
- BenchmarkResult(BenchmarkContext, Benchmarker.ProfilingMode, double) - Constructor for class com.github.rlacher.sortbench.results.BenchmarkResult
-
Constructs a new BenchmarkResult object.
- BenchmarkRunner - Class in com.github.rlacher.sortbench.benchmark
-
Executes and benchmarks sorting algorithms based on a provided configuration and returns raw benchmark results.
- BenchmarkRunner(Sorter) - Constructor for class com.github.rlacher.sortbench.benchmark.BenchmarkRunner
-
Constructs a
BenchmarkRunnerthat delegates sorting to the providedSorter. - BubbleSortStrategy - Class in com.github.rlacher.sortbench.strategies.implementations
-
Implements the bubble sort algorithm as a sorting strategy.
- BubbleSortStrategy(Benchmarker) - Constructor for class com.github.rlacher.sortbench.strategies.implementations.BubbleSortStrategy
-
Constructor for the
BubbleSortStrategyclass.
C
- call() - Method in class com.github.rlacher.sortbench.MainCommand
-
Initialises and runs the sorting algorithm benchmarking process.
- com.github.rlacher.sortbench - package com.github.rlacher.sortbench
- com.github.rlacher.sortbench.benchmark - package com.github.rlacher.sortbench.benchmark
- com.github.rlacher.sortbench.benchmark.data - package com.github.rlacher.sortbench.benchmark.data
- com.github.rlacher.sortbench.config - package com.github.rlacher.sortbench.config
- com.github.rlacher.sortbench.logging - package com.github.rlacher.sortbench.logging
- com.github.rlacher.sortbench.processing - package com.github.rlacher.sortbench.processing
- com.github.rlacher.sortbench.results - package com.github.rlacher.sortbench.results
- com.github.rlacher.sortbench.sorter - package com.github.rlacher.sortbench.sorter
- com.github.rlacher.sortbench.strategies - package com.github.rlacher.sortbench.strategies
- com.github.rlacher.sortbench.strategies.implementations - package com.github.rlacher.sortbench.strategies.implementations
- com.github.rlacher.sortbench.util - package com.github.rlacher.sortbench.util
- compareTo(AggregatedResult) - Method in class com.github.rlacher.sortbench.results.AggregatedResult
-
Defines the natural comparison logic for AggregatedResult.
- compareTo(BenchmarkContext) - Method in class com.github.rlacher.sortbench.results.BenchmarkContext
-
Compares this
BenchmarkContextfor order: dataType, dataLength, sortStrategyName. - ConfigRetriever - Class in com.github.rlacher.sortbench.config
-
Utility class for validating and retrieving configuration values from a map.
- createData(BenchmarkData.DataType, int) - Static method in class com.github.rlacher.sortbench.benchmark.data.BenchmarkDataFactory
-
Creates benchmark data of the specified type and length.
- CustomFormatter - Class in com.github.rlacher.sortbench.logging
-
Customises logging format based on verbosity.
- CustomFormatter(boolean) - Constructor for class com.github.rlacher.sortbench.logging.CustomFormatter
-
Initialises the object with the specified verbose mode.
D
- DATA_WRITE_COUNT - Enum constant in enum class com.github.rlacher.sortbench.benchmark.Benchmarker.ProfilingMode
-
Tracks data modifications (e.g.
- DEFAULT_AGGREGATOR_SUPPLIER - Static variable in class com.github.rlacher.sortbench.results.ResultAggregator
-
Default
Supplierto an aggregator that calculates the average of the benchmark results. - DEFAULT_FILTER_SUPPLIER - Static variable in class com.github.rlacher.sortbench.results.ResultAggregator
-
Default
Supplierproviding a filter that accepts all results.
E
- equals(Object) - Method in class com.github.rlacher.sortbench.results.AggregatedResult
-
Indicates whether some other object is "equal to" this one.
- equals(Object) - Method in class com.github.rlacher.sortbench.results.BenchmarkContext
-
Indicates whether some other object is "equal to" this one.
- equals(Object) - Method in class com.github.rlacher.sortbench.results.BenchmarkMetric
-
Checks if two BenchmarkMetric objects are equal based on their profiling mode and metric value.
- equals(Object) - Method in class com.github.rlacher.sortbench.results.BenchmarkResult
-
Indicates whether some other object is "equal to" this one.
- EXECUTION_TIME - Enum constant in enum class com.github.rlacher.sortbench.benchmark.Benchmarker.ProfilingMode
-
Measures runtime.
F
- format(List<AggregatedResult>) - Method in class com.github.rlacher.sortbench.util.AsciiTableFormatter
-
Entry point for formatting a list of
AggregatedResultinto an ASCII table. - format(LogRecord) - Method in class com.github.rlacher.sortbench.logging.CustomFormatter
-
Provides a custom logging format.
- fromString(String) - Static method in enum class com.github.rlacher.sortbench.benchmark.data.BenchmarkData.DataType
-
Convert a string representation into a
BenchmarkData.DataTypeenum instance.
G
- generateBenchmarkData(Set<String>, Set<BenchmarkData.DataType>, List<Integer>, int) - Method in class com.github.rlacher.sortbench.benchmark.BenchmarkRunner
-
Generates benchmark data grouped by context to facilitate batch processing.
- getAggregate() - Method in class com.github.rlacher.sortbench.results.AggregatedResult
-
Gets the aggregated metric value.
- getContext() - Method in class com.github.rlacher.sortbench.results.AggregatedResult
-
Gets the benchmark context.
- getContext() - Method in class com.github.rlacher.sortbench.results.BenchmarkResult
-
Gets the benchmark context.
- getData() - Method in class com.github.rlacher.sortbench.benchmark.data.BenchmarkData
-
Getter for the data array.
- getDataLength() - Method in class com.github.rlacher.sortbench.results.BenchmarkContext
-
Gets the data length.
- getDataType() - Method in class com.github.rlacher.sortbench.results.BenchmarkContext
-
Gets the data type.
- getIterations() - Method in class com.github.rlacher.sortbench.results.AggregatedResult
-
Gets the number of iterations.
- getLength() - Method in class com.github.rlacher.sortbench.benchmark.data.BenchmarkData
-
Returns the length of the data array.
- getMetric() - Method in class com.github.rlacher.sortbench.benchmark.Benchmarker
-
Returns the benchmark metric based on the profiling mode.
- getProfilingMode() - Method in class com.github.rlacher.sortbench.results.AggregatedResult
-
Gets the profiling mode.
- getProfilingMode() - Method in class com.github.rlacher.sortbench.results.BenchmarkMetric
-
Returns the profiling mode used during the benchmark iteration.
- getProfilingMode() - Method in class com.github.rlacher.sortbench.results.BenchmarkResult
-
Gets the profiling mode.
- getSortStrategyName() - Method in class com.github.rlacher.sortbench.results.BenchmarkContext
-
Gets the sort strategy name.
- getStrategyInstance(Class<? extends SortStrategy>, Benchmarker.ProfilingMode) - Method in class com.github.rlacher.sortbench.benchmark.BenchmarkRunner
-
Creates an instance of a
SortStrategybased on the provided strategy class and profiling mode. - getType() - Method in class com.github.rlacher.sortbench.benchmark.data.BenchmarkData
-
Returns the type of the data.
- getValue() - Method in class com.github.rlacher.sortbench.results.BenchmarkMetric
-
Returns a measurement value representing the profiling metric of a benchmark iteration.
- getValue() - Method in class com.github.rlacher.sortbench.results.BenchmarkResult
-
Gets the benchmark metric value.
H
- hashCode() - Method in class com.github.rlacher.sortbench.results.AggregatedResult
-
Returns a hash code value for the object.
- hashCode() - Method in class com.github.rlacher.sortbench.results.BenchmarkContext
-
Returns a hash code value for the object.
- hashCode() - Method in class com.github.rlacher.sortbench.results.BenchmarkMetric
-
Generates a hash code for the BenchmarkMetric object based on its profiling mode and value.
- hashCode() - Method in class com.github.rlacher.sortbench.results.BenchmarkResult
-
Returns a hash code value for the object.
- HeapSortStrategy - Class in com.github.rlacher.sortbench.strategies.implementations
-
Implements the heap sort algorithm as a sorting strategy.
- HeapSortStrategy(Benchmarker) - Constructor for class com.github.rlacher.sortbench.strategies.implementations.HeapSortStrategy
-
Constructor for the
HeapSortStrategyclass.
I
- InsertionSortStrategy - Class in com.github.rlacher.sortbench.strategies.implementations
-
Implements the insertion sort algorithm as a sorting strategy.
- InsertionSortStrategy(Benchmarker) - Constructor for class com.github.rlacher.sortbench.strategies.implementations.InsertionSortStrategy
-
Constructor for the
InsertionSortStrategyclass.
L
- LoggingUtil - Class in com.github.rlacher.sortbench.logging
-
Logging-related utility class.
M
- main(String[]) - Static method in class com.github.rlacher.sortbench.MainCommand
-
The main method, which starts the sorting algorithm benchmarking process.
- MainCommand - Class in com.github.rlacher.sortbench
-
The entry point for the sorting algorithm benchmarking application.
- measureMemory() - Method in class com.github.rlacher.sortbench.benchmark.Benchmarker
-
Measures the memory usage during the sorting process.
- MedianAggregator - Class in com.github.rlacher.sortbench.processing
-
Aggregates a list of
BenchmarkResultinstances to calculate the median value. - MedianAggregator() - Constructor for class com.github.rlacher.sortbench.processing.MedianAggregator
-
Constructs a default instance of
MedianAggregator. - MEMORY_USAGE - Enum constant in enum class com.github.rlacher.sortbench.benchmark.Benchmarker.ProfilingMode
-
Tracks memory consumption.
- MergeSortStrategy - Class in com.github.rlacher.sortbench.strategies.implementations
-
Implements the merge sort algorithm as a sorting strategy.
- MergeSortStrategy(Benchmarker) - Constructor for class com.github.rlacher.sortbench.strategies.implementations.MergeSortStrategy
-
Constructor for the
MergeSortStrategyclass.
N
- name() - Method in interface com.github.rlacher.sortbench.strategies.SortStrategy
-
Returns the name of the sorting strategy.
- NONE - Enum constant in enum class com.github.rlacher.sortbench.benchmark.Benchmarker.ProfilingMode
-
No profiling (used for debugging, testing).
P
- PARTIALLY_SORTED - Enum constant in enum class com.github.rlacher.sortbench.benchmark.data.BenchmarkData.DataType
-
Data exhibiting a partial ordering of its elements.
- process(List<BenchmarkResult>) - Method in class com.github.rlacher.sortbench.results.ResultAggregator
-
Processes the given list of benchmark results, applying the filter from the
filterSupplierand aggregator from theaggregatorSupplier. - processResultsByContext(List<BenchmarkResult>) - Method in class com.github.rlacher.sortbench.results.ResultAggregator
-
Processes benchmark results for a single context.
Q
- QuickSortStrategy - Class in com.github.rlacher.sortbench.strategies.implementations
-
Implements the quick sort algorithm as a sorting strategy.
- QuickSortStrategy(Benchmarker) - Constructor for class com.github.rlacher.sortbench.strategies.implementations.QuickSortStrategy
-
Constructor for the
QuickSortStrategyclass.
R
- RANDOM - Enum constant in enum class com.github.rlacher.sortbench.benchmark.data.BenchmarkData.DataType
-
Data with elements arranged in a random order.
- reportInsert() - Method in class com.github.rlacher.sortbench.benchmark.Benchmarker
-
Reports an insert operation during the sorting process.
- reportShift() - Method in class com.github.rlacher.sortbench.benchmark.Benchmarker
-
Reports a shift operation during the sorting process.
- reportSwap() - Method in class com.github.rlacher.sortbench.benchmark.Benchmarker
-
Reports a swap operation during the sorting process.
- reportWrite() - Method in class com.github.rlacher.sortbench.benchmark.Benchmarker
-
Reports a write operation during the sorting process.
- reportWrites(int) - Method in class com.github.rlacher.sortbench.benchmark.Benchmarker
-
Reports write operations during the sorting process.
- reset() - Method in class com.github.rlacher.sortbench.benchmark.Benchmarker
-
Resets the benchmarker to its initial state.
- ResultAggregator - Class in com.github.rlacher.sortbench.results
-
Aggregates benchmark results based on a filter and an aggregator function.
- ResultAggregator(Supplier<Predicate<BenchmarkResult>>, Supplier<Function<List<BenchmarkResult>, Double>>) - Constructor for class com.github.rlacher.sortbench.results.ResultAggregator
-
Constructs a
ResultAggregatorwith the provided suppliers for the filter and aggregator. - REVERSED - Enum constant in enum class com.github.rlacher.sortbench.benchmark.data.BenchmarkData.DataType
-
Data with elements arranged in reverse sorted order.
- run(Map<String, Class<? extends SortStrategy>>, Set<BenchmarkData.DataType>, List<Integer>, int, Benchmarker.ProfilingMode) - Method in class com.github.rlacher.sortbench.benchmark.BenchmarkRunner
-
Runs benchmarks based on the provided parameters.
- runIterations(Map<String, SortStrategy>, Map<BenchmarkContext, List<BenchmarkData>>) - Method in class com.github.rlacher.sortbench.benchmark.BenchmarkRunner
-
Runs the provided sorting strategies on the given benchmark data using the sorter.
S
- setFormatter(Formatter) - Static method in class com.github.rlacher.sortbench.logging.LoggingUtil
-
Applies a custom formatter to all handlers associated with the root logger.
- setLevel(Level) - Static method in class com.github.rlacher.sortbench.logging.LoggingUtil
-
Sets the logging level for all handlers associated with the root logger.
- setRandom(Random) - Static method in class com.github.rlacher.sortbench.benchmark.data.BenchmarkDataFactory
-
Sets the random instance for benchmark data generation or testing purposes.
- setStrategy(SortStrategy) - Method in class com.github.rlacher.sortbench.sorter.Sorter
-
Sets the sorting strategy to be used.
- SkipIterationFilter - Class in com.github.rlacher.sortbench.processing
-
Skips the initial number of iterations
- SkipIterationFilter(int) - Constructor for class com.github.rlacher.sortbench.processing.SkipIterationFilter
-
Constructs a filter to skip a specified number of initial iterations.
- sort(int[]) - Method in class com.github.rlacher.sortbench.sorter.Sorter
-
Validates the input array and delegates the sorting task to the currently set
SortStrategy. - sort(int[]) - Method in class com.github.rlacher.sortbench.strategies.implementations.BubbleSortStrategy
-
Sorts the provided array in ascending order using the bubble sort algorithm.
- sort(int[]) - Method in class com.github.rlacher.sortbench.strategies.implementations.HeapSortStrategy
-
Sorts the provided array in ascending order using the heap sort algorithm.
- sort(int[]) - Method in class com.github.rlacher.sortbench.strategies.implementations.InsertionSortStrategy
-
Sorts the provided array in ascending order using the insertion sort algorithm.
- sort(int[]) - Method in class com.github.rlacher.sortbench.strategies.implementations.MergeSortStrategy
-
Sorts the provided array in ascending order using the merge sort algorithm.
- sort(int[]) - Method in class com.github.rlacher.sortbench.strategies.implementations.QuickSortStrategy
-
Sorts the provided array in ascending order using the quick sort algorithm.
- sort(int[]) - Method in interface com.github.rlacher.sortbench.strategies.SortStrategy
-
Sorts the given integer array and returns profiling metrics.
- SORTED - Enum constant in enum class com.github.rlacher.sortbench.benchmark.data.BenchmarkData.DataType
-
Data that is already fully sorted.
- Sorter - Class in com.github.rlacher.sortbench.sorter
-
Context class for sorting algorithms, utilising the Strategy design pattern.
- Sorter() - Constructor for class com.github.rlacher.sortbench.sorter.Sorter
-
Constructs a default instance of
Sorter. - SortStrategy - Interface in com.github.rlacher.sortbench.strategies
-
Defines the contract for sorting algorithms.
- startProfiling() - Method in class com.github.rlacher.sortbench.benchmark.Benchmarker
-
Initiates profiling, resetting any prior metric data, based on the selected profiling mode.
- stopProfiling() - Method in class com.github.rlacher.sortbench.benchmark.Benchmarker
-
Stops the profiling process based on the selected profiling mode.
- swap(int[], int, int) - Method in interface com.github.rlacher.sortbench.strategies.SortStrategy
-
Swaps two elements at the specified indices within the given array.
T
- test(BenchmarkResult) - Method in class com.github.rlacher.sortbench.processing.SkipIterationFilter
-
Evaluates if a benchmark result should be processed (i.e.
- toString() - Method in class com.github.rlacher.sortbench.benchmark.data.BenchmarkData
-
Returns a string representation of the
BenchmarkDataobject. - toString() - Method in class com.github.rlacher.sortbench.results.AggregatedResult
-
Returns a string representation of the AggregatedResult object.
- toString() - Method in class com.github.rlacher.sortbench.results.BenchmarkContext
-
Returns a string representation of the
BenchmarkContextobject. - toString() - Method in class com.github.rlacher.sortbench.results.BenchmarkMetric
-
Turns the BenchmarkMetric into a string representation.
- toString() - Method in class com.github.rlacher.sortbench.results.BenchmarkResult
-
Returns a string representation of the BenchmarkResult object.
V
- validateAndFilterMap(Map<String, T>, Set<String>, boolean) - Static method in class com.github.rlacher.sortbench.config.ConfigRetriever
-
Validates and retrieves configuration values from a map based on a set of keys.
- valueOf(String) - Static method in enum class com.github.rlacher.sortbench.benchmark.Benchmarker.ProfilingMode
-
Returns the enum constant of this class with the specified name.
- valueOf(String) - Static method in enum class com.github.rlacher.sortbench.benchmark.data.BenchmarkData.DataType
-
Returns the enum constant of this class with the specified name.
- values() - Static method in enum class com.github.rlacher.sortbench.benchmark.Benchmarker.ProfilingMode
-
Returns an array containing the constants of this enum class, in the order they are declared.
- values() - Static method in enum class com.github.rlacher.sortbench.benchmark.data.BenchmarkData.DataType
-
Returns an array containing the constants of this enum class, in the order they are declared.
All Classes and Interfaces|All Packages