Pull to refresh
khim @khim read⁠-⁠only

User

Send message

А даже если запустите? Тут же главный вопрос не в том даже “существует оно или нет”, а скорее “а зачем оно такое кому-то нужно”.

То есть, с одной стороны, можно предположить, что это жуткое легаси, которое боятся перевести на что-то более вменяемое. Ибо как работает та каша, что у нас имеется мы не знаем, а использовать-то её как-то нужно. Ладно. Бывает.

Но если эффективность никого не волнует (волновала бы — давно бы адаптировали что-то более эффективное, чем слегка допиленный компилятор четвертьвековой давности), то почему, вдруг, стал волновать режим x86-64 ?

Нет, всё банальнее и проще. Они логичны с точки зрения устройства декодера.

Главный вопрос - все эти варианты, что занимают меньше места, действительно выполняются с той же скоростью что и их "жирный" аналог?

Всё зависит от процессора. И на большинстве современных процессоров эти короткие версии исполняются со скоростью от медленно до… катастрофически медленно.

Ни о какой эффективности речь не идёт в принципе.

Можно было бы предположить, что речь идёт о какой-нибудь странной встраиваемой системе на базе какого-нибудь 386EX с дикими ограничениями по памяти… но тогда причём тут x86-64?

Не исключено же, что в "железе" такое имеет более длинный путь обработки и будет "занимать больше места" во внутренностях проца.

Всех этих команд уже много десятилетий нет в железе. Они эмулируются в микрокоде и делается это строго для возможности запускать дикий легаси. Отсюда вся неэффективность.

Да, похоже что-то (правда не очень понятно что) в природе имеется. Но я прошёл по первой ссылке и обнаружил там претензии на Аристотеля. Который целый трактат написал, где выяснял, с помощью теоретических построений, сколько у мухи ног.

Вместо того, чтобы оную муху взять — и эти ноги пересчитать.

Читаешь вот это вот:

Например, взять те же DAA и DAS. Они однобайтные, не имеют параметров и (редкий случай!) не имеют исключительных ситуаций. Т.е. обрабатываются в процессоре самым простым образом. Зачем же было отключать несложную и эффективную аппаратную поддержку целого класса объектов и задач? Неужели только ради убирания нескольких примитивных инструкций?

И возникает ощущение, что столнулся с каким-то пришельцем из прошлого века, этаким Фи́лип Джей Фрайем. Несложная и эффективная аппаратная поддержка? А ничего, что уже в Pentium 4 больше 20 лет назад DAA и DAS начали требовать по сотне тактов процессора? Prescott, правда, ускорился, всего-навсего 29 тактов требуется…

А эффективность кода оценивается, барабанная дробь… в байтах.

Мы эта, вообще в каком веке живём?

Если вас эффективность не волнует (а если вы всё ешё используете DAA/DAS и INTO, то она вас точно не волнует), то почему, вдруг, начали волновать размеры?

Что вы пытаетесь создать, для кого и причём тут x86-64?

Статья оставляет какое-то дико странное впечатление.

С одной стороны — автор утверждает, что у него есть какой-то там компилятор.

С другой — наблюдаем явный наив и какой-то лютый бред. Так, эта, компилятор — он таки есть или его таки нет?

Ибо, ну… О ужас, INTO отобрали! А ведь было так удобно: приписал INTO и инструкция, занимавшая четверть такта начала занимать в двадцать раз больше времени! Зашибись!

И это если мы говорим о каком-нибудь Skylake или Haswell'е, где они 5-6 тактов занимает, а не о AMD'шном Bulldozer'е, где она 24 такта занимает (а получаемое замедление от использования, соотвественно, программу почти в сто раз замедляет!). А началось это, прости господи, с классического Pentium, где она уже требовала 4 такта (больше, чем на 80486), притом что простая арифметика уже могла исполняться за две инструкции за такт. Правда AMD, как раз, долгое время достаточно эффективно её реализовывала, но так как это никому не было нужно, то… см. что они в “тяжёлой технике” с ней сделали.

Но на Intel платформе INTO нельзя было использовать, к моменту её отмены, уже лет 10 как и дико странно, что вы о ней вообще вспомнили.

Рассуждения про однобайтовые регистры — тоже вызывает недоумение. Ещё раз: компилятор у вас есть или его нет? Ибо почти все виденные мною компиляторы считают, что на классической IA32 платформе однобайтовых регистров не 8, но 4: AL/CL/DL/BL. И всё. AH/CH/DH/BH как бы и не существуют вовсе. Только если руками ассемблерную вставку оформляете — тогда они могут быть использованы.

Причём это было настолько твёрдо установленным фактом уже четверть века назад, что Pentium Pro под это был заточен (на чём и погорел: оказалось, что компиляторы компиляторами, а вот ручками написанный на ассемблере код Windows 95 устроен иначе).

Соотвественно с точки зрения компилятора на x86-64 всё просто и логично: от 4 регистров перешли к 15. Увеличив их количество в три с лишним раза. Ну а что AH/CH/DH/DH ещё существуют и их иногда можно поиспользовать — так это, опять-таки, для переноса ручками написанного кода.

Разговоры про хранение двух переменных в одном физическом регистре тоже “доставляют”… ещё раз: оно у вас, извините, есть? Бенчмарки можно какие-нибудь посмотреть, сравнить с LLVM или GCC? Или это, опать, сферические рассуждения в вакууме?

После того, как выделил текст как код, с него уже нельзя выйти. Стрелка вправо не работает.

Какая стрелка? Стрелки великий Джобс завещал из клавиатуры выдирать.

А мышка работает. Так что всё хорошо. В стиле macOS.

P.S. А так-то да, большего ужаса, чем в новом интерфейсе Хабра я представить себе не могу. Впрочем и не пыаюсь: они ж всё равно его без меня придумают и воплотят. Со временем.

P.P.S. На самом деле то, что всем этим дико неудобно работать с клавиатурой и мышью — банальное следствие того, что “новый” Хабр — это мобильная версия, перенесённая на десктоп. И как и в macOS/Windows — жуткая жуть. Но зато на разработке можно съэкономить.

Где-то на фоне, слегка заблюренным, местами полупрозрачным, видны огрызки почты, пяти мессенджеров, консолек с логами и ssh в облако в количестве, и т. д.

И зачем оно мне?

Увидел что команда отработала — навел мышку на огрызок, окно всплыло, вбил следующую, Alt+Tab — работаешь себе дальше.

Кое-что начинает проясняться. По крайней мере становится понятно для кого делают все эти идиотские игры, где вся игра заключается в том, что нужно открыть 100500 иконок, почеменных красными точками, и забрать 100500 “вкусняшек”.

Надо — бросаешь один взгляд в заботливо оставленный кусочек окна, не надо — смотришь в содержимое активного окна, никаких свайпов-переключений-шорткатов просто нет.

Да, возможно если вам нравится работать “няней” для компьютера — это неплохой подход.

Я предпочитаю запускать команды через &&, если одна должна дождаться результата другой, а в мессенджеры заглядывать когда я не занят.

Как видите, оба варианта «так себе», по сравнению с окном приложения комфортного размера.

Как я уже сказал: если у вас монитор сильно большой — можно половинку экрана использовать или четвертушку. Строго говоря на 30" было бы неплохо его на 3x3 части разбить, возможно, но сейчас у меня 27", четвертушки хватает (а на ноуте — половинки). Зато всё видно.

И еще момент, хруст будет очевидно еще и потому, что все остальные окна со всеми их огрызками по-прежнему нужны, их придется сложить горкой на втором мониторе и вращать головой туда-сюда :-)

Ну если вы раб, прикованный к этим окошкам, тогда да, возможно. Я предпочитаю работу строить так, чтобы в окошки смотреть когда я с ними собрался работать, а не постоянно “бдить”.

Но да, согласен, для “постоянно бдящих” подход macOS может быть и разумен. Но нафига его всем остальным-то навязывать?

Как раз легаси из классических Mac OS в современной макоси хватает, даже визуального, не говоря о шорткатах и прочем.

Примеры можно? Только не про то, что перешло уже во все операционки типа корзины или пресловутых Ctrl+C/Ctrl+V.

Я бы сказал, что визуально осталось разве что идиотская идея размещать меню где-то фиг знает где, а не рядом с окном (которая нормально работала на mac 128K с его крошечным мониторчиком в девять дюймов 512x342, но которая выглядит слегка дико на 30" мониторе 4K) и… всё, собственно.

Сакральных “разноцветных кнопок” в классике не было, командной строки тоже (и её отсутствие как раз подавалась как “символ прогресса”), даже от “гениальной” идеи Джобса использовать сторого и исключительно однокнопочную мышь отказались! Еретики!

Бинарная совместимость тут вообще не при чем, речь о паттернах.

Дык как раз паттерны все, под давлением реальных пользователей, и поломали.

Или вы при “гениальную”, тут где-то уже обсуждавшуюся, идею об окнах, на которые невозможно никак переключиться и до которых можно добраться, только отодвинув всё остальное в сторону?

Ну… возможно. Как по мне — так лучше бы это вообще никогда не изобрели.

Автор статьи не до конца проникся макосью, в этом вся проблема.

Автор не хочет чем-то там “проникаться”. Он хочет просто работать, так как ему (а не кому-то ещё) нравится.

И да, жажда Windows непрерывно что-то там обновлять напрягает. Но по сравнению с жаждой разработчиков macOS заставить тебя “ходить строем”“…” это мелочи.

Даже о базовой комбинации клавиш cmd+q, автор узнал лишь спустя год — из коммента под этой самой статьей.

Вот это вы, похоже, пропустили. Но дело даже не в том, что вы, почему-то считаете, что человек, знающий про Alt-F4 не обнаружит Cmd+Q. Дело в том, что я даже не помню когда последний раз в Linux или Windows пользовался Alt+F4.

Дело в том, что каждый раз, когда кто-то спрашивает как что-то сделать в macOS ответ всегда один и тот же: “р-р-разговорчики в строю — прекратить! равненние — лержать! ать-два левой, ать-тва правой, помни что ты свободен, не забывай”.

Для меня, самая качественная и удобная вещь та, которую не замечаешь во время использования — обувь, компьютер, презерватив, т.д.

Вот только macOS невозможно “не замечать”. Чтобы ты ни делал, постоянно натыкаешься на её “особое мнение” по тем или иным вопросам.

Большинство вещей же являются чисто инструментом для достижения целей и упрощения пути к этой самой цели, зачем же тогда покупать инструмент, который наоборот, отделяет тебя от цели и вставляет палки в колеса?

Этого не знаю. У меня и в мыслях никогда не было идеи купить Мак для работы.

я: беру мак из-за клавы

Дык если вы мазохист, то для вас Apple массу интересных вещей придумал.

Зачем мне окошко (любая программа) на весь экран моего здоровенного телевизора?

Для того, чтобы всё то, что отображается в окнах, с которыми я не работаю не отвлекало моего внимания.

Чтобы насладиться пустым пространством и похрустеть шейными позвонками?

А зачем вам хрустеть позвонками, чтобы им наслаждаться? Там ничего нет и вы видите, что там ничего нет.

Да, я даже контр-страйк и тот запускаю — в окошке, а не full screen, все верно. Единственное приложение, которое я сто лет в обед один раз могу на весь экран развернуть — это видеоплеер kaffeine. И то для гостей.

Это пркерасно, что вы “прониклись дзеном”. А теперь, пожалуйста — как сделать так, чтобы всем остальным, кто не хочет смотреть на огрызки окон, использовать которые всё равно нельзя, было удобно?

Это логично, удобно, и куда полезнее, чем «полноэкранные» приложеньица в пропорции 27 к 10 :-)

Чем полезнее-то?

Если монитор у меня большой, то, да, я могу использовать не полный экран иногда, а половинку или четверть. Тогда можно увидеть два полноценных окна.

Но для чего вы используете вот ту кашу, которая видна на любом скриншоте MacOS вокруг активного окна? Зачем вам её созерцать?

может опять вернемся к каскадам и тайлам :-)

Было бы неплохо, на самом деле, но, к сожалению, многие приложения плохо работают в таком режиме. Так что нет, их не попаданцы из 1981го делают, а просто люди, интуитивно ощущающие, что так было бы сделать неплохо… но не имеющие ресусров всё это оттестировать нормально.

которая так-то постарше винды

Это что за новости? macOS X появилась в марте 2001го года, через 15 лет после Windows.

Или вы про macOS Classic? Там от неё в современной MacOS не сохранилось ничего: ни внешнего вида, ни интерфейса, ни особенностей работы.

