|
Труд вопреки насмешкам
|
|
.NET 8 BigList<T> и BigBitList достигли альфы, что дальше?14.01.2025, 00:38. Показов 4984. Ответов 31
Метки нет (Все метки)
Этой ночью, 13 января 2025 в 23:15, родилась моя мечта, вынашиваемая ЧЕТЫРЕ С ПОЛОВИНОЙ ГОДА!!! 19 июня 2020 в 18:17 была первый раз создана библиотека
BigCollections, на тот момент в составе проекта BorNet, который, вероятно, очень не скоро будет реализован, если вообще когда-либо. В ходе работы над библиотекой она сначала стала самостоятельным проектом, а затем несколько раз переименовывалась, практически потеряв связь со своими "корнями": OptimizedLinq, RedStarLinq, Corlib .NStar (с пробелом), и наконец, Corlib.NStar (без пробела). Библиотека обрастала новыми и новыми классами и методами, но именно большие коллекции все это время не удавалось довести хотя бы до альфы. Этой ночью же мне это удалось (см. также здесь и здесь). Большой список бит успешно прошел проверку на случайное копирование, на все типы конструирования, до которых я смог догадаться, и на число элементов больше int.MaxValue (и даже больше uint.MaxValue). Можете меня поздравить.Это все же профильная тема, а не треп, поэтому возникает вопрос: что делать с этими большими списками дальше? Как довести их до беты? Как увеличить их производительность, учитывая, что создание 1000 списков по 4000 элементов занимает на высокопроизводительном ядре Intel Core i9 (4.9 ГГц) почти три минуты? Как сделать, чтобы вероятность использования этих коллекций кем-либо из "мимокрокодилов" не стремилась к нулю? Возможно, этим коллекциям нужно такое же богатство методов, как основному BaseList<T, TCertain> в Corlib.NStar, или свой набор экстентов? Прошу ответить серьезно.
0
|
|
| 14.01.2025, 00:38 | |
|
Ответы с готовыми решениями:
31
Как работает BigList из Wintellect.PowerCollections? Выделение альфы из ARGB Изменение Альфы материалов в Объекте |
| 14.01.2025, 22:00 [ТС] | |
|
0
|
|
| 15.01.2025, 09:17 | |
|
0
|
|
| 15.01.2025, 09:22 | |
|
Не по теме: Наберитесь терпения. Страница генерируется шаблонизатором red star soft.
0
|
|
|
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,775
|
|
| 15.01.2025, 09:54 | |
|
А какие практические задачи это решает?
Просто каждый раз, когда я сталкивался с требованием максимально упоротой оптимизации и необходимостью держать сотни гигабайт информации в памяти, на выходе получались очень узкоспециализированные решения/алгоритмы, заточенные под конкретные данные и условия задачи. И всевозможные стандартные обвязки сразу же отпадали, т.е. хранить коллекцию объектов в виде списка/массива ссылок - так себе вариант, т.к. каждый указатель это минимум 4 байта, а 4 байта помноженные хотя бы на на 2млрд элементов - это уже перерасход 8ГБ памяти чисто под ссылки. И даже обычный шарповский массив тоже оказывался не очень хорош, т.к. он, как минимум, умеет 'IndexOutOfRangeException', а значит при каждом обращении по индексу тратит время на соответствующую проверку, а потому какая-нибудь самописная unsafe-реализация поверх куска/кусков памяти, получается быстрее как минимум из-за отсутствия этой самой проверки.
1
|
|
|
Труд вопреки насмешкам
|
||
| 16.01.2025, 00:16 [ТС] | ||
|
0
|
||
| 16.01.2025, 05:08 | |
|
0
|
|
|
Труд вопреки насмешкам
|
|
| 16.01.2025, 12:13 [ТС] | |
|
Обновил библиотеку, теперь "пустой" метод группировки (без параметров, если вызывать как экстент) запрещен, взамен я покрыл unit-тестами методы FrequencyTable(), которые именно что считают количество совпадений, кроме того, убрал конструктор списка бит из нетипизированного IEnumerable и подписал все ArgumentException, так лучше?
0
|
|
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|||
| 17.01.2025, 08:52 | |||
|
Etyuhibosecyu, мне кажется у вас стратегическая ошибка - делиться с другими вашей работой. Вот я этого делать не люблю, пишу чисто для себя для удовольствия и не приходится никому ничего доказывать (иногда приходится слать подальше, так как все уверены что если у тебя нет github то и говорить с тобой не о чем ))))))
1
|
|||
|
14751 / 9526 / 1364
Регистрация: 21.01.2016
Сообщений: 35,945
|
|
| 17.01.2025, 09:37 | |
|
0
|
|
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
||
| 17.01.2025, 15:38 | ||
|
0
|
||
| 17.01.2025, 19:08 | |||||||
0
|
|||||||
| 17.01.2025, 19:08 | |
|
Что значит public string T и все что дальше в приведенном коде? DriverPack Solution пишет, что CPU перегрет. Что дальше ? Как сделать итерацию что бы она проваливалась дальше и выводила то что мне нужно? Необходимо найти три альфы в треугольнике Не могу понять что дальше делать с кодомю. Мне нужно что бы повторяющиеся числа в массиве удалялись Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|