bug#72688: big lets are deathly slow

spacecadet <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.