Index

A B C D E F G H I L M N P Q R S T V 
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 BenchmarkResult instances.
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 AggregatedResult into 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 Locale and 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 BenchmarkData object from another BenchmarkData object.
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 BenchmarkMetric object.
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 BenchmarkRunner that delegates sorting to the provided Sorter.
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 BubbleSortStrategy class.

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 BenchmarkContext for 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 Supplier to an aggregator that calculates the average of the benchmark results.
DEFAULT_FILTER_SUPPLIER - Static variable in class com.github.rlacher.sortbench.results.ResultAggregator
Default Supplier providing 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 AggregatedResult into 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.DataType enum 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 SortStrategy based 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 HeapSortStrategy class.

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 InsertionSortStrategy class.

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 BenchmarkResult instances 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 MergeSortStrategy class.

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 filterSupplier and aggregator from the aggregatorSupplier.
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 QuickSortStrategy class.

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 ResultAggregator with 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 BenchmarkData object.
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 BenchmarkContext object.
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.
A B C D E F G H I L M N P Q R S T V 
All Classes and Interfaces|All Packages