The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск языка программирования Rust 1.48, opennews (ok), 19-Ноя-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


44. "Выпуск языка программирования Rust 1.48"  +4 +/
Сообщение от Аноним (44), 19-Ноя-20, 23:43 
Системный язык программирования - это на котором можно написать системные компоненты, библиотеки, приложения.

Для абсолютного большинства такого софта нет никаких ограничений на управление памятью.

С какого момента стало считаться, что если нельзя написать ядро - это не системный язык программирования?

Во-первых, на Nim можно. Во-вторых по всем бенчмаркам он по потреблению памяти и производительности часто обгоняет и Rust, и чистый C. Хотя у него достаточно простой сборщик мусора.

И для embedded он тоже отлично подходит

Ответить | Правка | Наверх | Cообщить модератору

71. "Выпуск языка программирования Rust 1.48"  +8 +/
Сообщение от uis (ok), 20-Ноя-20, 01:59 
>библиотеки, приложения

А это прикладное программирование.

>С какого момента стало считаться, что если нельзя написать ядро - это не системный язык программирования?

С момента определения критериев системного языка программирования.

>Во-первых, на Nim можно. Во-вторых по всем бенчмаркам он по потреблению памяти и производительности часто обгоняет и Rust, и чистый C.

И каким образом, если язык транслируемый? Особенно интересно, как скормленный компилятору си код из транслятора быстрее, чем тот-же код не из транслятора. Это такой-же бред, как заявлять, что ассемблер медленнее, например, раста.

>И для embedded он тоже отлично подходит

И каким образом? Вы-же выше писали, что на нём нельзя написать ядро.

Ответить | Правка | Наверх | Cообщить модератору

83. "Выпуск языка программирования Rust 1.48"  +/
Сообщение от topin89 (ok), 20-Ноя-20, 02:23 
> И каким образом? Вы-же выше писали, что на нём нельзя написать ядро.
> > Во-первых, на Nim можно.

И даже без этого, для embed он тоже может подойти, там обычно нет динамического выделения памяти, и даже если нужно, в Nim можно явно вызывать malloc/free. Зачем он во встройке -- это другой вопрос, но использовать вполне реально. Хотя бы как макроязык поверх C.

>  Особенно интересно, как скормленный компилятору си код из транслятора быстрее, чем тот-же код не из транслятора

Скорее всего, очень крутой спец на C напишет код лучше, чем очень крутой спец на Nim.
Средний программист на Nim, с другой стороны, вполне может получить более быстрый код на C.
Любые заявления, что нужно становиться лучшим спецом по C идут в комплект с нужно становиться лучшим спецом на ассемблерах. Для критичных мест уж проще делать C/ASM вставки, благо, это реально.

Ответить | Правка | Наверх | Cообщить модератору

90. "Выпуск языка программирования Rust 1.48"  +1 +/
Сообщение от Аноним (54), 20-Ноя-20, 02:54 
C/C++ лишь бекенд при компиляции. Никакого удобночитаемого Си кода там не будет. За этим в Vala.
Бенчмарки тут, к примеру: https://github.com/kostya/benchmarks
Как видите, Nim держится достойно, порой обгоняя Rust и даже Си.
Ответить | Правка | К родителю #71 | Наверх | Cообщить модератору

95. "Выпуск языка программирования Rust 1.48"  +4 +/
Сообщение от uis (ok), 20-Ноя-20, 03:23 
Даже Nim быстрее раста. Ещё вопросы?
Ответить | Правка | Наверх | Cообщить модератору

234. "Выпуск языка программирования Rust 1.48"  +1 +/
Сообщение от Дядя (?), 20-Ноя-20, 17:46 
Только в программе на Rust зачем то используют сетевое соединение:

fn notify(msg: &str) {
    use std::io::Write;
    if let Ok(mut stream) = std::net::TcpStream::connect("localhost:9001") {
        stream.write_all(msg.as_bytes()).unwrap();
    }
}

Уверен, что для замедления кода.

Ответить | Правка | Наверх | Cообщить модератору

362. "Выпуск языка программирования Rust 1.48"  +/
Сообщение от freecoder_xx (?), 26-Ноя-20, 11:54 
Ага. При этом C++ версия использует libnotify, когда в правилах тесте написано, что тестируется с использованием только стандартных функций.

Еще момент: в Rust зачем-то конвертируется строка в набор unicode-символов перед итерацией, тогда как в C++ итерация идет по байтам.

В общем, шляпа это, а не тест. В каждой реализации тестируется разное.

Ответить | Правка | Наверх | Cообщить модератору

118. "Выпуск языка программирования Rust 1.48"  +2 +/
Сообщение от Сишникemail (?), 20-Ноя-20, 06:34 
Сишные бенчмарки там плохи - ну что это:
>> char *out = output;
>> ...
>> while (str != ends) {
>>    uint32_t n = __builtin_bswap32(*(uint32_t*)str);
>>    *out++ = chars[(n >> 26) & 63];
>>    *out++ = chars[(n >> 20) & 63];
>>    *out++ = chars[(n >> 14) & 63];
>>    *out++ = chars[(n >> 8) & 63];
>>    str += 3;
>>  }

.

Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

179. "Выпуск языка программирования Rust 1.48"  +2 +/
Сообщение от Lex (??), 20-Ноя-20, 11:30 
Иначе Nim будет не_быстрее !!1111
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру