URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 104099
[ Назад ]

Исходное сообщение
"Выпуск языка программирования Rust 1.2, развиваемого проекто..."

Отправлено opennews , 08-Авг-15 13:12 
Состоялся (http://blog.rust-lang.org/2015/08/06/Rust-1.2.html) выпуск языка программирования Rust 1.2 (http://www.rust-lang.org), развиваемого проектом Mozilla, обеспечивающего (http://www.opennet.me/opennews/art.shtml?num=42241) автоматическое управление памятью и предоставляюшего средства для высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime. Параллельно с Rust совместно с компанией Samsung развивается экспериментальный браузерный движок Servo (http://www.opennet.me/opennews/art.shtml?num=36576), написанный (https://github.com/servo/servo/) на языке Rust и отличающийся поддержкой многопоточного рендеринга web-страниц и распараллеливанием операций с DOM (Document Object Model).


В новой версии продолжена работа по оптимизации производительности, значительно ускорен процесс компиляции и представлены наработки по обеспечению распараллеливания сборки на многоядерных системах (добавлена опция "-C codegen-units=число потоков").  Например, сборка hyper теперь выполняется на 16% быстрее, html5ever - на 62%, regex - на 32%, rust-encoding на 35%. Генерация кода в параллельном режиме на четырёхядерном компьютере даёт ускорение ещё на 33%. Ограничением параллельного режима сборки является невозможность использования некоторых режимов оптимизации, что ограничивает его применение промежуточными и отладочными сборками.

Проведена значительная оптимизация производительности пакетного менеджера Cargo, например, время сборки пакета с движком Servo удалось сократить в 10 раз. В Cargo также добавлена поддержка совместно используемых целевых директорий, в которых кэшируются типовые для разных пакетов зависимости, что позволяет дополнительно существенно сократить время сборки сложных проектов.


В языке завершена реализация типов динамически изменяемого размера (DST (http://smallcultfollowing.com/babysteps/blog/2014/01/05/dst-.../), dynamically-sized type), позволяющих создавать указатели (Rc) на элементы массивов и объекты, динамически адаптирующиеся к изменениям в их структуре. Кроме сборки с применением инструментария GNU в Rust реализована возможность компиляции с использованием MSVC (Microsoft Visual C) и прямого связывания кода на языке Rust с кодом, собранным в MSVC.


URL: http://blog.rust-lang.org/2015/08/06/Rust-1.2.html
Новость: http://www.opennet.me/opennews/art.shtml?num=42751


Содержание

Сообщения в этом обсуждении
"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 08-Авг-15 13:12 
Скоро маркетологов Firefox на него перебросят и через год мы дождемся Rust 9.

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 08-Авг-15 13:34 
Вы так говорите, как будто это что-то плохое.

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Crazy Alex , 08-Авг-15 14:01 
Файрфоксу на пользу явно не пошло

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 08-Авг-15 18:37 
Как будто что-то есть хорошее. Раньше можно было сразу понять по обновлению мажорных и минорных цифр "масштаб" работ сделанных к релизу, но маркетологи в IT и программировании подобно колхозникам в Эрмитаже. Поэтому когда версия нумеруется в соответствии с примитивизмом маркетологов, то они нас с вами сводят к взаимодейстию на их примитивный уровень. Вероятно вы не понимаете что в этом плохого, возможно даже что вам колхозный примитивизм представлении предлагаемый маркетологами ближе, роднее, но не все такие.

PS: Не нужно оглядываться на неучей, а то можно упасть в средневековье.


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 08-Авг-15 21:26 
в rust первая цифра - мажорная (большой масштаб работ, обновляется раз в несколько лет), вторая - минорная (небольшой масштаб работ, обновляется раз в пару месяцев). Не благодарите.

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 08-Авг-15 22:07 
> Не благодарите.

Чукча не читатель.


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено клоун , 10-Авг-15 14:42 
А когда нумерацией занимается ИТ-отдел, то возникают перлы вроде:

"В к/ф Терминатор была ОС версии 4, а у нас только 3. Хочу 4!"

Это про ядро Линукс, если кто не понял.

"Чё-то давно у нас номер версии не менялся. Мы уже 2 года баги правим, изменений внесли туеву кучу, а номер не растёт. Давайте чтоли перейдём с 8.2.хххх на 8.3.хххх"

Это про 1С.

Сидишь и думаешь: вот клоуны....


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 10-Авг-15 16:48 
Сложность линукса стала настолько высокой (не в плохом смысле, это нормально), что такие же по масштабу радикальные изменения, как были 0->1 и 1->2 уже практически невозможны. Посему ведро давно уже де факто стало полуроллингом, а мажорная цыфирка "2" просто потеряла смысл.
Про 1С не могу сказать ничего, возможно, там ситуация как раз этим и отличается (то бишь, есть потенциальная возможность радикально сломать совместимость).

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


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено клоун , 10-Авг-15 18:53 
Мне прочитать тебе лекцию как снижают сложность?

Там на первом месте будет переход от монолитного ядра к пико-ядру с модульностью и динамическим связыванием. Всё как в лучших образцах ОС нашего времени, т.е. как в W10.


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 10-Авг-15 19:11 
>  пико-ядру
> как в W10.

Казалось бы, причем тут десяточка и пико-ядро?
Ну хоть вику подправили и засудили и у себя на страничке прибрались:
https://msdn.microsoft.com/en-us/library/windows/hardware/ff...).aspx
Или как-то догадались запатентовать "пико-ядро" в своем варианте (а то, что другие не в курсе М$шной терминологии -- исключительно их проблемы) :)


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 10-Авг-15 19:21 
>Мне прочитать тебе лекцию как снижают сложность?

Ну попробуй, вместе посмеемся. Сейчас это очень острый вопрос, и тот, кто предложит научно обоснованную методологию управления сложностью, гарантированно снищет себе славу в мире вычислительной техники. Если у тебя есть ответ, то где же твои публикации в журналах и заслуженная ACM award, клован?

>Там на первом месте будет переход от монолитного ядра к пико-ядру с модульностью и динамическим связыванием

Угу, понятно. Дилетант и в этом вопросе. Но лекцию все равно прочитай, больно уж мне тоску разогнать охота.

>Всё как в лучших образцах ОС нашего времени, т.е. как в W10.

По части архитектурной сложности шипдошс является одним из худших образцов нашего времени.


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 10-Авг-15 20:13 
Клоун негодует - значит все хорошо! А вот если бы нахваливал ...

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 11-Авг-15 12:59 
Да в общем-то похeр, хоть он негодует, хоть нахваливает...

Почему вам не все равно? Хотите об этом поговорить?

Был бы психоаналитиком, зарабатывал бы миллионы...


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 11-Авг-15 16:00 
> Почему вам не все равно?

Почему вам не все равно, что мне что-то не все равно?
Хотите об этом поговорить?  Так установите божественный emacs и введите:
M-x doctor
> I am the psychotherapist.  Please, describe your problems.  Each time you are finished talking, type RET twice.

.
> Был бы психоаналитиком, зарабатывал бы миллионы...

Хорошо, что не уточнили, миллионы чего именно :)


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено fail , 08-Авг-15 15:21 
> Скоро маркетологов Firefox на него перебросят и через год мы дождемся Rust
> 9.

Ыыыы,
Rust 0.9    9 Jan 2014
Rust 1.0    15 May 2015
Rust 1.2    8 Aug 2015

суде по трем точкам на графике... уже


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 08-Авг-15 16:11 
> что такое семантическое версионирование

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 08-Авг-15 21:51 
> Скоро маркетологов Firefox на него перебросят и через год мы дождемся Rust
> 9.

Вряд ли. Тут даже в долгосрочной перспективе особой отдачи не предвидится - по сравнению с другими проектами мозиллы. Так что маркетолухам раст не интересен.


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Sluggard , 08-Авг-15 13:26 
В свете последних новостей, фраза «развиваемого проектом Mozilla» как-то перестаёт вызывать положительные эмоции. )

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 08-Авг-15 13:48 
Думаешь, канпелятор стучит на тебя собирателям подноготных?

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Crazy Alex , 08-Авг-15 14:01 
Скорее есть сомнения в адекватности принимающих решения

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Sluggard , 08-Авг-15 14:01 
> Думаешь, канпелятор стучит на тебя собирателям подноготных?

