Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
364 / 182 / 41
Регистрация: 13.07.2017
Сообщений: 4,852
Записей в блоге: 14
.NET 8

BigList<T> и BigBitList достигли альфы, что дальше?

14.01.2025, 00:38. Показов 5005. Ответов 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
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.01.2025, 00:38
Ответы с готовыми решениями:

Как работает BigList из Wintellect.PowerCollections?
Здравствуйте, не расскажите как работает BigList из Wintellect.PowerCollections? Заранее спасибо!

Выделение альфы из ARGB
for (int wg = 0; wg &lt; shpW ; wg++) { for (int hg = 0; hg &lt; shpH ; hg++) { if (((arrShp &gt;&gt; 24) &gt; 200)) if...

Изменение Альфы материалов в Объекте
Существует префаб с несколькими материалами. Не могу понять как управлять прозрачностью последующего материала после первого в списке.

31
14.01.2025, 22:00  [ТС]
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от John Prick Посмотреть сообщение
Сайт у ТС, кстати, не открывается
А теперь?

0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
14.01.2025, 22:07
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Класс еще очень сырой, кое-как работает только получение диапазона, добавление и удаление.
Да это как раз пережить ещё можно. А вот MpzT 100% нужно выкинуть няфиг.

Цитата Сообщение от John Prick Посмотреть сообщение
Сайт у ТС, кстати, не открывается
гитхаб? вроде живой, а чего не скажешь про провайдеров.
0
15.01.2025, 09:17

Не по теме:

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
А теперь?
:pardon:
Can't establish a connection with site.
The webpage at https://red-star-soft.com/ might be temporarily down or it may have moved to a new web address.

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
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
364 / 182 / 41
Регистрация: 13.07.2017
Сообщений: 4,852
Записей в блоге: 14
16.01.2025, 00:16  [ТС]
Цитата Сообщение от John Prick Посмотреть сообщение
The webpage at https://red-star-soft.com/ might be temporarily down or it may have moved to a new web address.
Вообще-то пока что сайт на временном домене https://red-star-soft-temp.site . У основного проблемы с хостинг-провайдером.
0
16.01.2025, 05:08

Не по теме:

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
У основного проблемы с хостинг-провайдером.
Опять проблемы к тебе липнут как мокрый снег... Куда ни плюнь, везде у тебя проблемы...

0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
364 / 182 / 41
Регистрация: 13.07.2017
Сообщений: 4,852
Записей в блоге: 14
16.01.2025, 12:13  [ТС]
Обновил библиотеку, теперь "пустой" метод группировки (без параметров, если вызывать как экстент) запрещен, взамен я покрыл unit-тестами методы FrequencyTable(), которые именно что считают количество совпадений, кроме того, убрал конструктор списка бит из нетипизированного IEnumerable и подписал все ArgumentException, так лучше?
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
17.01.2025, 08:52
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
чего не знает программист, работающий с алгоритмами 16 лет, а с Шарпом более 6 лет?
ну я с алгоритмами работаю 36 лет, а с C# лет 10, но это абсолютно никак не повлияло ни на качество моего кода ни на мои знания по алгоритмам и C#, так что года - это про старость, а не про квалификацию.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
у меня нет опыта работы со связными списками, я не знаю их терминологию
рукалицо, первый курс первого семестра непрофильного вуза, списки, очереди, мимо этого в принципе невозможно пройти.

Etyuhibosecyu, мне кажется у вас стратегическая ошибка - делиться с другими вашей работой. Вот я этого делать не люблю, пишу чисто для себя для удовольствия и не приходится никому ничего доказывать (иногда приходится слать подальше, так как все уверены что если у тебя нет github то и говорить с тобой не о чем ))))))
1
Эксперт .NET
 Аватар для Usaga
14790 / 9564 / 1367
Регистрация: 21.01.2016
Сообщений: 36,060
17.01.2025, 09:37
Цитата Сообщение от belalugoci Посмотреть сообщение
что если у тебя нет github то и говорить с тобой не о чем
Мне кажется, что это результат недопонимания какого-то.
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
17.01.2025, 15:38
Цитата Сообщение от belalugoci Посмотреть сообщение
мне кажется у вас стратегическая ошибка - делиться с другими вашей работой
Он делится только для того чтобы собрать денюшку, Об этом на его сайте прямым текстом написано, Если проект хороший достаточно на гитхабе спонсорку активировать и не нужно разводить холиваров на несколько страниц, тем более с таким кодом.
0
17.01.2025, 19:08
 Комментарий администратора 
Оффтоп про Git вынесен в отдельную тему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.01.2025, 19:08

Что значит public string T и все что дальше в приведенном коде?
class String { private string A; public String() { } public string T { ...

DriverPack Solution пишет, что CPU перегрет. Что дальше ?
Windows 7 SP1 64-bit

Как сделать итерацию что бы она проваливалась дальше и выводила то что мне нужно?
import requests from bs4 import BeautifulSoup import urllib.request import csv import re import textwrap import...

Необходимо найти три альфы в треугольнике
Дано: - Массив точек в 2D пространстве, разделённый на треугольники через триангуляцию. - Точка-персонаж, которая хаотично перемещается...

Не могу понять что дальше делать с кодомю. Мне нужно что бы повторяющиеся числа в массиве удалялись
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Опции темы

Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru