exaloop / exaloop/codon

String concatenation in a loop slow compared to Python

Open
#559 4 comments 0 reactions 2 assignees Claimed by @inumanag View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.