Re[6]: Развитие Rust
От: Cyberax Марс  
Дата: 14.04.14 21:41
Оценка:
Здравствуйте, Lazin, Вы писали:

C>>Есть.

L>И что же?
Исключения, коды возврата и т.д.

C>>И какие навороченные алгоритмы используют TLS?

L>Сложно найти то что не использует TLS, вот пара примеров на вскидку
Странные примеры.

L>https://github.com/jemalloc/jemalloc

Будет прекрасно работать с Rust (собственно, УЖЕ работает), так как там TLS для внутренних нужд.

L>https://github.com/facebook/folly/blob/72c2a0d3b47de74dd56b6750922e54ef333b4cbd/folly/ThreadCachedInt.h

И где оно есть?

L>По поводу errno — можно конечно обойтись без TLS, но часто это усложняет архитектуру и перекладывает на программиста ответственность, так как состояние, вынесенное из TLS в переменную и которым теперь управляет программист — не должно передаваться от одного потока другому.

errno должен умереть, это кривой хак для С, не поддерживающего множественные результаты возврата. Он прекрасно заменяется исключениями или кодами возврата.
Sapienti sat!
Re[7]: Развитие Rust
От: Lazin Россия http://evgeny-lazin.blogspot.com
Дата: 14.04.14 21:54
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>Есть.

L>>И что же?
C>Исключения, коды возврата и т.д.

Часто TLS используется для уменьшения количества взаимодействий между потоками, тот же jemalloc, при вызове malloc сначала лезет в арену, адрес которой берется из TLS, а уже потом, если там нет памяти — в общий пулл. Просто TLS быстрее чем contended lock, поэтому часто алгоритмы строят таким образом. Ни исключения ни коды возврата тут использовать не получится. И таки да, в случае с errno, использование TLS это хак, но это нестандартное использование.

C>Странные примеры.


Ты просил пример навороченного параллельного алгоритма — параллельный allocator это и есть такой алгоритм, что не так?


L>>https://github.com/facebook/folly/blob/72c2a0d3b47de74dd56b6750922e54ef333b4cbd/folly/ThreadCachedInt.h

C>И где оно есть?
Переменная cache_.
Re: Развитие Rust
От: rusted Беларусь  
Дата: 26.04.14 21:07
Оценка: +1
Взялся поиграться с языком. И появился вопрос — почему математические функции сделали методами, а не отдельными функциями?
Т.е. x.sqrt() вместо привычного sqrt(x). И если с функцифми одного параметра это еще хоть как-то смотрится, то x.atan2(y) или a.mul_add(b,c) выглядит совсем уж инопланетно.
Причем в некоторых старых примерах еще можно найти варианты с внешними функциями, но у меня (свежий nightly) они уже не компилируется. Зачем это поменяли?
Re[2]: Развитие Rust
От: MTD https://github.com/mtrempoltsev
Дата: 27.04.14 07:25
Оценка:
Здравствуйте, rusted, Вы писали:

R>Зачем это поменяли?


Ну надо же что-то делать (С) А вообще думаю еще один пшик будет, я уже перестал понимать логику разработчиков.
Re[2]: Развитие Rust
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 28.04.14 08:31
Оценка:
Здравствуйте, rusted, Вы писали:

R>Зачем это поменяли?


Подобные изменения, той или иной степени идиотзма, там появляются регулярно, так же регулярно исчезают. На мой взгляд авторы просто экспериментируют, т.к. после релиза обещали заморозить API.
Re[3]: Развитие Rust
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 28.04.14 08:35
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>Ну надо же что-то делать (С) А вообще думаю еще один пшик будет, я уже перестал понимать логику разработчиков.


Ну, с учетом текущей реализации C++11 и планов на C++14/17 смыслу в Rust становится все меньше и меньше. Но, его плюшек всяко нигде больше нет и не будет в ближайшем будущем.
Re: Развитие Rust
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 03.06.14 09:44
Оценка:
Подал заявку на выступление на SECR-2014. Рассказывать буду о ключевых ключевых возможностяз Rust. Это не будет повторени моей довольно старой статьи
Автор(ы): Александр Ставонин
Дата: 20.06.2013
Краткое описание ключевых возможностей нового языка программирования Rust. Основной акцент делается на особенностях Rust, которых не хватает многим системным и сетевым разработчикам в других языках программирования.
на РСДН-е, а полностью новый материал, который придется впихнуть в 30 минутный формат.

Само собой, обо всем этом пойдет речь только в том случае, если доклад будет отобран, так что, голосуем коли интересно!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.