Здравствуйте, Codealot, Вы писали:
C> R> Яблочники, с точно такой же ситуацией, справились.
C> При помощи костылей на уровне железа. И это очевидно говорит о том, что проблема вполне реальна.
Always protect shared data with locks, memory barriers, and other synchronization primitives present in macOS. A strong memory-ordering model, like the one in Intel-based Mac computers, adds implicit memory barriers to prevent the processor from reordering load and store instructions in a way that might introduce race conditions. A weak memory ordering model, like the one in Apple silicon, gives the processor more flexibility to reorder memory instructions and improve performance, but doesn’t add implicit memory barriers. To ensure the correctness of your code on both platforms, add explicit synchronization primitives to your code.
Здравствуйте, Codealot, Вы писали:
C> R>Реши они все железными костылями, не давали бы таких рекомендаций по поводу адаптации кода для своего силикона:
C> Почему нет? Костыли костылями, но лучше делать правильно.
Ха-ха, а я о чем говорил? Писавшие нормальный код никаких проблем не поимеют Ну и потом... Какие костыли то сделала ябла, если выдеделенное верно?
SK>>Да, нет, я знаю разницу и правильно применил.
C>Что, по твоему, значит социопат?
Социопаты не способны формировать глубокие и долгосрочные отношения с окружающими, а также адаптироваться к общественным требованиям и ожиданиям.
Социопат не понимает чувств других людей, нарушает правила или принимает импульсивные решения, не чувствует вины за причиненный им вред.
В подавляющем большинстве случаев социопат не может самостоятельно диагностировать у себя наличие данного расстройства личности.
Здравствуйте, Stanislaw K, Вы писали:
SK>Социопаты не способны формировать глубокие и долгосрочные отношения с окружающими, а также адаптироваться к общественным требованиям и ожиданиям. SK>Социопат не понимает чувств других людей, нарушает правила или принимает импульсивные решения, не чувствует вины за причиненный им вред. SK>В подавляющем большинстве случаев социопат не может самостоятельно диагностировать у себя наличие данного расстройства личности.
Это ты путаешь с аутизмом. Социопаты прекрасно понимают общественные ожидания и чуства других людей, вот только им на них насрать. Адаптироваться могут, если это принесет им профит. Сидеть и смотреть в монитор — опять же, они точно не станут это делать. Ровно наоборот — пойдут туда, где кучкуются потенциальные жертвы.
Здравствуйте, rudzuk, Вы писали:
R>Ха-ха, а я о чем говорил? Писавшие нормальный код никаких проблем не поимеют
Тебе нужно еще раз повторить, что обычный средний код — это говно? Вот с этим и придется как-то жить. Так что хватит шапкозакидательства. Проблемы с портированным софтом точно будут, и не один год. Это в лучшем случае.
R>Какие костыли то сделала ябла, если выдеделенное верно?
Здравствуйте, Codealot, Вы писали:
C> R>Ха-ха, а я о чем говорил? Писавшие нормальный код никаких проблем не поимеют Ну и потом... Какие костыли то сделала ябла, если выдеделенное верно?
C> Тебе нужно еще раз повторить, что обычный средний код — это говно? Вот с этим и придется как-то жить. Так что хватит шапкозакидательства. Проблемы с портированным софтом точно будут, и не один год. Это в лучшем случае.
Не нужно мне ничего повторять. Лучше на вопрос ответь. И скажи, много ли ты видел попыток написать собственный локфри средним говнокодером? (я не видел, хотя чужого кода на разных языках пересмотрел — тьму).
Здравствуйте, Codealot, Вы писали:
C> R>Какие костыли то сделала ябла, если выдеделенное верно?
C> Незнание должно быть причиной для стыда, а не для бахвальства.
The Apple M1 ARM processor family incorporates two memory consistency models: the conventional ARM weak memory ordering and the Total store ordering (TSO) model from the x86 architecture utilized by Apple’s x86 emulator, Rosetta 2.
Костыли то сделаны для эмулятора x86. Нативный код работает со слабой моделью памяти. Упс.
C> R>И скажи, много ли ты видел попыток написать собственный локфри средним говнокодером?
C> Много. Уж вычитанный из очередной книги паттернов DCLP точно.
Ну вот, а ябла доказала, что говнокодеры с собственной реализацией локфри — не проблема
Здравствуйте, Codealot, Вы писали:
C> R>Костыли то сделаны для эмулятора x86. Нативный код работает со слабой моделью памяти. Упс.
C> Память у тебя, как у золотой рыбки.
?
C> R>Ну вот, а ябла доказала, что говнокодеры с собственной реализацией локфри — не проблема
C> У яблы получилось. У квалкома — не факт. Так у них есть свое решение для этой проблемы или нет?
Так нет никакой проблемы Ябла накостылила для эмулятора, не для нативного кода.
Перенос же между разными архитектурами одинаковой разрядности делается пересборкой
Нет, для обычного среднего кода — не делается. Я назвал одну причину, которая может сделать процесс портирования сильно нетривиальным. Все еще не доходит?
?
C> Нет, у тебя. Напомню для забывчивых:
C> Перенос же между разными архитектурами одинаковой разрядности делается пересборкой
C> Нет, для обычного среднего кода — не делается. Я назвал одну причину, которая может сделать процесс портирования сильно нетривиальным. Все еще не доходит?
Здравствуйте, Codealot, Вы писали:
C>Сидеть и смотреть в монитор — опять же, они точно не станут это делать. Ровно наоборот — пойдут туда, где кучкуются потенциальные жертвы.
эээ? пойдут... в интернет?
очень удобное место, все потенциальные жертвы на расстоянии двух кликов.
то не съезжай давай.
C> А ты реально небыстрый. Наличией костылей доказывает, что проблема разницы моделей памяти действительно важна. Все еще не доходит?
А то, насколько быстро весь софт на яблоке стал нативным доказывает, что никакой проблемы с переходом x86->ARM нет, и костыли для эмулятора тут совершенно ни при чем. Эмулятор же, разумеется, должен эмулировать поведение платформы в точности.
Здравствуйте, rudzuk, Вы писали:
R>насколько быстро весь софт на яблоке стал нативным
У ябла и софта меньше, и возможностей по выкручиванию рук намного больше. Кто не портировал — остался за бортом. Винда для арма — всего лишь эксперимент, который может сработать, а может и нет. И большинство софтовых компаний будет просто выжидать.
R>доказывает, что никакой проблемы с переходом x86->ARM нет
Вложишь деньги — получишь результат. А про пересборку ты просто глупость сморозил.
Здравствуйте, Codealot, Вы писали:
C> У ябла и софта меньше, и возможностей по выкручиванию рук намного больше. Кто не портировал — остался за бортом.
За каким бортом то? Ябл уже запретил розету? Нет. Просто нафига ездить под эмулем с просадкой производительности, если можно пересобраться в натив Вот когда запретит, тогда можно будет говорить о выкручивании рук.
C> Винда для арма — всего лишь эксперимент, который может сработать, а может и нет. И большинство софтовых компаний будет просто выжидать.
ВиндоусРТ была экспериментом, а тут все серьезно. И у МС и у квалкома. Квалком сказал, что мобильные писи это только начало, а дальше будет решение и для десктопов. АМД сказала, что будет делать АРМ-процы. Это уже не остановить.
C> А про пересборку ты просто глупость сморозил.
Нет. Я свой софт именно так и перевел на АРМ Как только Delphi смогла в ведроид (десять лет назад), так и перевел (то есть, он одинаково работает, как на x86 так и на ARM). Потом и на силикон яблочный так же пересобрал и все. Да, там есть локфри синхронизация (не велосипедная, разумеется). Проблем было ровно ноль.