good

Дела давно минувших дней



Случайно совершенно узнал, что игру Периметр выложили на github.
Это была первая крупная игра, в которой принимал участие. Глянул - вполне так ничего код писал в те времена. Что интересно - объём кода там сравнительно небольшой. Умели жеж в старинные времена коротко писать :)
good

(no subject)

Опять кроты появились. Вчера поставил ловушку, сегодня один поймался. Причем хитрецы - делали кучки в высокой траве, вокруг всё выкошено, оставлен только один кусок со свежепосаженной травой. И там кроты.
good

3D принтерное

Чтобы такую фигню печатать - 3D принтер идеально подходит. Конструкция получается лёгкая (всего 7 грамм) и жесткая. Да и нарисовать такое можно в пределах часа. В технологическую цепочку "сделать из говна и палок" 3D принтер идеально вписывается.
good

Анекдот

Сидит мужик на даче. Хорошо... Смотрит - на дереве яблоко висит. Красивое!!! Сорвал, сел на скамеечку. А кругом - лепота... Дай думает - съем яблочко... Тут вдруг земля затряслась, гром, шум, пыль. Раскалывается земля, из разлома вылезает огромная Жопа, заглатывает яблоко и скрывается под землю. И тишина... Пыль рассеивается, мужик в оторопи говорит:
- Что это было?...
Тут опять земля, шум, пыль, грохот - вылазит Жопа и говорит мужику:
- Антоновка.


И моя иллюстрация: "Мужик, скамейка, яблоко и средство для борьбы с тем, что роется под землёй."
good

Критика системы команд Эльбрус (продолжение)

Как уже говорил, прочитал статейку Легенды и мифы процессора Эльбрус в примерах.

И вариант критики команд Эльбрус, используя ассемблерный код мне очень даже понравился. Собственно говоря это более чем логично, критиковать набор команд смотря, на скомпилированные в этот набор команд функции.

Collapse )
good

Эльбрус

Прочитал статейку Легенды и мифы процессора Эльбрус в примерах

Там меня заинтересовало сравнение ASM испольняемого кода для Эльбрус и других платформ.
См после слов "В данном примере основной код, определяющий производительность теста – это внутренний цикл while в алгоритме сортировки (функция Sort)."

У Эльбрус это 13 тактов на внутренний цикл.
Решил глянуть, а как это будет на Kendryte K210.
Смотрим на функцию Sort, как её компилятор gcc в ассемблер скомпилировал.


Внутренний цикл - это от строки 75 .L6 до строки 82 bne a2,a7,.L6
Суммарно 7 команд. Причём K210 выполняет ровнёхонько одну команду за такт. Тоесть даже откровенно микроконтроллёрный K210 в этом тесте уделает Эльбрус по по скорости выполнения, если бы они на одинаковой частоте работали.

PS: В комментарии меня поправили, что не все операции на K210 за один такт выполняются. Действительно, протестировал на железе - получилось 13 тактов на цикл.

[Собственно сама функция Sort на Си]