Size: a a a

2020 August 13

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
там в script shape у вас воткнется мьютекс и все закончится
что у тебя така любовь к этим мьютексам
источник

AZ

Alex Zhukovsky in rust_offtopic
попробуй написать многопоточное приложение без них
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
что у тебя така любовь к этим мьютексам
ну потому что он кажись там есть
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
ну потому что он кажись там есть
нет
источник

CD

Constantine Drozdov in rust_offtopic
вы читали исходные коды движка shape юникодных последовательностей? какого из 30
источник

AZ

Alex Zhukovsky in rust_offtopic
че-то ты сегодня не в себе
источник

AZ

Alex Zhukovsky in rust_offtopic
нет, я не читал
источник

AZ

Alex Zhukovsky in rust_offtopic
и пойду спать
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
че-то ты сегодня не в себе
я к тому, что никто и никогда эту часть параллелить не будет
источник

CD

Constantine Drozdov in rust_offtopic
а если очень надо, то там известно что нагружает и как с этим справляться
источник

CD

Constantine Drozdov in rust_offtopic
и автоматика там умрет, потому что распараллеливание на эвристиках - у вас разбиение на строки следующего абзаца будет зависеть от наличия плавающих объектов, которые до него дотянулись
источник

V

Vladimir in rust_offtopic
Что такое движке shape?
источник

RP

Roman Proskuryakov in rust_offtopic
Constantine Drozdov
совсем не для представления текстового редактора, поверьте
источник

RP

Roman Proskuryakov in rust_offtopic
> Xi-Editor — Immutable.
источник

RP

Roman Proskuryakov in rust_offtopic
https://github.com/xi-editor/xi-editor/blob/master/rust/rope/src/tree.rs#L307

интересное чтиво. хоть и много мутабельных подходов.
источник

RP

Roman Proskuryakov in rust_offtopic
/// A b-tree node storing leaves at the bottom, and with info
/// retained at each node. It is implemented with atomic reference counting
/// and copy-on-write semantics, so an immutable clone is a very cheap
/// operation, and nodes can be shared across threads. Even so, it is
/// designed to be updated in place, with efficiency similar to a mutable
/// data structure, using uniqueness of reference count to detect when
/// this operation is safe.
///
/// When the leaf is a string, this is a rope data structure (a persistent
/// rope in functional programming jargon). However, it is not restricted
/// to strings, and it is expected to be the basis for a number of data
/// structures useful for text processing.
#[derive(Clone)]
pub struct Node<N: NodeInfo>(Arc<NodeBody<N>>);
источник

RP

Roman Proskuryakov in rust_offtopic
так что эти ваши иммутабельные структуры используются в текстовых редакторах, да.
источник

RP

Roman Proskuryakov in rust_offtopic
Ну и у них очень крутая документация по структурам данных: https://github.com/xi-editor/xi-editor/blob/master/docs/docs/crdt-details.md
источник

CD

Constantine Drozdov in rust_offtopic
Roman Proskuryakov
так что эти ваши иммутабельные структуры используются в текстовых редакторах, да.
вы подождите еще называть это текстовым редактором
источник

CD

Constantine Drozdov in rust_offtopic
тут надо бы проверить для начала, что это не студенческая лабка уровня "поддерживайте 15 операций с аннотированным текстом"
источник