Не, речь о новости про PDF.js =)


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 08-Авг-15 22:04 
Процесс разработки открыт, исходники на Github, ключевые разработчики доступны в IRC, смотри, проверяй, спрашивай что непонятно и что не так. Мозилловцы проводят лекции в ВУЗах США о RUST, обеспечивая интерес со стороны перспективной молодежи. Приложение на RUST примерно в 2 раза быстрее и в 3 раза меньше потребляет памяти чем на JAVA. Вполне достойный и перспективный проект развиваемый Мозиллой.

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено 313 , 09-Авг-15 00:15 
Java ? Отличный пример для сравнения компилируемого и "эмулируемого языка", а что в тестах по C\C++ ?

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 09-Авг-15 00:38 
примерно одинаковая производительность в сравнении с C++
http://benchmarksgame.alioth.debian.org/u64q/compare.php?lan...

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Капитанище , 10-Авг-15 08:41 
Неправда. Rust и GO в среднем на уровне Java и по скорости. Что делает их ненужными с учетом того что под Java миллиарды разных либ, а под Rust ноль целых ноль десятых :(

Самое главное - есть множество примеров, когда простая программа на си в 4-5 раз быстрее программы Java, но есть сложная программа на Java которая быстрее в те же 4-5 раз, чем прога на СИ (например смотрим бенчмарки проекта boofcv, который местами сильно быстрее сишного openCV.

Ну и не редкость, когда есть большая-большая программа на Java и вообще нет аналогов на Си. Ибо не осилили.


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Crazy Alex , 10-Авг-15 12:46 
Хреново капитанишь - у тебя тут смешались в кучу кони, люди и залпы башенных орудий.

Во-первых, если оно таки шустрее джавы до определённого размера, то либы наверняка появятся с учётом того, что писать проще, чем на сях. а для Go их, в общем-то, уже немало. И это в любом случае самостоятельная ниша.

Во-вторых, на среднем/большом софте скорость Rust пока никто не проверял. Когда/если допишут Servo - будет пример среднего размера.

В-третьих, что большой софт на сях не пишут - чистая правда. Но тут и по скорости не сравнишь, так как не с чем.

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


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 10-Авг-15 16:32 
> Неправда. Rust и GO в среднем по больнице на уровне Java и по скорости.
> Что делает их ненужными с учетом того что под Java

Fixed.
Сразу видно жабистов - есть Жаба, а все остальное не нужно!

А то, что ГЦ при одинаковой скорости работы вкушает "в среднем" в 1.5х - 2х раза больше рамы (это еще очень оптимистично) мы скромно умолчим ;)

Ну и
http://www.techempower.com/benchmarks/#section=data-r10&hw=p...
Не видно что-то отрыва 3-х кратного отрыва Жабы.


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено nc , 08-Авг-15 17:15 
А кто-нибудь может в двух словах объяснить что такое "типы динамически изменяемого размера"? Что это, почему их только сейчас реализовали, есть ли аналоги в других языках и т.д.?

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено anoniz , 08-Авг-15 17:42 
В D2 точно есть. Я решал простецкую задачу на d2 и как раз применял массив с динамически изменяемым размером

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 08-Авг-15 17:54 
char data[0];

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено nc , 08-Авг-15 18:01 
То есть аналог std::vector, но при этом plain old data, без указателей на хип чтоли?

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 08-Авг-15 18:31 
> То есть аналог std::vector, но при этом plain old data, без указателей
> на хип чтоли?

Все то, для чего нельзя "вывести" размер еще во время компилирования.
ЗЫ: я другой аноним.


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено nc , 08-Авг-15 23:10 
Все-таки хотелось бы подробностей. А то одна статья от создателей фичи, я ее давно еще читал но ничего особо не понял.

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Ан , 08-Авг-15 23:40 
Если на хабре вам ответят скопайте ссылочку сюда. :)

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено nc , 09-Авг-15 00:33 
Да похоже придется с этой статьей разбираться еще раз самому:)

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 09-Авг-15 20:10 
Проще всего - спросите на reddit в раздел /r/rust, если английским владеете. Там товарищи вам объяснят, для чего это нужно.

"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Anttiray , 11-Авг-15 00:10 
[T] - массив объектов типа T, то есть не вектор, в котором указатель на память, размер и вместимость, а просто объекты один за одним. По скорости он такой же как и обычный массив (быстрее вектора).
А также так званые "Trait objects", любой тип который реализует указанный Trait (dynamic dispatch).

Больше здесь: http://smallcultfollowing.com/babysteps/blog/2014/01/05/dst-.../


"Выпуск языка программирования Rust 1.2, развиваемого проекто..."
Отправлено Аноним , 09-Авг-15 14:59 
Недавно обновился пакет, предоставляющий операции сериализации/десер.ии в Rust(serde), где заметно возросла производительность. По тестам самого основного разработчика теперь быстрее чем rapidjson(С++) на 10%:

https://erickt.github.io/blog/2015/08/07/serde-0-dot-5-0-man.../

https://github.com/serde-rs/serde
https://github.com/miloyip/rapidjson