diff options
Diffstat (limited to 'tools/tform.scm')
-rw-r--r-- | tools/tform.scm | 429 |
1 files changed, 429 insertions, 0 deletions
diff --git a/tools/tform.scm b/tools/tform.scm index 9107ffe..6ae67c3 100644 --- a/tools/tform.scm +++ b/tools/tform.scm @@ -146,6 +146,435 @@ )) (f) +(exit) + +;;; -------------------------------------------------------------------------------- +;;; these tests are not currently used + +(define size 1000000) + +(define (f1) ; [116] -> [78] (fixed c_function_chooser) -> [54] opt_p_call_cc + (let ((str "")) + (do ((i 0 (+ i 1))) + ((= i size) str) + (set! str (format #f "just a bare string!"))))) ; ~% is turned into \n so that doesn't cost anything + +;(unless (string=? (f1) "just a bare string!") (format *stderr* "f1: ~S~%" (f1))) + +#| +15,951,020 s7.c:opt_dotimes [/home/bil/motif-snd/repl] +11,000,000 s7.c:opt_p_call_cc [/home/bil/motif-snd/repl] + 9,000,000 s7.c:g_format_just_control_string [/home/bil/motif-snd/repl] + 9,000,000 s7.c:opt_set_p_p_f [/home/bil/motif-snd/repl] + 6,895,119 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] +|# + + +(define (f2) ; [309] -> [277 opt_p_call_ccs] + (let ((str "asdf") + (res "")) + (do ((i 0 (+ i 1))) + ((= i size) res) + (set! res (format #f "~a" str))))) ; isn't this just copy? (for a string) and opt_p_call_ccs + +;(unless (string=? (f2) "asdf") (format *stderr* "f2: ~S~%" (f2))) + +#| +67,538,352 s7.c:s7_object_to_string [/home/bil/motif-snd/repl] +46,000,000 s7.c:string_to_port [/home/bil/motif-snd/repl] +36,000,164 s7.c:block_to_string [/home/bil/motif-snd/repl] +29,103,257 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] +24,000,000 s7.c:string_write_string [/home/bil/motif-snd/repl] +15,951,020 s7.c:opt_dotimes [/home/bil/motif-snd/repl] +15,149,728 memcpy +15,000,000 s7.c:g_format_as_objstr [/home/bil/motif-snd/repl] +15,000,000 s7.c:opt_p_call_ccs [/home/bil/motif-snd/repl] + 9,000,000 s7.c:opt_set_p_p_f [/home/bil/motif-snd/repl] +|# + + +(define (f3) ; [469] + (let ((str "asdf") + (res "")) + (do ((i 0 (+ i 1))) + ((= i size) res) + (set! res (format #f "str: ~A" str))))) ; maybe extend g_format_as_objstr to include prestring? + +;(unless (string=? (f3) "str: asdf") (format *stderr* "f3: ~S~%" (f3))) + +#| +237,610,187 s7.c:format_to_port_1 [/home/bil/motif-snd/repl] + 46,000,000 s7.c:string_to_port [/home/bil/motif-snd/repl] + 30,149,775 memcpy + 29,103,615 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] + 29,000,000 s7.c:g_format_no_column [/home/bil/motif-snd/repl] + 24,000,000 s7.c:string_write_string [/home/bil/motif-snd/repl] + 21,001,261 strchr + 15,951,020 s7.c:opt_dotimes [/home/bil/motif-snd/repl] + 15,000,000 s7.c:opt_p_call_ccs [/home/bil/motif-snd/repl] + 9,000,000 s7.c:opt_set_p_p_f [/home/bil/motif-snd/repl] +|# + + +(define (f4) ; [717] + (let ((str "asdf") + (res "")) + (do ((i 0 (+ i 1))) + ((= i size) res) + (set! res (format #f "str: ~A ~C" str (string-ref str 0)))))) + +;(unless (string=? (f4) "str: asdf a") (format *stderr* "f4: ~S~%" (f4))) + +#| +333,610,119 s7.c:format_to_port_1 [/home/bil/motif-snd/repl] + 71,000,000 s7.c:opt_p_call_any [/home/bil/motif-snd/repl] ; ccsc ideally + 46,149,893 memcpy + 46,000,000 s7.c:string_to_port [/home/bil/motif-snd/repl] + 42,001,811 strchr + 29,104,716 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] + 29,000,000 s7.c:g_format_no_column [/home/bil/motif-snd/repl] + 24,000,000 s7.c:string_write_string [/home/bil/motif-snd/repl] + 18,000,000 s7.c:string_write_char [/home/bil/motif-snd/repl] + 15,951,020 s7.c:opt_dotimes [/home/bil/motif-snd/repl] + 10,000,000 s7.c:string_ref_p_pi_unchecked [/home/bil/motif-snd/repl] ; str not set so string-ref is constant + 9,000,000 s7.c:opt_set_p_p_f [/home/bil/motif-snd/repl] + 8,000,000 s7.c:opt_p_pi_sc [/home/bil/motif-snd/repl] ; calls string_ref_p_pi_unchecked + 6,002,360 ? + 6,000,000 format_to_port_1? + 6,000,000 s7.c:opt_p_c [/home/bil/motif-snd/repl] ; for opt_p_pi_sc! why not just embed it? + 4,000,098 ? + 4,000,004 ./ctype/../include/ctype.h:__ctype_b_loc [/usr/lib/x86_64-linux-gnu/libc.so.6] + 4,000,000 s7.c:opt_p_s [/home/bil/motif-snd/repl] +|# + + +(define (f5) ; [666] + (let ((str (list 1 2 3)) + (res "") + (size2 (/ size 2))) + (do ((i 0 (+ i 1))) + ((= i size2) res) + (set! res (format #f "(~{~A~^ ~})" str))))) + +;(unless (string=? (f5) "(1 2 3)") (format *stderr* "f5: ~S~%" (f5))) + +#| +256,000,000 s7.c:format_to_port_1'2 [/home/bil/motif-snd/repl] +204,109,962 s7.c:format_to_port_1 [/home/bil/motif-snd/repl] + 58,500,000 s7.c:integer_to_port [/home/bil/motif-snd/repl] + 27,000,000 s7.c:string_write_char [/home/bil/motif-snd/repl] + 15,650,121 ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_avx_unaligned_erms [/usr/lib/x86_64-linux-gnu/libc.so.6] + 15,000,000 /usr/include/x86_64-linux-gnu/bits/string_fortified.h:integer_to_port + 14,500,000 s7.c:g_format_no_column [/home/bil/motif-snd/repl] + 14,113,341 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] + 12,000,584 s7.c:s7_list_length [/home/bil/motif-snd/repl] + 11,000,000 s7.c:object_to_list [/home/bil/motif-snd/repl] + 10,502,830 ./string/../sysdeps/x86_64/multiarch/strchr-avx2.S:__strchr_avx2 [/usr/lib/x86_64-linux-gnu/libc.so.6] + 7,950,972 s7.c:opt_dotimes [/home/bil/motif-snd/repl] + 7,500,000 s7.c:opt_p_call_ccs [/home/bil/motif-snd/repl] + 4,500,000 s7.c:opt_set_p_p_f [/home/bil/motif-snd/repl] +|# + + +(define (f6) ; [943] + (let ((res "") + (size2 (/ size 2))) + (do ((i 0 (+ i 1))) + ((= i size2) res) + (set! res (format #f "~1,4F" pi))))) + +;(unless (string=? (f6) "3.1416") (format *stderr* "f6: ~S~%" (f6))) + +#| +225,500,000 ./stdio-common/./stdio-common/printf_fp.c:__printf_fp_buffer_1.constprop.0.isra.0 [/usr/lib/x86_64-linux-gnu/libc.so.6] +122,109,960 s7.c:format_to_port_1 [/home/bil/motif-snd/repl] +114,524,056 ./stdio-common/./stdio-common/vfprintf-internal.c:__printf_buffer [/usr/lib/x86_64-linux-gnu/libc.so.6] + 63,000,000 ./stdlib/../sysdeps/x86_64/mul_1.S:__mpn_mul_1 [/usr/lib/x86_64-linux-gnu/libc.so.6] + 40,000,000 s7.c:format_numeric_arg [/home/bil/motif-snd/repl] + 36,519,357 ./stdio-common/./stdio-common/Xprintf_buffer_write.c:__printf_buffer_write [/usr/lib/x86_64-linux-gnu/libc.so.6] + 32,500,012 s7.c:number_to_string_base_10.isra.0 [/home/bil/motif-snd/repl] + 30,500,000 s7.c:format_number [/home/bil/motif-snd/repl] + 27,500,000 ./stdio-common/./stdio-common/printf_fp.c:__printf_fp_l_buffer [/usr/lib/x86_64-linux-gnu/libc.so.6] + 25,000,000 ./stdio-common/./stdio-common/printf_fp.c:hack_digit [/usr/lib/x86_64-linux-gnu/libc.so.6] + 19,507,657 ./debug/./debug/snprintf_chk.c:__snprintf_chk [/usr/lib/x86_64-linux-gnu/libc.so.6] + 19,009,424 ./string/../sysdeps/x86_64/multiarch/strchr-avx2.S:__strchrnul_avx2 [/usr/lib/x86_64-linux-gnu/libc.so.6] + 15,149,924 ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_avx_unaligned_erms [/usr/lib/x86_64-linux-gnu/libc.so.6] + 14,500,000 s7.c:g_format_no_column [/home/bil/motif-snd/repl] + 14,113,761 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] + 14,006,916 ./libio/./libio/vsnprintf.c:__vsnprintf_internal [/usr/lib/x86_64-linux-gnu/libc.so.6] + 12,000,000 s7.c:string_write_string [/home/bil/motif-snd/repl] + 11,000,000 ./stdlib/../sysdeps/ieee754/dbl-64/dbl2mpn.c:__mpn_extract_double [/usr/lib/x86_64-linux-gnu/libc.so.6] + 10,503,772 ./string/../sysdeps/x86_64/multiarch/strchr-avx2.S:__strchr_avx2 [/usr/lib/x86_64-linux-gnu/libc. +|# + + +(define (f7) ; [362] + (let ((res "") + (size2 (/ size 2))) + (do ((i 0 (+ i 1))) + ((= i size2) res) + (set! res (format #f "~D is ~:D" 3 3))))) + +;(unless (string=? (f7) "3 is third") (format *stderr* "f7: ~S~%" (f7))) + +#| +151,609,892 s7.c:format_to_port_1 [/home/bil/motif-snd/repl] + 35,500,000 s7.c:format_number [/home/bil/motif-snd/repl] + 35,500,000 s7.c:opt_p_call_any [/home/bil/motif-snd/repl] + 24,000,000 s7.c:string_write_string [/home/bil/motif-snd/repl] + 23,500,012 s7.c:number_to_string_base_10.isra.0 [/home/bil/motif-snd/repl] + 23,149,965 ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_avx_unaligned_erms [/usr/lib/x86_64-linux-gnu/libc.so.6] + 14,500,000 s7.c:g_format_no_column [/home/bil/motif-snd/repl] + 14,114,301 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] + 10,503,830 ./string/../sysdeps/x86_64/multiarch/strchr-avx2.S:__strchr_avx2 [/usr/lib/x86_64-linux-gnu/libc.so.6] + 7,950,930 s7.c:opt_dotimes [/home/bil/motif-snd/repl] + 6,000,000 s7.c:opt_p_c [/home/bil/motif-snd/repl] + 4,500,000 s7.c:opt_set_p_p_f [/home/bil/motif-snd/repl] +|# + + +(define (f8) ; [375] + (let ((res "") + (size2 (/ size 2))) + (do ((i 0 (+ i 1))) + ((= i size2) res) + (set! res (format #f "~ND" 20 1234))))) ; "width field so string is 20 wide + +;(unless (string=? (f8) " 1234") (format *stderr* "f8: ~S~%" (f8))) + +#| +114,109,824 s7.c:format_to_port_1 [/home/bil/motif-snd/repl] + 37,500,000 s7.c:integer_to_string [/home/bil/motif-snd/repl] + 35,500,000 s7.c:format_number [/home/bil/motif-snd/repl] + 35,500,000 s7.c:opt_p_call_any [/home/bil/motif-snd/repl] + 27,500,012 s7.c:number_to_string_base_10.isra.0 [/home/bil/motif-snd/repl] + 21,000,000 s7.c:local_memset [/home/bil/motif-snd/repl] + 14,500,000 s7.c:g_format_no_column [/home/bil/motif-snd/repl] + 14,114,316 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] + 13,500,000 s7.c:insert_spaces [/home/bil/motif-snd/repl] + 13,149,880 ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_avx_unaligned_erms [/usr/lib/x86_64-linux-gnu/libc.so.6] + 12,000,000 s7.c:string_write_string [/home/bil/motif-snd/repl] + 8,500,000 s7.c:format_n_arg [/home/bil/motif-snd/repl] + 7,950,930 s7.c:opt_dotimes [/home/bil/motif-snd/repl] + 6,000,000 s7.c:opt_p_c [/home/bil/motif-snd/repl] + 4,500,000 s7.c:opt_set_p_p_f [/home/bil/motif-snd/repl] +|# + + +(define (f9) ; [424] + (let ((res "") + (size2 (/ size 2))) + (do ((i 0 (+ i 1))) + ((= i size2) res) + (set! res (format #f "~NC~D" 20 #\space 1234))))) ; 20 spaces then 1234 + +;(unless (string=? (f9) " 1234") (format *stderr* "f9: ~S~%" (f9))) + +#| +146,609,756 s7.c:format_to_port_1 [/home/bil/motif-snd/repl] + 39,500,000 s7.c:opt_p_call_any [/home/bil/motif-snd/repl] + 37,500,000 s7.c:integer_to_string [/home/bil/motif-snd/repl] + 35,500,000 s7.c:format_number [/home/bil/motif-snd/repl] + 35,500,000 s7.c:local_memset [/home/bil/motif-snd/repl] + 24,000,012 s7.c:number_to_string_base_10.isra.0 [/home/bil/motif-snd/repl] + 18,500,000 s7.c:format_append_chars [/home/bil/motif-snd/repl] + 14,500,000 s7.c:g_format_no_column [/home/bil/motif-snd/repl] + 14,114,451 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] + 12,000,000 s7.c:string_write_string [/home/bil/motif-snd/repl] + 8,500,000 s7.c:format_n_arg [/home/bil/motif-snd/repl] + 7,950,930 s7.c:opt_dotimes [/home/bil/motif-snd/repl] + 7,650,071 ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_avx_unaligned_erms [/usr/lib/x86_64-linux-gnu/libc.so.6] + 7,500,000 s7.c:opt_p_c [/home/bil/motif-snd/repl] + 4,500,000 s7.c:opt_set_p_p_f [/home/bil/motif-snd/repl] +|# + + +(define (f10) ; [768] + (let ((res "") + (size2 (/ size 2))) + (do ((i 0 (+ i 1))) + ((= i size2) res) + (set! res (format #f "~{~C~^ ~}" "hiho"))))) + +;(unless (string=? (f10) "h i h o") (format *stderr* "f10: ~S~%" (f10))) + +#| +367,000,000 s7.c:format_to_port_1'2 [/home/bil/motif-snd/repl] +189,703,539 s7.c:format_to_port_1 [/home/bil/motif-snd/repl] + 63,000,000 s7.c:string_write_char [/home/bil/motif-snd/repl] + 42,500,000 s7.c:object_to_list [/home/bil/motif-snd/repl] + 29,094,117 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] + 18,000,000 s7.c:opt_p_call_ppp [/home/bil/motif-snd/repl] + 14,500,000 s7.c:g_format_no_column [/home/bil/motif-snd/repl] + 8,000,004 ./ctype/../include/ctype.h:__ctype_b_loc [/usr/lib/x86_64-linux-gnu/libc.so.6] + 7,950,930 s7.c:opt_dotimes [/home/bil/motif-snd/repl] + 7,650,227 ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_avx_unaligned_erms [/usr/lib/x86_64-linux-gnu/libc.so.6] + 4,500,000 s7.c:opt_p_c [/home/bil/motif-snd/repl] + 4,500,000 s7.c:opt_set_p_p_f [/home/bil/motif-snd/repl] + 4,000,002 ???:0x0000000000116e20 [???] + 3,000,000 s7.c:check_free_heap_size [/home/bil/motif-snd/repl] +|# + + +(define (f11) ; [345] + (let ((res "") + (size10 (/ size 10))) + (do ((i 0 (+ i 1))) + ((= i size10) res) + (set! res (format #f "~{~{~C~^ ~}~^...~}" (list "hiho" "test")))))) + +;(unless (string=? (f11) "h i h o...t e s t") (format *stderr* "f11: ~S~%" (f11))) + +#| +217,500,010 s7.c:format_to_port_1'2 [/home/bil/motif-snd/repl] + 39,898,225 s7.c:format_to_port_1 [/home/bil/motif-snd/repl] + 25,200,000 s7.c:string_write_char [/home/bil/motif-snd/repl] + 19,200,000 s7.c:object_to_list [/home/bil/motif-snd/repl] + 9,714,210 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] + 6,184,807 ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_avx_unaligned_erms [/usr/lib/x86_64-linux-gnu/libc.so.6] + 3,600,000 s7.c:opt_p_call_ppp [/home/bil/motif-snd/repl] + 3,200,004 ./ctype/../include/ctype.h:__ctype_b_loc [/usr/lib/x86_64-linux-gnu/libc.so.6] + 2,900,085 s7.c:list_p_pp [/home/bil/motif-snd/repl] + 2,900,000 s7.c:g_format_no_column [/home/bil/motif-snd/repl] + 2,108,641 ./string/../sysdeps/x86_64/multiarch/strchr-avx2.S:__strchr_avx2 [/usr/lib/x86_64-linux-gnu/libc.so.6] + 1,900,692 s7.c:s7_list_length [/home/bil/motif-snd/repl] + 1,600,002 ???:0x0000000000116e20 [???] + 1,550,930 s7.c:opt_dotimes [/home/bil/motif-snd/repl] + 1,200,000 s7.c:check_free_heap_size [/home/bil/motif-snd/repl] + 900,000 s7.c:opt_set_p_p_f [/home/bil/motif-snd/repl] + 802,400 ???:0x0000000000116b00 [???] + 700,000 /usr/include/x86_64-linux-gnu/bits/string_fortified.h:format_to_port_1'2 + 700,000 s7.c:opt_p_pp_cc [/home/bil/motif-snd/repl] + 600,000 s7.c:opt_p_c [/home/bil/motif-snd/repl] +|# + + +(define (f12) ; [443] + (let-temporarily (((*s7* 'print-length) 4)) + (let ((res "") + (size4 (/ size 4))) + (do ((i 0 (+ i 1))) + ((= i size4) res) + (set! res (format #f "~{~A~| ~}" #(0 1 2 3 4 5 6 7 8))))))) + +;(unless (string=? (f12) "0 1 2 3 ...") (format *stderr* "f12: ~S~%" (f12))) + +#| +178,750,000 s7.c:format_to_port_1'2 [/home/bil/motif-snd/repl] + 94,858,241 s7.c:format_to_port_1 [/home/bil/motif-snd/repl] + 39,000,000 s7.c:integer_to_port [/home/bil/motif-snd/repl] + 32,750,000 s7.c:s7_vector_to_list [/home/bil/motif-snd/repl] + 23,501,027 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] + 13,500,000 s7.c:string_write_char [/home/bil/motif-snd/repl] + 10,000,000 /usr/include/x86_64-linux-gnu/bits/string_fortified.h:integer_to_port + 9,000,000 s7.c:opt_p_call_ppp [/home/bil/motif-snd/repl] + 7,584,709 ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_avx_unaligned_erms [/usr/lib/x86_64-linux-gnu/libc.so.6] + 7,250,000 s7.c:g_format_no_column [/home/bil/motif-snd/repl] + 6,500,000 s7.c:object_to_list [/home/bil/motif-snd/repl] + 6,000,000 s7.c:string_write_string [/home/bil/motif-snd/repl] + 3,950,936 s7.c:opt_dotimes [/home/bil/motif-snd/repl] + 2,250,000 s7.c:opt_p_c [/home/bil/motif-snd/repl] + 2,250,000 s7.c:opt_set_p_p_f [/home/bil/motif-snd/repl] + 1,500,000 s7.c:check_free_heap_size [/home/bil/motif-snd/repl] +|# + + +(define (f13) ; [352] + (let ((res "") + (size2 (/ size 2))) + (do ((i 0 (+ i 1))) + ((= i size2) res) + (set! res (format #f "~B" 1234))))) + +;(unless (string=? (f13) "10011010010") (format *stderr* "f13: ~S~%" (f13))) + +#| +108,000,144 s7.c:format_to_port_1 [/home/bil/motif-snd/repl] + 78,500,000 s7.c:integer_to_string_any_base [/home/bil/motif-snd/repl] + 43,000,000 s7.c:format_number [/home/bil/motif-snd/repl] + 32,967,791 s7.c:number_to_string_with_radix [/home/bil/motif-snd/repl] + 18,000,000 s7.c:opt_p_call_ppp [/home/bil/motif-snd/repl] + 14,500,000 s7.c:g_format_no_column [/home/bil/motif-snd/repl] + 14,114,539 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] + 12,000,000 s7.c:string_write_string [/home/bil/motif-snd/repl] + 7,950,972 s7.c:opt_dotimes [/home/bil/motif-snd/repl] + 6,781,191 ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_avx_unaligned_erms [/usr/lib/x86_64-linux-gnu/libc.so.6] + 4,500,000 s7.c:opt_p_c [/home/bil/motif-snd/repl] + 4,500,000 s7.c:opt_set_p_p_f [/home/bil/motif-snd/repl] +|# + + +(define (f14) ; [357] + (let ((res "") + (size2 (/ size 2))) + (do ((i 0 (+ i 1))) + ((= i size2) res) + (set! res (format #f "~A ~* ~A" 1 2 3))))) + +;(unless (string=? (f14) "1 3") (format *stderr* "f14: ~S~%" (f14))) + +#| +173,609,289 s7.c:format_to_port_1 [/home/bil/motif-snd/repl] + 39,500,000 s7.c:opt_p_call_any [/home/bil/motif-snd/repl] + 39,000,000 s7.c:integer_to_port [/home/bil/motif-snd/repl] + 21,011,634 ./string/../sysdeps/x86_64/multiarch/strchr-avx2.S:__strchr_avx2 [/usr/lib/x86_64-linux-gnu/libc.so.6] + 16,281,614 ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_avx_unaligned_erms [/usr/lib/x86_64-linux-gnu/libc.so.6] + 14,500,000 s7.c:g_format_no_column [/home/bil/motif-snd/repl] + 14,114,923 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] + 10,000,000 /usr/include/x86_64-linux-gnu/bits/string_fortified.h:integer_to_port + 7,950,972 s7.c:opt_dotimes [/home/bil/motif-snd/repl] + 7,500,000 s7.c:opt_p_c [/home/bil/motif-snd/repl] + 4,500,000 s7.c:opt_set_p_p_f [/home/bil/motif-snd/repl] +|# + + +(define (f15) ; [478] + (let ((res "") + (size2 (/ size 2))) + (do ((i 0 (+ i 1))) + ((= i size2) res) + (set! res (format #f "~A:~8T~A" 100 'a))))) + +;(unless (string=? (f15) "100: a") (format *stderr* "f15: ~S~%" (f15))) + +#| +217,609,212 s7.c:format_to_port_1 [/home/bil/motif-snd/repl] + 35,500,000 s7.c:opt_p_call_any [/home/bil/motif-snd/repl] + 33,150,402 ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_avx_unaligned_erms [/usr/lib/x86_64-linux-gnu/libc.so.6] + 24,000,024 s7.c:string_write_string [/home/bil/motif-snd/repl] + 21,000,000 s7.c:format_numeric_arg [/home/bil/motif-snd/repl] + 19,500,012 s7.c:integer_to_port [/home/bil/motif-snd/repl] + 18,500,000 s7.c:format_append_chars [/home/bil/motif-snd/repl] + 18,000,037 s7.c:symbol_to_port [/home/bil/motif-snd/repl] + 15,500,000 s7.c:local_memset [/home/bil/motif-snd/repl] + 14,114,921 s7.c:gc.isra.0 [/home/bil/motif-snd/repl] + 10,512,314 ./string/../sysdeps/x86_64/multiarch/strchr-avx2.S:__strchr_avx2 [/usr/lib/x86_64-linux-gnu/libc.so.6] + 9,500,000 s7.c:g_format_f [/home/bil/motif-snd/repl] + 7,950,972 s7.c:opt_dotimes [/home/bil/motif-snd/repl] + 6,500,001 /usr/include/x86_64-linux-gnu/bits/string_fortified.h:integer_to_port + 6,000,000 s7.c:opt_p_c [/home/bil/motif-snd/repl] + 4,500,000 s7.c:opt_set_p_p_f [/home/bil/motif-snd/repl] +|# + + +(define (test-all) + (unless (string=? (f1) "just a bare string!") (format *stderr* "f1: ~S~%" (f1))) + (unless (string=? (f2) "asdf") (format *stderr* "f2: ~S~%" (f2))) + (unless (string=? (f3) "str: asdf") (format *stderr* "f3: ~S~%" (f3))) + (unless (string=? (f4) "str: asdf a") (format *stderr* "f4: ~S~%" (f4))) + (unless (string=? (f5) "(1 2 3)") (format *stderr* "f5: ~S~%" (f5))) + (unless (string=? (f6) "3.1416") (format *stderr* "f6: ~S~%" (f6))) + (unless (string=? (f7) "3 is third") (format *stderr* "f7: ~S~%" (f7))) + (unless (string=? (f8) " 1234") (format *stderr* "f8: ~S~%" (f8))) + (unless (string=? (f9) " 1234") (format *stderr* "f9: ~S~%" (f9))) + (unless (string=? (f10) "h i h o") (format *stderr* "f10: ~S~%" (f10))) + (unless (string=? (f11) "h i h o...t e s t") (format *stderr* "f11: ~S~%" (f11))) + (unless (string=? (f13) "10011010010") (format *stderr* "f13: ~S~%" (f13))) + (unless (string=? (f14) "1 3") (format *stderr* "f14: ~S~%" (f14))) + (unless (string=? (f15) "100: a") (format *stderr* "f15: ~S~%" (f15))) + ) + +;(test-all) ; [6556] (when (> (*s7* 'profile) 0) (show-profile 200)) |