In the following we run a test 5 times
$ time swipl -g seeye,halt seeye.pl tests/dpe.pl
re(b,B),re(c,B)
real 0m0.025s
user 0m0.017s
sys 0m0.009s
$ time swipl -g seeye,halt seeye.pl tests/dpe.pl
re(b,B),re(c,B)
real 0m0.028s
user 0m0.027s
sys 0m0.001s
$ time swipl -g seeye,halt seeye.pl tests/dpe.pl
re(b,B),re(c,B)
real 0m0.125s
user 0m0.008s
sys 0m0.017s
$ time swipl -g seeye,halt seeye.pl tests/dpe.pl
re(b,B),re(c,B)
% The following threads wouldn't die: [gc]
real 0m1.029s
user 0m0.008s
sys 0m0.017s
$ time swipl -g seeye,halt seeye.pl tests/dpe.pl
re(b,B),re(c,B)
% The following threads wouldn't die: [gc]
real 0m1.029s
user 0m0.024s
sys 0m0.001s
The code is at http://eulersharp.sourceforge.net/2021/02seeye/seeye.pl and http://eulersharp.sourceforge.net/2021/02seeye/tests/dpe.pl
The times for “real” fluctuate from 0.025s to 1.029s and the larger times
seem to be related with the message “The following threads wouldn’t die: [gc]”.