Обновить
114
Григорий Речистов@Atakua

123
Подписчики
Отправить сообщение
Если говорить про языки — то у Forth вроде были очень приятные циклы, и они есть в аппаратной реализации.

Forth — это вообще для меня яркий просвет во тьме недоразумений машинных языков. Элегантный и мощный.
Сразу вспомнилось про Nuclear Power Plant Simulator на Flash:

esa21.kennesaw.edu/activities/nukeenergy/nuke.htm
Про транзакционную память и её «обещания об избавлении» я также хочу как-нибудь написать статью для Хабра. Пока что есть серия постов на IDZ про её аппаратные воплощения: 1, 2, 3, 4.
Я попробовал объяснить это своё высказывание на примере с loop здесь:
habrahabr.ru/company/intel/blog/206030/#comment_7532679
Т.е. дело не в автоматическом счёте операций, а «скобках», создающих структуру.
Всего лишь запутанные нити шафрана. Но аналогия с логотипом хороша :-)
Как всегда — на уровне машинного кода жертвуем удобством ради скорости :-).
Про DJNZ и LOOP. Логика у них одинаковая: уменьшить регистр на единицу и, если он не ноль, прыгнуть по смещению, Т.е. это всё-таки «условие плюс goto». Это не привносит структуры в программу на машинном коде. Задача слежения за ней всё ещё остаётся на плечах программиста. Я всё ещё могу написать так:

label1:

label2:

loop label1:

loop label2:

Т.е. «циклы» будут пересекаться. Никакой структуры.

Про REP*. Так как префиксы позволяют зациклить только единственную инструкцию, то они не создают свойства композиционности (возможность цикла в цикле). Вообще строковые команды — это некий архаизм, а на REP префиксы ныне активно навешивают новые смыслы (например, для HLE они превратились в XACQUIRE и XRELEASE).

Мне кажется, что, если бы язык Brainfuck имел аппаратную реализацию, то инструкции, соответствующие его операторам [ и ], как раз служили бы задаче обеспечения циклов со структурой на машинном уровне.
Я хоть с экосистемой Apple по жизни почти не сталкиваюсь, тоже часто жалею о том, что их GCD не взлетел кроссплатформенно. С другой стороны, Apple протолкнуло OpenCL, за что им спасибо.
Спасибо за ссылку, посмотрю!
Довольно давно наткнулся на сайт ss64.com/nt/, где перечислены команды всякие полезности окружения CMD.EXE. Когда всплывает необходимость, иду за подсказкой туда.
что будут автоматически на копи-пасту проверять

Насколько я понял, дисс. советам пока что в рекомендательном порядке предлагается проверять на плагиат, даже какой-то сайт для этого используют. Было очень забавно смотреть на отчёт по собственной работе — все определения, взятые из Википедии, всплыли :-) Было несколько ложных срабатываний, с первого взгляда необъяснимых. А ещё по каким-то причинам совсем не было ссылок на мои же материалы, которые в Интернете были выложены и которые я наверняка должен был переиспользовать.
Большое спасибо за статью! В ней собраны предостережения обо всех граблях, по которым я прошёлся сам в процессе написания диссера и его защиты. Вы написали очень полезную шпаргалку для подрастающего поколения, которой я непременно воспользуюсь (если не забуду, что она у меня в избранном лежит...).
Интересный концепт. Однако я сам что-то не соображу — правильно ли поведёт себя Ваш код, если два процесса будет одновременно удалять два линка на один и тот же инод. Конкретно вот эта строчка:

if (dentry->d_inode->i_nlink == 1) { ... }

Вот пример. В начале инод имеет i_nlink == 2. Затем два процесса подходят к этой строке, видят, что ещё один линк останется, и спокойно продолжают удалять каждый свою ссылку, не затруднившись зайти в move_to_trash(). В результате никто не создаст копию в корзине.

Или там подразумевается какой-то семафор на уровне выше, ещё до вызова fstrash_unlink()?
И точно. Приятно, что при этом поддерживаются целевые архитектуры Linux IA-32 и EM64T. И, собственно, это почти всё, что поддерживается, что печально. Не хватает других архитектур и ОС.

Надо будет попробовать более свежую версию GDB для отладки своих приложений. В теории всё просто, но хочется посмотреть на скорость работы, а также на накладные расходы по памяти.
По-хорошему мне надо бы вообще использовать русское слово «повторяемость». Проблема в том, что устоявшегося отечественного термина я не знаю, поэтому и в статье использую то слово, которое применяю ежедневно, а оно — калька с англ. deterministic.
Также использую motion на Rpi. Использую из-за наличия функции детектирования движения с автоматической отсылкой письма на почту.
На дату выпуска этого RFC гляньте.

RFC 3514
Network Working Group                                        S. Bellovin
Request for Comments: 3514                            AT&T Labs Research
Category: Informational                                     1 April 2003


                  The Security Flag in the IPv4 Header

… некоторый семпл ...
Действительно, сами пути к файлам на это намекают:
sample/test_ARM_NEON_...

Я правильно понял, что в процессе портирования были исключены оптимизированные варианты некоторых функций (вместе с файлами, их содержащими), и вместо них проект подхватил их generic-реализации, написанные на C++ и потому компилирующиеся как на ARM, так и на IA-32?
В таком случае насколько, по вашему мнению, оправдано в дальнейшем написание аналогично соптимизированных (например, c задействованием асма/интринсиков SSE/AVX) специализаций этих функций для IA-32? Ожидаете ли вы дополнительного прироста в скорости работы движка от подобных усилий?
ИМХО, Eclipse создаёт довольно приятную и функциональную среду разработки, привычную для многих. Вот только немного тяжеловесно получается.
Конкретно в случае Simics я всегда использую консольный режим, когда никакого Eclipse не запускается. Сидишь себе в консоли, набираешь команды, всё как обычно.

image

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность