P.S. Скоро я, видимо, потеряю возможность отвечать .)
Обычное дело для кармы и общества в целом, сначала осуждаем, потом разбираемся. Значит надо в каждом сообщении излишне разжовывать, чтобы разобратся мимопроходилам было легче.
Ну да как раз скрывать unsafe абстракции за safe интерфейсом и есть киллер фича раста, так что в других 7 там уровнем ниже :)
А по поводу заголовока вы укавите, т.к. Benchmark Game нигде не утверждает что язык а превосходит язык б по производительности. О чем у вас написано в тексте. Но это обычное дело для заголовков ;)
Да поэтому вопрос в том как можно сгенерировать оптимальный асм код за оптимальное время разработки и поддержки. Так то в бенчмарке можно вообще влепить асм вставку а потом говорить что язык самый быстрый :)
Ну и что показывает факт что си быстрее си++ если си код скорее всего можно скопировать g++? Признайтесь, заголовок желтый, написали бы "раст показывает производительность на урвоне си и си++". В результате на чем писать simd инструкции не важно, лишь бы язык поддерживал в любом случае приходим к ручной возне с указателями и unsafe. А если сравнивать с наворотами которые помогают, то в расте пока не хватает например ручного unroll поскольку нету const generics.
Создатель этой игры не смог сформулировать что значит line by line строго поэтому забанил половину решений как ему захотелось. И это только один момент почему этот бенчмарк ниочем.
Например в rust есть предложение как можно оптимизировать случаи когда функция прозрачна к Result. Я до конца не понимаю как именно предлагается чтобы оно работало, но в этом плане хаскель еще более туманен, а подобные конструкции там кажется повсюду.
Да нет я не спрашиваю про среднюю температуру по больнице. Я спрашиваю как компилятор разворачивает монадный код. Но да ладно может вы еще напишете во второй части.
скорее сахар для того, чтобы вместе с результатом функции вернуть логи которые надо записать
А как с оптимизацией дела обстоят? Ведь надо компилятору обратно все это раскрутить и поставить инструкцию write там где надо а не тащить это все вверх по стеку.
В целом хорошо, если было бы {} вместо () было бы вообще привычно почти как какой ни будь жсон. У меня когда то давно первое время после знакомства с питоном были проблемы с возвращением на языки с си подобными скобочками. Со временем понимаешь что это все не важно. К тому же без подсветки синтаксиса ваш пример не так хорошо смотрится как мог бы. К тому же есть и плагины для разноцветных скобочек, и для отображения древовидной структуры. Лучше скринте свое IDE.
Статья опоздала лет на десять минимум. Во первых сейчас с каждым мейнстрим языком идёт своя система сборки. Во вторых мейк довольно стремная штука с макро подобным синтаксисом странными правилами про перенос строк и табуляции. Т.е если надо что то программировать, т.е. нужна какая то логика при конфигурации приложения то лучше взять другой язык, и использовать все плюсы нормального кода. Единственно что мейк делает хорошо это относительно быстро парсит дерево зависимостей и вычесляет порядок сборки, но ninja говорят делает это быстрее. Хотя для любителей скобочек там завезли guile как сторонний язык.
А где объяснения про этот странный метод pass(), зачем он нужен?
Обычное дело для кармы и общества в целом, сначала осуждаем, потом разбираемся. Значит надо в каждом сообщении излишне разжовывать, чтобы разобратся мимопроходилам было легче.
Ну да как раз скрывать unsafe абстракции за safe интерфейсом и есть киллер фича раста, так что в других 7 там уровнем ниже :)
А по поводу заголовока вы укавите, т.к. Benchmark Game нигде не утверждает что язык а превосходит язык б по производительности. О чем у вас написано в тексте. Но это обычное дело для заголовков ;)
Да поэтому вопрос в том как можно сгенерировать оптимальный асм код за оптимальное время разработки и поддержки. Так то в бенчмарке можно вообще влепить асм вставку а потом говорить что язык самый быстрый :)
Ну и что показывает факт что си быстрее си++ если си код скорее всего можно скопировать g++? Признайтесь, заголовок желтый, написали бы "раст показывает производительность на урвоне си и си++". В результате на чем писать simd инструкции не важно, лишь бы язык поддерживал в любом случае приходим к ручной возне с указателями и unsafe. А если сравнивать с наворотами которые помогают, то в расте пока не хватает например ручного unroll поскольку нету const generics.
Создатель этой игры не смог сформулировать что значит line by line строго поэтому забанил половину решений как ему захотелось. И это только один момент почему этот бенчмарк ниочем.
Да но в расте это не включено везде, потому что llvm ломается
Темный фон сливается с текстом
Но ведь тогда и вручную будет проблема все указать.
И где вы видели 6-мерное пространство? Поделитесь этой дурью что вы употребляете :)
Имхо компилятор знает все типы исключений которые выбрасывает функция и при желании мог бы предоставлять эту информацию IDE
По-моему проблема в том что должно быть this.function(). А что в си шарпе this не явный?
Или где то есть глобальная ссылка на this?
https://github.com/bytecodealliance/cranelift/issues/553
Например в rust есть предложение как можно оптимизировать случаи когда функция прозрачна к Result. Я до конца не понимаю как именно предлагается чтобы оно работало, но в этом плане хаскель еще более туманен, а подобные конструкции там кажется повсюду.
Да нет я не спрашиваю про среднюю температуру по больнице. Я спрашиваю как компилятор разворачивает монадный код. Но да ладно может вы еще напишете во второй части.
А как с оптимизацией дела обстоят? Ведь надо компилятору обратно все это раскрутить и поставить инструкцию write там где надо а не тащить это все вверх по стеку.
В целом хорошо, если было бы {} вместо () было бы вообще привычно почти как какой ни будь жсон. У меня когда то давно первое время после знакомства с питоном были проблемы с возвращением на языки с си подобными скобочками. Со временем понимаешь что это все не важно. К тому же без подсветки синтаксиса ваш пример не так хорошо смотрится как мог бы. К тому же есть и плагины для разноцветных скобочек, и для отображения древовидной структуры. Лучше скринте свое IDE.
Фу, это не про это случайно была статья на хабре про "ошибка в проектировании за которую мне стыдно"
напоминает мне как я был в первом классе и рисовал в "Лого"
глянул на это дело и запахло лиспом :)
Статья опоздала лет на десять минимум. Во первых сейчас с каждым мейнстрим языком идёт своя система сборки. Во вторых мейк довольно стремная штука с макро подобным синтаксисом странными правилами про перенос строк и табуляции. Т.е если надо что то программировать, т.е. нужна какая то логика при конфигурации приложения то лучше взять другой язык, и использовать все плюсы нормального кода. Единственно что мейк делает хорошо это относительно быстро парсит дерево зависимостей и вычесляет порядок сборки, но ninja говорят делает это быстрее. Хотя для любителей скобочек там завезли guile как сторонний язык.