Вы серьёзно считаете, что узким местом при загрузке среднестатистической системы является скорость чтения с диска, а не инициализация драйверов и прочего софта?
Тормоза при загрузке с HDD вызываны не низкой скоростью чтения, а высоким временем доступа к данным и низким IOPS. Использование любого SSD даст многократное ускорение загрузки по сравнению с HDD. Скорость же самого SSD даёт преимущество в специфических задачах, но никак не при загрузке системы.
До Sandy Bridge производительность увеличивалась в 1.5–2 раза каждый год.
После — в 2 раза в однопотоке за 10 лет. Память ускорилась примерно в 3 раза.
Да, улучшился техпроцесс, уменьшилось энергопотребление. Мощность мобильных телефонов достигла мощности недорогих ноутбуков. И это хорошо.
Теоретическое увеличение пиковой производительности в многопотоке — это, конечно, хорошо. Но в реальных задачах не всё так радужно.
Если нейтиву предложить сдать IELTS без подготовки, то разброс будет от 7 до 9, с подготовкой — от 8 до 9.
Дело в том, что тест проверяет не только знание языка, но и память, и логическое мышление. Вопросы в reading/listening зачастую поставлены так, что без понимания логики теста (а для этого требуется подготовка) дать правильный ответ сложно. Ну и рандом: иногда попадаются сложные материалы, иногда очень простые. Для writing нужна большая подготовка — учить шаблоны. Для speaking тоже — нужно в нужные момент повыпендриваться со словарным запасом и грамматикой.
Кроме того, поскольку исследование было растянуто на несколько месяцев, было выявлено, что прокрастинация появилась раньше этих проблем, и с большой вероятностью является их причиной.
Вообще не очевидно. Больше похоже на то, что прокрастинация является предвестником развивающейся депрессии.
У меня был в разработке собственный ingame-бот. Его отличительная фишка — система глобальной навигации по множеству локаций и телепортов.
Это были не жёстко зашитые сценарии, а поиск кратчайшего пути в графе для того, чтобы добираться в заданную точку. Нажал кнопочку — и твой персонаж сам добирается до пати-лидера практически в любой точке мира, не нужно самому продираться через толпу торгашей у гк. А ещё это очень выручало, когда тебе надо уйти в АФК, а пати постоянно перемещается.
Также это позволяло ботам не тупить в локациях со сложной геометрией, не упираться в препятствия и не видеть в чате кучу мусора, что цель не может быть атакована (например, при дистанционной атаке при наличии колонны посередние), а интеллектуально их оббегать.
Как-то у вас всё просто. Когда я в своё время занимался подобным, античит (GameGuard) блокировал подобные непотребства, не давая отправлять нажатия. В итоге я быстро переключился на уровень сетевых пакетов.
И вообще для меня странен сам подход тянуть совместимость с несуществующими платформами.
Вы ограничиваете мир только x86/x64, что лишь показывает ваше невежество.
Этих несуществующих платформ довольно много — всего-навсего embedded различного сорта, DSP там всякие.
Также считаю, что должно быть в исходниках что-то вроде #pragma CPP20 означающая, что вот это вот приложение/библиотека/единица трансляции должна компилироваться компилятором в режиме C++20.
А причём тут компилятор, когда дело в самом стандарте языка? Изначально C и в дальнейшем C++ разрабатывались как переносимые языки, которые могут работать на любой архитектуре, поэтому встроенные типы данных не имеют фиксированного размера. Тот факт, что на некоторых архитектурах некоторые типы данных имеют одинаковое представление, не даёт права компилятору менять поведение, делая эти типы взаимозаменяемыми.
А теперь представьте себе, что вы компилируете этот код на системе, где и тип int, и тип long, и тип long long — это всё 64-битные целые. Вообще веселуха будет.
Просто рассматривайте модули как те же инклюды, но для которых гарантируется повторяемость результатов включения вне зависимости от контекта. Это значит, что если компилятор уже распарсил подобный инклюд-файл, то больше нет необходимости парсить его повторно, и достаточно взять готовый результат его обработки.
При идеальной реализации скорость компиляции с подобными контексто-независимыми инклюдами будет всегда выше. В реальности же у нас имеются довольно большие накладные расходы на обмен результатами парсинга между нодами.
Концепты резко снижают порог входа в шаблоны — фактически, ключевую фичу плюсов.
А в чём заключается высокий порог входа в шаблоны? Новичку вовсе не нужны ни SFINAE, ни возможности городить конструкции в стиле Александреску, тем более, что в приличных местах за такое бьют по рукам. Даже variadic templates можно отложить на потом.
Концепты же радикальным образом упрощают написание сложного шаблонного кода, делают его значительно более читаемым, но при этом представляют собой дополнительную сущность, которую также приходится изучать.
Я, кстати, не встречал десктопы, где спящий режим и гибернация бы нормально работали.
Вы серьёзно считаете, что узким местом при загрузке среднестатистической системы является скорость чтения с диска, а не инициализация драйверов и прочего софта?
Тормоза при загрузке с HDD вызываны не низкой скоростью чтения, а высоким временем доступа к данным и низким IOPS. Использование любого SSD даст многократное ускорение загрузки по сравнению с HDD. Скорость же самого SSD даёт преимущество в специфических задачах, но никак не при загрузке системы.
До Sandy Bridge производительность увеличивалась в 1.5–2 раза каждый год.
После — в 2 раза в однопотоке за 10 лет. Память ускорилась примерно в 3 раза.
Да, улучшился техпроцесс, уменьшилось энергопотребление. Мощность мобильных телефонов достигла мощности недорогих ноутбуков. И это хорошо.
Теоретическое увеличение пиковой производительности в многопотоке — это, конечно, хорошо. Но в реальных задачах не всё так радужно.
Потому что раньше порог вхождения был высоким, и пользователями техники были такие же инженеры-технари. А сейчас основные пользователи — гуманитарии.
Если нейтиву предложить сдать IELTS без подготовки, то разброс будет от 7 до 9, с подготовкой — от 8 до 9.
Дело в том, что тест проверяет не только знание языка, но и память, и логическое мышление. Вопросы в reading/listening зачастую поставлены так, что без понимания логики теста (а для этого требуется подготовка) дать правильный ответ сложно. Ну и рандом: иногда попадаются сложные материалы, иногда очень простые. Для writing нужна большая подготовка — учить шаблоны. Для speaking тоже — нужно в нужные момент повыпендриваться со словарным запасом и грамматикой.
Пока есть только одно дело, и в нём есть: пострадавшая строна (издатель игры), распространение читерского софта за деньги.
Иностранные симки в тыкву не превращаются. В тыкву через 120 дней превращается сам слот, если в нём успела побывать местная сим-карта.
Next Target — это исключительно клиентская фишка, как её на сервере блокируют-то?
Кстати, стоимость регистрации IMEI в Турции составляет сейчас 22 тысяч рублей. Вот такая заградительная мера против серого импорта.
Вообще не очевидно. Больше похоже на то, что прокрастинация является предвестником развивающейся депрессии.
У меня был в разработке собственный ingame-бот. Его отличительная фишка — система глобальной навигации по множеству локаций и телепортов.
Это были не жёстко зашитые сценарии, а поиск кратчайшего пути в графе для того, чтобы добираться в заданную точку. Нажал кнопочку — и твой персонаж сам добирается до пати-лидера практически в любой точке мира, не нужно самому продираться через толпу торгашей у гк. А ещё это очень выручало, когда тебе надо уйти в АФК, а пати постоянно перемещается.
Также это позволяло ботам не тупить в локациях со сложной геометрией, не упираться в препятствия и не видеть в чате кучу мусора, что цель не может быть атакована (например, при дистанционной атаке при наличии колонны посередние), а интеллектуально их оббегать.
Я смог. Вот:
https://habrastorage.org/webt/b4/0m/pa/b40mpatub8n15_ekmvys5qb1rkk.jpeg
Правда, это Made in China.
Как-то у вас всё просто. Когда я в своё время занимался подобным, античит (GameGuard) блокировал подобные непотребства, не давая отправлять нажатия. В итоге я быстро переключился на уровень сетевых пакетов.
Вы ограничиваете мир только x86/x64, что лишь показывает ваше невежество.
Этих несуществующих платформ довольно много — всего-навсего embedded различного сорта, DSP там всякие.
И что будете делать с инклюдами?
Почему? Это поломает кучу кода.
То же самое могу сказать и про Турцию.
А причём тут компилятор, когда дело в самом стандарте языка? Изначально C и в дальнейшем C++ разрабатывались как переносимые языки, которые могут работать на любой архитектуре, поэтому встроенные типы данных не имеют фиксированного размера. Тот факт, что на некоторых архитектурах некоторые типы данных имеют одинаковое представление, не даёт права компилятору менять поведение, делая эти типы взаимозаменяемыми.
А теперь представьте себе, что вы компилируете этот код на системе, где и тип
int, и типlong, и типlong long— это всё 64-битные целые. Вообще веселуха будет.Просто рассматривайте модули как те же инклюды, но для которых гарантируется повторяемость результатов включения вне зависимости от контекта. Это значит, что если компилятор уже распарсил подобный инклюд-файл, то больше нет необходимости парсить его повторно, и достаточно взять готовый результат его обработки.
При идеальной реализации скорость компиляции с подобными контексто-независимыми инклюдами будет всегда выше. В реальности же у нас имеются довольно большие накладные расходы на обмен результатами парсинга между нодами.
А в чём заключается высокий порог входа в шаблоны? Новичку вовсе не нужны ни SFINAE, ни возможности городить конструкции в стиле Александреску, тем более, что в приличных местах за такое бьют по рукам. Даже variadic templates можно отложить на потом.
Концепты же радикальным образом упрощают написание сложного шаблонного кода, делают его значительно более читаемым, но при этом представляют собой дополнительную сущность, которую также приходится изучать.