LINUX.ORG.RU

Rust 1.7

 


1

6

Команда Rust рада объявить о выпуске новой стабильной версии Rust 1.7. Rust является системным языком программирования, сосредоточенным на безопасности, быстроте и многопоточности.

В этой версии основные изменения коснулись библиотек. Изменения, связанные с языком, готовятся в будущих выпусках.

В версии 1.7 были стабилизированы около 40 библиотечных функций и методов. Одним из стабилизированных API является поддержка задаваемых пользователем алгоритмов хеширования в типе HashMap<K, V> стандартной библиотеки. Теперь можно достигнуть значительного быстродействия за счёт возможности смены и использования более быстрого алгоритма хеширования.

Другие изменения:

  • <[T]>::clone_from_slice(), эффективный путь копирования данных из одного среза в другой срез.
  • Методы для удобства работы с Ipv4Addr и Ipv6Addr, такие как is_loopback(), который возвращает true или false, в зависимости от того, является ли адрес петлевым адресом, согласно RFC 6890.
  • Улучшения в CString, используемом в FFI.

Детальный RELEASE NOTES: https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-170-2016-03...

>>> Анонс в блоге Rust

★★★★★

Проверено: tailgunner ()
Последнее исправление: cetjs2 (всего исправлений: 3)
Ответ на: комментарий от shkolnick-kun

В Си, ИМХО, намеренно использованы длинные имена:

в то время как в Rust используются короткие имена:

Сделано это для того, чтобы:

Начинай уже лечить свою паранойю.

tailgunner ★★★★★
()
Ответ на: комментарий от shkolnick-kun

То есть код этих тестов писали скорее пиарщики-евангелисты, а не программисты, и цель у них была, не бенчмаркинг, а сугубо ПЕАР.

Вообще-то отправить свою реализацию может любой желающий. Видимо это лучший вариант.

	// Limit the number_Of_Threads_To_Use to three threads since the bottleneck
	// for this program is the speed at which the pseudorandom generator can be
	// ran at which is only fast enough to keep about two other threads busy.
	// Using more threads will start slowing down the program due to the
	// overhead from additional thread management and resource usage. Using more
	// threads will also use more CPU time too since normally waiting OpenMP
	// threads will use spinlocks.
$ time ./fasta3 25000000 &>/dev/null 

real	0m1.411s
user	0m4.130s
sys	0m0.000s
$ time ./fasta4 25000000 &>/dev/null 

real	0m1.400s
user	0m5.410s
sys	0m0.000s

anonymous
()
Ответ на: комментарий от anonymous

Он, видимо, считает, что с увеличением количества задействованных потоков производительность увеличивается линейно.

theNamelessOne ★★★★★
()
Ответ на: комментарий от shkolnick-kun

Я кончил.

Что тебе мешает переписать C-шный бенчмарк? Тест вроде открытый — напишешь быстрее, возьмут твой вариант.

Legioner ★★★★★
()

Поскорее бы они поддержку армов довели до уровня двух других популярных архитектур. А то на телефоне не могу конпелять.

Esteban_Garcia
()
Ответ на: комментарий от anonymous

Rust куда больше нацелен на применение, чем на красивую конструкцию. Вот сравнить с джавой: заявляла безопасность и переносимость. Но в итоге второго нет, да и первое уже не впереди.

Esteban_Garcia
()
Ответ на: комментарий от anonymous

Я читал этот комментарий.

Но я не думаю, что в Rust ГПСЧ «работает быстрее, поэтому там есть возможность прикрутить еще 1 поток».

Сотвтетственно, если делаете бенчмарки - делайте их наиболее близкими по используемым средствам, чтобы потом не надо было придумывать отмазки в духе:Rust 1.7 (комментарий)

shkolnick-kun ★★★★★
()
Ответ на: комментарий от shkolnick-kun

По существу он про раст ничего не сказал.

Foreign syntax Отличается от D, лол. Для меня с крайне поверхностным знакомством с хаскелем и окамлем ничего сложного в синтаксисе раста нет. За исключением макросов, пожалуй что.