Это в Windows вы можете взять программу для Windows 1.x и запустить её на Windows 10, поправив пару байт (а если программа Windows 3.1 поддерживает, то можно и без этого), а в macOS — фиг, между современной macOS и тем, что было выпущено в 1984м нет вообще ничего общего, кроме названия.

Потому что про Linux изначально известно, что это конструктор и систему придётся подгонять под себя. И есть возможности это сделать.

А macOS рекламируется как очень удобная и продуманная… только оказывается, что нужно “проникнуться духом” и не пытаться делать то, что Джобс считал ненужным.

концепция кастомизации инструмента под себя в староглиняные времена была непопулярна по объективной причине проблем с ресурсами

В “стараглиняные времена”, как раз, кастомизация цвела и пахла. Это я вам как фанат ретрокомпьютинга говорю. Возьмите хоть emacs или vi 70х годов, хоть Turbo Pascal 1.x/2.x/3.x 80х — везде найдёте возможность настройки под себя.

А вот уже после того, как Джобс увидел разработки Xerox и начал продвигать Mac, сработанный под лозунгом “ать два левой, ать два вравой, настощая свобода возможна только, когда все ходят строем”… кастомизацию стали прятать и, со временем, даже отменять.

Потому что оный “юзекейс” нужен не часто, но регулярно. Последний раз мне это было нужно полгода назад, когда я помогал моей сестре подключиться к её же роутеру после того, как ей починили ноут с заменой SSD и установкой свежей системы. Открыл список сетей, нашёл нужную, продиктовал ей пароль.

Но у меня Linux на ноуте, а не MacOS, так что проблем не возникло.

Ровно так, кстати, была решена проблема некрасивого интерфейса калькулятора для iPad.

С консолью всё просто: Джобс ненавидел GPLv3, потому все консольные штучки (кроме компилятора) там GPLv2 версии (то есть более, чем десятилетней давности!).

Нет. Они присущи человеку, который не пришёл на macOS и, скорее всего, никогда не придёт.

Если хотите историю, так я могу рассказать.

Начинал я, в школе, с MS-DOS, она у нас ещё и в XXI веке там была. Вместе с Windows 3.x, которая не позволяла запускать Windows-программы из NC, так что к пользованию была явно непригодна.

Пробовать пересесть на Windows я начал при появлении Windows 95, но реально всё равно работал в полноэкранном окне DOS. Со временем, когда появлась XP, CygwWin, FAR с окнами произвольного размера — потихоньку перебрался в Windows и, где-то лет через 5 даже начал использовать кой-какие графические программы.

И вот если Windows (и, тем более, Linux) я могу убудить себя вести так, как мне нужно, то macOS - нет. Ни macOS 7.6 (которая была у нас в школе), ни macOS X. Хотя бросил я это занятие лет 6-7 назад, может сейчас уже всё и превели в порядок, но вряд ли: иначе эта статья не появилась бы.

И я не собираюсь “раскусывать все прелести” хождения строем, в ногу. Операционка должна вести себя так, чтобы было удобно мне, а не Джобсу, Куку или кому-то там ещё.

И да, я допускаю, что некоторые мелочи могут себя вести не так, как мне хочется. Тратить годы на то, чтобы всё-всё-всё работало точно и ровно так, как мне хочется, я не буду. Но если у меня нет простого способа раскрыть окно на полэкрана — то к бесу такую операционку. И если я не могу переключаться между всеми окнами по кругу, то тоже — к бесу.

В кучу раздражения добавлю невозможность клавишей TAB и стрелочками переключаться между элементами интерфейса. Банальное диалоговое окно с вариантами "ДА/НЕТ" не возможно обработать клавиатурой. Только курсором.

А чего вы хотите от операционки, разрабатываемой под руководством человека, выдирающего стрелочки из клавиатуры?

К сожалению в Windows и Linux тоже встречаются подобные программы (возможно их делают маководы?).

/FixMbr на EFI-only системе явно бессмысленен (но я его тоже пробовал), /FixBoot говорил, что файлы загрузочные отсутствуют.

Я много разных инструкций перепробовал. Максимум чего добился - загрузки в “синий экран” с сообщением о том, что Windows не может найти корневой раздел (хотя установщик его видел и предлагал загрузиться и запускать установщик из Windows, чтобы систему не потерять).

Information

Rating
Does not participate
Registered
Activity