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 db708a5c0..2d4908e04 100644 --- a/code_to_optimize/code_directories/simple_tracer_e2e/workload.py +++ b/code_to_optimize/code_directories/simple_tracer_e2e/workload.py @@ -2,15 +2,17 @@ def funcA(number): - number = number if number < 1000 else 1000 - k = 0 - for i in range(number * 100): - k += i - # Simplify the for loop by using sum with a range object - j = sum(range(number)) + number = min(1000, number) - # Use a generator expression directly in join for more efficiency - return " ".join(str(i) for i in range(number)) + # Compute sum directly instead of looping + n_sum = number * 100 + k = (n_sum * (n_sum - 1)) // 2 + + # Sum using formula for 0..number-1 + j = (number * (number - 1)) // 2 + + # Use map + join for faster conversion + return " ".join(map(str, range(number))) def test_threadpool() -> None: @@ -21,6 +23,7 @@ def test_threadpool() -> None: for r in result: print(r) + class AlexNet: def __init__(self, num_classes=1000): self.num_classes = num_classes @@ -28,7 +31,7 @@ def __init__(self, num_classes=1000): def forward(self, x): features = self._extract_features(x) - + output = self._classify(features) return output @@ -43,15 +46,17 @@ def _classify(self, features): total = sum(features) return [total % self.num_classes for _ in features] + class SimpleModel: @staticmethod def predict(data): return [x * 2 for x in data] - + @classmethod def create_default(cls): return cls() + def test_models(): model = AlexNet(num_classes=10) input_data = [1, 2, 3, 4, 5] @@ -60,6 +65,7 @@ def test_models(): model2 = SimpleModel.create_default() prediction = model2.predict(input_data) + if __name__ == "__main__": test_threadpool() test_models()