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 3a2a0bb6d..72712062c 100644 --- a/code_to_optimize/code_directories/simple_tracer_e2e/workload.py +++ b/code_to_optimize/code_directories/simple_tracer_e2e/workload.py @@ -4,10 +4,7 @@ def funcA(number): number = min(1000, number) - # j is not used (retained for parity) - j = number * (number - 1) // 2 - - # Use cached version for repeated calls + # j is not used (retained for parity in logic, but removed for speed) return _cached_joined(number) @@ -39,8 +36,9 @@ def _extract_features(self, x): return result def _classify(self, features): - total = sum(features) - return [total % self.num_classes for _ in features] + # Compute the sum and modulo just once, then construct the result list efficiently + mod_val = sum(features) % self.num_classes + return [mod_val] * len(features) class SimpleModel: @@ -62,9 +60,10 @@ def test_models(): prediction = model2.predict(input_data) -@lru_cache(maxsize=1001) # One possible input per [0, 1000] +@lru_cache(maxsize=1001) def _cached_joined(number): - return " ".join(str(i) for i in range(number)) + # Use map(str, ...) instead of comprehension for better speed + return " ".join(map(str, range(number))) if __name__ == "__main__":