Size: a a a

2021 February 21

EP

Egor Pugin in dlang.ru
Dark Hole
Давай резюмирую:
* Ты нашёл статьи в которых говорят "файберы — плохо"
* Не смог объяснить чату почему
* Аргументы:
— Файберов много и им трудно подобрать оптимальный размер памяти
Контраргумент: ручная настройка размера стека; кроме того, не подразумевается сильных расходов на стек по умолчанию (иначе зачем нам много файберов)
— В виндовс и позикс отказались от файберов
Контраргумент: само по себе это ничего не доказывает — отказаться могли по разным причинам.
я не пытался объяснить, объяснения можно найти по ссылкам
источник

DH

Dark Hole in dlang.ru
Egor Pugin
я не пытался объяснить, объяснения можно найти по ссылкам
А что ты пытался сделать?
источник

DH

Dark Hole in dlang.ru
Serg Gini
я для читаемости думал сделать через него
Не получится
источник

EP

Egor Pugin in dlang.ru
Dark Hole
А что ты пытался сделать?
с чатом ничего
источник

SG

Serg Gini in dlang.ru
https://www.hackerrank.com/contests/projecteuler/challenges/euler230/problem

https://godbolt.org/z/zE616z

Вдруг кто хочет попрактиковаться и сделать решение короче\круче\красивее? :)
При чем с long вместо BigInt последние тесты не проходят
источник

EP

Egor Pugin in dlang.ru
Serg Gini
https://www.hackerrank.com/contests/projecteuler/challenges/euler230/problem

https://godbolt.org/z/zE616z

Вдруг кто хочет попрактиковаться и сделать решение короче\круче\красивее? :)
При чем с long вместо BigInt последние тесты не проходят
вторая ссылка не открывается
источник

SG

Serg Gini in dlang.ru
Egor Pugin
вторая ссылка не открывается
поменял на godbolt - почему-то run.dlang не сработал
источник

Е

Евгений in dlang.ru
Egor Pugin
при том, что выделять много - накладно, а выделять мало - может не хватить. Отличие от тредов в том, что мы их не создаём в таком количестве, как фиберы
А в чем накладность? Стек файберов выделяется в виртуальной памяти.
источник

Е

Евгений in dlang.ru
Тающий звук
В современном мире потоки должны их заменять. Лично я не знаю для чего мне эти файберы использовать
Потоки слишком тяжелые их не создашь тысячами или десятками тысяч.
источник

O

Oleg in dlang.ru
Serg Gini
https://www.hackerrank.com/contests/projecteuler/challenges/euler230/problem

https://godbolt.org/z/zE616z

Вдруг кто хочет попрактиковаться и сделать решение короче\круче\красивее? :)
При чем с long вместо BigInt последние тесты не проходят
зачем там long или bigint? там же просто конкатенация строк и обращение по индексу
источник

O

Oleg in dlang.ru
и при том там еще некий шаблон из 1ого и 2ого числа (и только) получается.. т.е. если в эту сторону покопать, то может еще чтото проще выйдет
источник

O

Oleg in dlang.ru
ой.. не чисел, а строк же
источник

O

Oleg in dlang.ru
n <= 2^100.. ну да, копать в сторону шаблона (не template)
источник

EP

Egor Pugin in dlang.ru
Евгений
А в чем накладность? Стек файберов выделяется в виртуальной памяти.
стек тредов выделяется там же
источник

Е

Евгений in dlang.ru
Egor Pugin
стек тредов выделяется там же
Ага. Только вот работа с тредами требует сисколов (обращений к ядру ОС), а файберы - это чисто внутренности самого приложения.
Ты пробовал создать 100 тысяч тредов?
источник

EP

Egor Pugin in dlang.ru
нет, а ты пробовал создать 100 тысяч фиберов?
источник

Е

Евгений in dlang.ru
Egor Pugin
нет, а ты пробовал создать 100 тысяч фиберов?
Я и больше пробовал.
источник

EP

Egor Pugin in dlang.ru
виндовых не создать столько со стеком по умолчанию
источник

Е

Евгений in dlang.ru
Egor Pugin
виндовых не создать столько со стеком по умолчанию
Я дишных пробовал
источник

EP

Egor Pugin in dlang.ru
а в дишных с умолчанием можно заскочить за стек фибера можно быстро
источник