Module materialize.scalability.benchmark_config

Expand source code Browse git
# Copyright Materialize, Inc. and contributors. All rights reserved.
#
# Use of this software is governed by the Business Source License
# included in the LICENSE file at the root of this repository.
#
# As of the Change Date specified in that file, in accordance with
# the Business Source License, use of this software will be governed
# by the Apache License, Version 2.0.
from dataclasses import dataclass
from math import floor, sqrt

from materialize.scalability.workload import Workload


@dataclass
class BenchmarkConfiguration:
    workload_classes: list[type[Workload]]
    exponent_base: float
    min_concurrency: int
    max_concurrency: int
    count: int
    verbose: bool

    def get_count_for_concurrency(self, concurrency: int) -> int:
        return floor(self.count * sqrt(concurrency))

Classes

class BenchmarkConfiguration (workload_classes: list[type[Workload]], exponent_base: float, min_concurrency: int, max_concurrency: int, count: int, verbose: bool)

BenchmarkConfiguration(workload_classes: list[type[materialize.scalability.workload.Workload]], exponent_base: float, min_concurrency: int, max_concurrency: int, count: int, verbose: bool)

Expand source code Browse git
@dataclass
class BenchmarkConfiguration:
    workload_classes: list[type[Workload]]
    exponent_base: float
    min_concurrency: int
    max_concurrency: int
    count: int
    verbose: bool

    def get_count_for_concurrency(self, concurrency: int) -> int:
        return floor(self.count * sqrt(concurrency))

Class variables

var count : int
var exponent_base : float
var max_concurrency : int
var min_concurrency : int
var verbose : bool
var workload_classes : list[type[Workload]]

Methods

def get_count_for_concurrency(self, concurrency: int) ‑> int
Expand source code Browse git
def get_count_for_concurrency(self, concurrency: int) -> int:
    return floor(self.count * sqrt(concurrency))