170 похожих чатов

Я проводил разные тесты с копированием массивов, и оказалось что

Span быстрее всех прочих, иногда даже в несколько раз.
Вопрос: Почему Span такой быстрый, в чём магия?

18 ответов

19 просмотров

Если рассказать как работает магия, она перестанет работать и Span превратится в тыкву

Магии нет, тестирую ещё раз

-ˋˏ ASi ˎˊ- - Автор вопроса
Ilya Chernoudov
Магии нет, тестирую ещё раз

Ну например Buffer.Copy медленее чем Span.CopyTo почти в 2 раза - проверял несколько раз

-ˋˏ ASi ˎˊ- 
Ну например Buffer.Copy медленее чем Span.CopyTo п...

Ты ведь на одной версии сравнивал? Как время засекал?

-ˋˏ ASi ˎˊ- 
Ну например Buffer.Copy медленее чем Span.CopyTo п...

Но вообще, конечно, давай код экспериментов, и вместе посмотрим. Не должно быть такой большой разницы.

-ˋˏ ASi ˎˊ- - Автор вопроса
-ˋˏ ASi ˎˊ- 
Ну например Buffer.Copy медленее чем Span.CopyTo п...

Мне просто надо было скопировать кусок из массива в другой массив, src.AsSpan().Slice(start, count).CopyTo(dist); Выполнился за 5нс, остальные методы которые я тестировал за минимум 10ns

-ˋˏ ASi ˎˊ- 
Мне просто надо было скопировать кусок из массива ...

На нс не стоит ничего тестировать :) Доведи время до мс хотя бы

-ˋˏ ASi ˎˊ- - Автор вопроса
Nick M.
На нс не стоит ничего тестировать :) Доведи время ...

Как я его тебе доведу?) массивами на 1гб?)

-ˋˏ ASi ˎˊ- 
Как я его тебе доведу?) массивами на 1гб?)

бенчмарк напиши с массивами по 100к элементов

-ˋˏ ASi ˎˊ- 
screenshot что то вроде этого

мне кажется что-то в строке span.ToArray() может замедлять код

-ˋˏ ASi ˎˊ- - Автор вопроса
semptra
мне кажется что-то в строке span.ToArray() может з...

а, ну тогда на стеке залочить не получится

EgorBo
да ну, бред

Ну ты хейтер конечно. Наверняка даже не знаешь как рантайм и жит работает!

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Заметил в ghci 9.4.8: > :t (<*>) @((->)_) (<*>) @((->)_) :: (w -> (a -> b)) -> (w -> a) -> w -> b Разве не должно (w -> (a -> b)) быть записано как (w -> a -> b)? Это баг, ил...
Михаил
13
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Any electron dev here?
Sayanth Tezro
12
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет. Я верно понимаю, что в определении класса Монад m — зафиксирован (к тому же поскольку это моноид в категории эндофункторов). Т.е. используя байнд я не могу перемещать...
Arseny
5
Карта сайта