diff --git a/code_to_optimize/code_directories/simple_tracer_e2e/workload.py b/code_to_optimize/code_directories/simple_tracer_e2e/workload.py index 2565075a0..6a8923439 100644 --- a/code_to_optimize/code_directories/simple_tracer_e2e/workload.py +++ b/code_to_optimize/code_directories/simple_tracer_e2e/workload.py @@ -1,16 +1,11 @@ from concurrent.futures import ThreadPoolExecutor +from functools import lru_cache def funcA(number): number = min(1000, number) - - # The original for-loop was not used (k was unused), so omit it for efficiency - - # Simplify the sum calculation using arithmetic progression formula for O(1) time j = number * (number - 1) // 2 - - # Use map(str, ...) in join for more efficiency - return " ".join(map(str, range(number))) + return _joined_numbers(number) def test_threadpool() -> None: @@ -68,6 +63,11 @@ def test_models(): prediction = model2.predict(input_data) +@lru_cache(maxsize=32) +def _joined_numbers(n): + return " ".join(map(str, range(n))) + + if __name__ == "__main__": test_threadpool() test_models()