Size: a a a

2021 January 25

VS

Vasily Shapenko in pro.net
Объекты пусть как лежали, так и лежат
источник

G

George in pro.net
И доступ можно через один массив индексов к нескольким коллекциям. Да, так и сделаю пожалуй
источник

VS

Vasily Shapenko in pro.net
Ну да
источник

VS

Vasily Shapenko in pro.net
У меня в проекте есть похожая задача
источник

VS

Vasily Shapenko in pro.net
Мы там сортируем массив индексов
источник

G

George in pro.net
Короче points = Enumerable.Range().Select(i=>random.Next(len).Orederby(i=>i).ToArray();

points.Zip(points.Skip(1))).OrderBy(i=>random.Next()).SelectMany(i=>Enumerable.Range(i.Item1, i.Item2-i.Item1)
источник

IC

Ilya Chernoudov in pro.net
George
Извини, но просто перебрать все коллекции из bcl это не решение
источник

IC

Ilya Chernoudov in pro.net
хз что не так
источник

IC

Ilya Chernoudov in pro.net
сложность конечно будет действительно O(N) где N - количество сегментов, зато всё из бцл
источник

IC

Ilya Chernoudov in pro.net
можно уменьшить сложность сделав индексирующий массив поверх memory segment
источник

IC

Ilya Chernoudov in pro.net
размером, скажем в 3 раза меньше ожидаемого количества сегментов
источник

I

IdiocyAcceptance in pro.net
George
Я думаю, можно обойтись просто массивом индексов. Это окупится, потому что доступов сильно больше
хз, посмотри всякие MarkTable в GC. Там похожее кодирование страниц делается. Либо Линукс покопай и кодирование страниц там. Если я правильно понял тебя
источник

G

George in pro.net
Спасибо за попытку, но это алгоритмически O(N), и в абсолютном времени очень медленно. Я сделаю просто ремаппинг каждого элемента по индексу
источник

IC

Ilya Chernoudov in pro.net
George
Спасибо за попытку, но это алгоритмически O(N), и в абсолютном времени очень медленно. Я сделаю просто ремаппинг каждого элемента по индексу
ты можешь уменьшить вплоть до o(1)
источник

IC

Ilya Chernoudov in pro.net
на счёт ремапа я не совсем понял технологию
источник

G

George in pro.net
Ilya Chernoudov
ты можешь уменьшить вплоть до o(1)
f(i) = original[remapping[i]];
источник

IC

Ilya Chernoudov in pro.net
George
f(i) = original[remapping[i]];
у тебя тогда какого размера будет remapping?
источник

G

George in pro.net
такого же как оригинал, естественно
источник

IC

Ilya Chernoudov in pro.net
George
такого же как оригинал, естественно
в чём профит тогда? почему просто не скопировать?
источник

G

George in pro.net
но там доступ сильно перевешивает, и это будет реюзаться между 100 коллекциями
источник