Esteban_Garcia
()
Ответ на: комментарий от anonymous

Если нужно будет сделать, что-то десктопное для массового юзера, то выбор ржавого очевиден как для джависта, так и для питонщика. Ибо кресты вызывают боль и печаль, после песочницы джавы или питона. А голанг напоминает инвалида на костылях.

Так что без альтернативы, лучший на это место только ржавый.

foror ★★★★★
()
Ответ на: комментарий от Esteban_Garcia

10x better PR. There has been a long period pre-1.0 when Rust was a community darling and could do no wrong: whatever problem there was, either Rust had a solution to it, or will have had by 1.0. The realities of 1.0 ended that honeymoon and marked (by my measurements and estimates) a stark decrease in general interest, but these effects have a way to linger. Plus, after all, Rust is a decent language with real things going for it, and it's well positioned to convert this lingering hype into solid marketing.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от Esteban_Garcia

с джавой: заявляла безопасность и переносимость. Но в итоге второго нет

Ну они исправляются, на моб. платформах таки будет openjdk этой осенью. Так что не все полимеры еще просрали.

foror ★★★★★
()
Ответ на: комментарий от shkolnick-kun

Насколько я понимаю, в этих тестах основная задача выдать максимальный перформанс на задачу и утилизировать железо, суть не в построчном сравнении разных реализаций. Сколько «явно» брать потоков — деталь реализации, оптимально посчитали сделать 3, ты предлагаешь в расте сделать тоже 3, но неоптимально, зато «честно»?

staseg ★★★★★
()
Ответ на: комментарий от foror

кресты вызывают боль и печаль, после песочницы джавы или питона.

Как человек, переключившийся с Си/Питона на плюсы - плюсы не вызывают ни боли, ни печали. Наоборот - страшно вспомнить, что на Питоне компилятор не проверял код совсем вообще.

tailgunner ★★★★★
()
Ответ на: комментарий от foror

Если нужно будет сделать, что-то десктопное для массового юзера

то будут пользовать то, что знают. Десктоп - это 90% венды. под венду есть удотНет и студия (бесплатная для комьюнити). в студии есть 14ые плюсы. Так что выбор тут очевиден. будет или C# или С++. плюс по всему есть еще ондроед и веновая мобильщина. ios не берем — у них там своя атмосфера.

Вот когда для раста осилят годную IDE, в которую любой макак сможет (как в студию), тогда и будет раст. А пока он остается для однодневных поделок типа игрулек/чатиков/плееров/etc

anonymous
()
Ответ на: комментарий от foror

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

Осталась только мелочь, придумать как писать что-то десктопное для массового пользователя без нужных для этого библиотек.

Так что без альтернативы, лучший на это место только ржавый.

И чем ржавый лучше Джонатана?

anonymous
()
Ответ на: комментарий от staseg

Насколько я понимаю, в этих тестах основная задача выдать максимальный перформанс на задачу и утилизировать железо, суть не в построчном сравнении разных реализаций.

Тогда почему на крестах тот-же тест работает в 1 поток?

Кисилёв.жпг

Совпадение Оптимально? Не думаю!

shkolnick-kun ★★★★★
()
Ответ на: комментарий от shkolnick-kun

Тогда сделайте везде в 1 поток, и не вводите неофитов в заблуждение.

То бишь, все остальные реализации должны подстраиваться под самую худшую? Предлагаю везде использовать GC и интерпретировать их.

anonymous
()
Ответ на: комментарий от shkolnick-kun

«Сделайте» — кто? Ты не понимаешь, что эти тесты писал не один человек, имеющий экспертизу во всех этих языках? Тупо собрали варианты Васей Пупкиных и выложили лучший для каждого языка. Ты тоже можешь стать Васей!

staseg ★★★★★
()
Ответ на: комментарий от anonymous

То бишь, все остальные реализации должны подстраиваться под самую худшую?

