|
From: | spacecadet |
Subject: | bug#72688: big lets are deathly slow |
Date: | Sat, 17 Aug 2024 20:47:03 +0000 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.0 |
performance of let seems to be about O(n^2) for n bindings bash script to reproduce range="$1" time guile --no-auto-compile <( printf "(let ("; for i in $(seq 0 $range); do printf "(foo%s 'bar)" $i; done; printf ") '())" ) $ ./let.sh 10000 real 0m1.059s user 0m1.306s sys 0m0.064s $ ./let.sh 20000 real 0m3.901s user 0m4.197s sys 0m0.078s $ ./let.sh 40000 real 0m14.955s user 0m15.707s sys 0m0.188s $ ./let.sh 80000 ./let.sh: line 2: 6182 Segmentation fault guile --no-auto-compile <( printf '(let ('; for i in $(seq 0 $range); do printf '(foo%s '"'"'bar)' $i; done; printf ") '())" ) real 0m58.146s user 0m59.156s sys 0m0.326s
[Prev in Thread] | Current Thread | [Next in Thread] |