конечно поэтому там GraalVM 20 jdk8 лучше всех показывает результаты, потому что к нему притерли что-то в 2015 году?
к JDK 8 вообще. Ну и за одним, к GraalVM для JDK 8 в частности.
кто знает, чего они там измеряли? Может, в JDK8 году в JDK был какой-то баг в TimSort и он работал быстрее, но некорректно, а в 14 баг пофиксили, но теперь все сортировки работают слегка медленней. Или может быть, в JDK8 были какие-то особенности String.substring, которые пофиксили в 14 в угоду другим профилям нагрузки
в правильной аналитике должны были бы быть конкретные тесты, которые слила 14, и тогда мы смогли бы их сами запустить и понять причину