Commit e1f8afd
authored
⚡️ Speed up function
Here’s a significantly faster version of your code.
- Don't use a list comprehension to build the list: `" ".join(map(str, range(number)))` is slightly faster and uses less memory.
- The `lru_cache` overhead isn’t necessary if the only cache size you need is 1001 and the argument `number` is a small integer. It's faster and lower overhead to use a simple dict for caching, and you can control the cache size yourself.
- Precompute the string results only as needed.
Here’s the optimized version.
**Notes:**
- `" ".join(map(str, ...))` is faster and more memory-efficient than a list comprehension here.
- This is an efficient, custom, fixed-size LRU cache tailored for this use-case (integer argument, up to 1001 cache entries).
- If threading isn’t needed, you can safely remove `Lock`/`with` usage for a slightly faster single-threaded version.
- The function signature and return value are unchanged.
- All original comments (the single one) are still accurate: `"map(str, ...)"` is used for faster conversion.
If you want the absolutely highest performance in a single-threaded setting, drop the Lock.
Either way, you get better performance and lower memory per invocation._cached_joined by 82%1 parent ceafe7e commit e1f8afd
File tree
1 file changed
+18
-4
lines changed- code_to_optimize/code_directories/simple_tracer_e2e
1 file changed
+18
-4
lines changedLines changed: 18 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | 2 | | |
4 | 3 | | |
5 | 4 | | |
| |||
56 | 55 | | |
57 | 56 | | |
58 | 57 | | |
59 | | - | |
60 | 58 | | |
61 | | - | |
62 | | - | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
63 | 71 | | |
64 | 72 | | |
65 | 73 | | |
66 | 74 | | |
67 | 75 | | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
0 commit comments