String concatenation in a loop slow compared to Python
- Dominant language
- Python
- Stars
- 16.8k
- Forks
- 603
- Avg merge
- 4d 23h
- Merged PRs (30d)
- 6
Description
test code
```
import time
def test_f_string_format_performance(num_entries: int) -> float:
start_time = time.time()
for i in range(num_entries):
formatted_string = f"Number {i}: {i * 2}"
return time.time() - start_time
def test_string_concatenation_performance(num_entries: int) -> float:
start_time = time.time()
result = ""
for i in range(num_entries):
result += f"Number {i}: {i * 2}\n"
return time.time() - start_time
num_entries = 200000
format_time = test_f_string_format_performance(num_entries)
print(f"f-string format operation time: {format_time:.6f} seconds")
concatenation_time = test_string_concatenation_performance(num_entries)
print(f"String concatenation operation time: {concatenation_time:.6f} seconds")
```
codon test run
```
(base) Y6RC26NQM4:press bytedance$ ./build/codon build -release -exe string.py
(base) Y6RC26NQM4:press bytedance$ ./string
f-string format operation time: 0.134792 seconds
String concatenation operation time: 25.759953 seconds
```
python3 test run
```
(base) Y6RC26NQM4:press bytedance$ python3 string.py
f-string format operation time: 0.021931 seconds
String concatenation operation time: 0.032574 seconds
```
Contributor guide
Assessment
This issue has not been assessed yet.