Я не автор приведенного выше заявления в Википедии, просто кто-то, кто широко использует K.
Что касается кода, то K не развертывает циклы и не вносит другие изменения в структуру программы, которые увеличивают его размер.за то, что вы ожидаете.Сам исполняемый интерпретатор крошечный.И программы, как правило, небольшие (хотя и не обязательно).Это не выполнение каких-либо конкретных инструкций для отображения и т. Д., Которые повышают вероятность того, что сам код будет выполнять все в кеше.
K-программы, как правило, имеют небольшой размер, поскольку они представляют собой небольшой жесткий байт-код в памятии их синтаксис приводит к очень небольшим объемам кода для данной операции.
Сравните эту программу на Java:
int r=0;
for(int i=0; i<100; i++) {
r+=i;
}
Против этой программы K, чтобы получить тот же результат:
+/!100
Объем исполняемого кода аналогичен, но объем памяти, требуемый программой (намного меньше печатания!), Намного меньше.K отлично подходит для людей с повторяющимися травмами в результате стресса.
Что касается данных, то поощрение работы с несколькими элементами данных с помощью одной инструкции приводит к последовательному доступу, удобному для кэша, а не к произвольному доступу.,Все это лишь повышает вероятность того, что программа будет работать с кешем.
Но это всего лишь тенденции и лучшие практики в языке в сочетании с самим исполняемым файлом K.Если вы связываете большое количество дополнительного кода, особого случая с множеством функций и рандомизируете свои индексы перед доступом к вашим данным, ваша программа будет столь же недружелюбна к кешу, как вы ожидаете.