Skip to content

Commit e3fc180

Browse files
⚡️ Speed up method AlexNet._classify by 391%
Certainly! Below is a faster version of your program. It mainly optimizes the `_classify` method by avoiding recomputation of the same expression in the list comprehension and leveraging local variables to reduce attribute lookup overhead (Python does this faster). **Explanation:** - Precompute `sum(features) % self.num_classes` once instead of computing `sum(features)` and `% self.num_classes` for each element in the list comprehension. - Use list multiplication (`[total_mod] * features_len`) which is much faster than list comprehension for repeating the same value.
1 parent a162f0d commit e3fc180

File tree

1 file changed

+4
-2
lines changed
  • code_to_optimize/code_directories/simple_tracer_e2e

1 file changed

+4
-2
lines changed

code_to_optimize/code_directories/simple_tracer_e2e/workload.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@ def _extract_features(self, x):
3939
return []
4040

4141
def _classify(self, features):
42-
total = sum(features)
43-
return [total % self.num_classes for _ in features]
42+
# Optimize by precomputing repeated expressions
43+
total_mod = sum(features) % self.num_classes
44+
features_len = len(features)
45+
return [total_mod] * features_len
4446

4547

4648
class SimpleModel:

0 commit comments

Comments
 (0)