Неплохая попытка психологической манипуляции.

Пиписьки нужно мерить одинаковыми линейками.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от shkolnick-kun

Неплохая попытка психологической манипуляции.

Пиписьки нужно мерить одинаковыми линейками.

А перед этим слишком длинные укоротить?

anonymous
()
Ответ на: комментарий от shkolnick-kun

Пиписьки нужно мерить одинаковыми линейками.

Неплохая попытка подмены понятий. Benchmark game - это конкурс по написанию программ. Если программа на Си++ медленнее - это значит, что никто не смог написать быстрее.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от shkolnick-kun

Согласен, vertexua адово подменил понятия

Неплохая попытка свалить с больной головы на здоровую.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Benchmark game - это конкурс по написанию программ. Если программа на Си++ медленнее - это значит, что никто не смог написать быстрее.

Нет, на конкурсах по написанию программ используют одинаковые линейки, и открыто говорят, что соревнуется «программист Вася» с «программистом Петей», а тут пишут C++ vs Rust.

Неплохая попытка подмены понятий.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от shkolnick-kun

Нет, на конкурсах по написанию программ используют одинаковые линейки, и открыто говорят, что соревнуется «программист Вася» с «программистом Петей», а тут пишут C++ vs Rust.

http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=binarytrees соревнуются реализации.

anonymous
()
Ответ на: комментарий от anonymous

Так студия с rusty code вполне неплоха, отладки разве что нет пока.

Gorthauer ★★★★★
()
Ответ на: комментарий от shkolnick-kun

Так алгоритмы то одинаковые и наверняка там есть тестировщик, который проверяет на корректность реализации. А уж если она корректная, то она не обязательно должна быть похожа. Можно даже на asm simd написать и всех уделать.

Gorthauer ★★★★★
()
Ответ на: комментарий от anonymous

Сишники которым надоело следить за выделяемой памятью.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от anonymous

Меня мучает вопрос, откуда растовцы будут брать последователей? Джавист и Питонщик туда не пойдёт.

Недавно статья (Comparing Rust and Java) на глаза попадалась. Пишет вполне себе джавист и раст ему нравится. Понятное дело, что массово миграции не будет, но язык - это ведь не религия. По крайней мере, не для всех. Так что не вижу почему джависты/питонисты, да и кто угодно, не могут растом заинтересоваться.

DarkEld3r ★★★★★
()
Ответ на: комментарий от x86_64

Твои слова имели бы смысл, если бы они не выкидывали депрекейтед в минорщине. А они это делали.

Например?

DarkEld3r ★★★★★
()
Ответ на: комментарий от shkolnick-kun

4. Пересчитываем на 1 поток: Rust 6.08, Си 5.7...
Вот такой вот «честный» бенчмарк.

Лол.

DarkEld3r ★★★★★
()
Ответ на: комментарий от shkolnick-kun

https://habrahabr.ru/post/119579/

И это не единственное подобное мнение

Судя по его комментарию (через год), то не так уже много подобных мнений. Но теперь стало понятно, что к чему. Ты Александреску приводил, а этот... Да он же D отверг! НАКОЛ!!!111

Я всё правильно понял?

anonymous
()
Ответ на: комментарий от DarkEld3r

вот он там про лайфтаймы. я уже полтора года на расте «пишу» (пока только либу для АСН1 сериализации парсинга накатал) и до сих пор не могу с первого раза осилить написать эту хрень правильно. Вечно то одно забыл, то другое упустил. Причем чаще всего из-за синтаксиса. крайне ублюдочно придумали.

anonymous
()
Ответ на: комментарий от shkolnick-kun

То есть код этих тестов писали скорее пиарщики-евангелисты, а не программисты, и цель у них была, не бенчмаркинг, а сугубо ПЕАР.

Речь всё ещё о http://benchmarksgame.alioth.debian.org? И ты хочешь сказать, что программисты на расте специально пошли туда и написал кривой код на С? И ты не наркоман после этого?

DarkEld3r ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.