I've tried to implement a function to mimic string multiply like Python:
"asdf" * 10
--------------code----------------
(define (str* str n)
(format #f "~{~a~}" (make-list n str)))
or
(define (str* str n)
(string-join (make-list n str) ""))
--------------end-----------------
Both are very slow when N is large (> 1000000).
For 'format':
================profile==============
time seconds seconds name
73.90 1089.05 1089.04 length
23.61 347.92 347.92 list-tail
0.78 1473.57 11.46 format:format-work
0.60 8.84 8.84 get-output-string
0.28 4.15 4.15 display
=================end=================
For 'string-join', is shows that the C implementation of string-join is
the bottleneck.
I have no time to dig into, just report it.
Regards.