On 11/30/22 01:57, J. Gareth Moreton via fpc-devel wrote:
Familarity mostly. More people are familiar with quicksort than introsort. Are there any explicit code examples where quicksort succeeds and introsort fails? I'm told even Lazarus crashes (or used to crash), so I'll be interested to see what code causes (or caused) it.
IIRC, Lazarus had a comparison function that returned a<a = false, which caused an infinite loop, not a crash. I don't remember the details, you should examine the source control history. The problem was fixed a long time ago in Lazarus, however it was decided not to change the default algorithm, but rather provide a plugable mechanism for changing the algorithm, hence the sortalgs unit provides several different options. FPC developers didn't want to have the bug tracker be filled with bug reports, caused by that (people would first assume it's a bug in the new FPC version if their code fails on a new FPC version, but works in the previous version).
Nikolay _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel