Vasily
только вы еще расскажите как она считается по умолчанию
Сколько во врайтер записал, столько и будет
Nikolay
Зачем так сложно?
Это что первое в голову пришло
Nikolay
Хочется услышать, как лучше сделать
Anatoly
Хочется услышать, как лучше сделать
Взять в руки network stream или pipelines
Bonart
Там нет слайса
Вопрос не в слайсе. Вопрос в том, для чего обертку можно сделать. Для ref структур пока нельзя
Bonart
Для остального можно
Bonart
Если генерики начнут поддерживать реф-структуры, то можно будет и для них все сделать
Anatoly
Вопрос не в слайсе. Вопрос в том, для чего обертку можно сделать. Для ref структур пока нельзя
Вопрос именно в слайсе. Как ты генерикам скажешь, что у всех есть Slice, чтобы оно собралось?
Vladimir
``` let inline stackalloc<'a when 'a: unmanaged> size = let p = NativePtr.stackalloc<'a> size |> NativePtr.toVoidPtr Span<'a>(p, size) ```
да, только тут во-первых надо иф по сайзу сделать чтобы за размер стека не вылезти, во-вторых спаны не дружат со стримами =(
Nikolay
Взять в руки network stream или pipelines
Ну вот пытаюсь на пайплайнах сделать
Anatoly
Ну вот пытаюсь на пайплайнах сделать
В коде вижу чистые сокеты
Vladimir
Мемори не сильно медленнее, если что
с мемори тоже стримы не дружат)
Bonart
Вопрос именно в слайсе. Как ты генерикам скажешь, что у всех есть Slice, чтобы оно собралось?
Точно так же как и для индексируемых коллекций сказал, что у них есть доступ по индексу и число элементов. Интерфейс + адаптеры в виде структур-оберток
Anatoly
Точно так же как и для индексируемых коллекций сказал, что у них есть доступ по индексу и число элементов. Интерфейс + адаптеры в виде структур-оберток
Как сказал? Я правда не вижу способа, кроме завоза плюсовых темплейтов. Все эти интерфейсы - там перф в окно выходит сразу
Nikolay
В коде вижу чистые сокеты
Вот чтение на пайплайнах
Nikolay
Тут ок?
Anatoly
Вот чтение на пайплайнах
Чтение все ещё из сокета
Nikolay
Чтение все ещё из сокета
Это из примера мс взято 🤔
Nikolay
Сам сокет типа Stream
Anatoly
Сам сокет типа Stream
Pipeline.Sockets.Unofficial пакет
Bonart
Как сказал? Я правда не вижу способа, кроме завоза плюсовых темплейтов. Все эти интерфейсы - там перф в окно выходит сразу
https://github.com/Kirill-Maurin/Sample.Struct/blob/master/Sample.Struct/Equatables/Equatable.cs Вот, посмотри, этот метод сравнивает поэлементно две любые индексированные коллекции. При этом от лобового вариант отличается на 1-2 команды ассемблера
Bonart
https://github.com/Kirill-Maurin/Sample.Struct/blob/master/Sample.Struct.Benchmarks/ArrayEqualBenchmarks.cs - бенчи есть, можешь сам погонять и увидишь
Bonart
И надеяться, что джит нормально отработает?
Он таки нормально отрабатывает, я проверял же :)
Anatoly
И как заставить спан реализовывать IIndexable?
Vladimir
Тут ок?
может тут посмотреть https://github.com/fsharplang-ru/pulsar-client-dotnet/blob/develop/src/Pulsar.Client/Internal/ClientCnx.fs#L353-L387
Vladimir
это на Pipeline.Sockets.Unofficial
Anatoly
Ага, налепить обертку для спана
Anatoly
Ок, идея рабочая, но все равно костыль вместо шаблонов
Nikolay
Pipeline.Sockets.Unofficial пакет
А чем сокет плох?
Anatoly
А чем сокет плох?
Ничем. Просто давно есть апи удобнее, особенно если не умеешь
Anatoly
Можно пройти в исходники указанных апи и научиться работать с сокетами
Vasily
Был документ
Vasily
Где пайплайны норм описаны
Romɑn
Часто дотнет рестор не видит новые вресии пакетов, которые райдер видит. ВТФ?
Vasiliy
https://dtf.ru/life/73426-igromir-2019-eti-krovavye-denki-genialnogo-kiberpanka
Vasiliy
Там про киберпанк есть абзац. Что то стремно за игру
Vasily
Поглядим
Shub
Любая динамика сливает статике по производительности при всех прочих равных.
и тут ты такой раз! и объяснил, почему в бенчмарках динамический CL показывает одинаковую производительность со статическим OCaml https://benchmarksgame-team.pages.debian.net/benchmarksgame/download/fastest.svg
Крылатый
Оффтопчика вам https://yandex.ru/turbo?text=https%3A%2F%2Fdtf.ru%2Fgames%2F72671-prey-s-filosofskoy-tochki-zreniya-kak-igra-reshila-mnogovekovuyu-problemu-morali&promo=navbar&utm_referrer=https%3A%2F%2Fzen.yandex.com
Shub
или почему внезапно JS показывает такие же бенчмарки (и иногда даже лучше), как haskell - https://benchmarksgame-team.pages.debian.net/benchmarksgame/download/fastest-more.svg
Doge
или почему внезапно JS показывает такие же бенчмарки (и иногда даже лучше), как haskell - https://benchmarksgame-team.pages.debian.net/benchmarksgame/download/fastest-more.svg
Ну в данных случаях потому что компилятор CL и jit v8 скорее всего восстанавливают типы, там где это возможно. А в подобных задачах на тупую математику это возможно практически везде.
Doge
И если эти задачи решать так, что эти компиляторы не смогут восстановить типы, то просадки по перформансу там будут жесткие
Igor
какая-то муйня это а не тесты
Igor
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/fsharpcore-csharpcore.html
Shub
или у вас разная типизация для разных типов?
Ayrat
Поэтому ты хоть обресторься, а получишь хер вместо нового пакета
Ayrat
Надо ноу кеш юзать, да
Ilya
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/fsharpcore-csharpcore.html
Потому что внезапно важнее алгоритмы, а не язык.
Doge
но... но ведь динамика ВСЕГДА медленнее статики!! ну или так мне вчера сказали
Я просто не уверен, что программы на динамике, которые написаны в процедурном стиле да так, что компилятор может угадать все типы, можно честно считать каким-то разумным примером в данном споре. Потому что в реальности на динамике программы обычно пишут по другому. Т.е. я точно так же могу на каком-нибудь руби генерить и компилить llvm, а потом говорить, что моя программа на руби делает си по перформансу.
Romɑn
Надо ноу кеш юзать, да
да, даже обсуждали это с тобой, снькс
Vladislav
https://dtf.ru/games/73478-red-dead-redemption-2-vyydet-na-pk-5-noyabrya
Vladislav
приставки то да
Vasiliy
https://dtf.ru/games/73478-red-dead-redemption-2-vyydet-na-pk-5-noyabrya
Крылатый
https://dtf.ru/games/73478-red-dead-redemption-2-vyydet-na-pk-5-noyabrya
Roman
давайте еще пару раз
Roman
пожалуйста еще, мне нужно больше
Ilya
Red Dead Redemption 2 выходит на ПК 5 ноября Спасибо за бетатест, консолехолопы Правда, есть один нюанс: 5 ноября выйдет в Epic Games Store и Humble Store, а в Steam только в декабре, точная дата неизвестна. У Говенкина в этот раз хватило денег только на месяц "эксклюзивности"
Vasiliy
чорт, 😅 я не заметил.
Vasiliy
RDR2 выйдет на ПК 5 ноября. Сначала купить её можно будет только в Rockstar Games launcher. В Steam игрушка появится в декабре
Vasiliy
можно куить в еще одном магазине
Vasily
Уже прошел
Vasily
второй раз не осилю
Vasily
Хотя хз
Vasiliy
Кстати, а играет кто в Дестени 2 на ПК?
Doge
проход "в реальность" со второй реплики. очень хороший способ ведения полемики
Ну я виноват, что программы на динамике в таком стиле обычно не пишут?
Doge
Вон, возьми для примера среднюю жс или кложур либу.