|
Труд вопреки насмешкам
|
|
Corlib .NStar (Pre-Pre-Alpha) 0.05. Теперь отдельно от нелюбимого многими языка!15.11.2022, 02:13. Показов 11972. Ответов 194
Метки нет (Все метки)
Помню, кто-то писал о функциях C# .NStar примерно следующее (неточная цитата): "все это или уже есть в языке, просто вы не в курсе, или лечится подключением библиотеки или банальным написанием функции". Тогда я отреагировал на это высказывание отрицательно, но теперь подумал и решил, что новичкам, может быть, и пригодится язык с богатым фреймворком и низким порогом вхождения, но новички - очень ограниченный круг охвата, а большинству людей трудно переучиваться, поэтому неплохо было бы подключить библиотеку и не изучать новый язык. Так появился проект Corlib .NStar - новая библиотека, объединяющая BigCollections и стандартную библиотеку C# .NStar. Ее можно подключить практически к любому не эзотерическому/игрушечному языку и не слишком упрощенному конструктору, вот только желательно было бы протестировать на предмет доступности функций в неуправляемых языках - есть подозрение, что они "прячутся", хотя я навесил на них DllExport. Изменений много, подробнее читайте на нашей новой странице GitHub. Некоторые изменения из стандартной библиотеки C# .NStar в разработке, например, замена. А некоторые вряд ли когда-то будут доступны вне C# .NStar по объективным причинам, как, например, escape-последовательности \! и \q. Так что библиотека явно менее функциональна, чем полноценный язык. Но не намного. Тестируйте, дорогу осиливает идущий!
0
|
|
| 15.11.2022, 02:13 | |
|
Ответы с готовыми решениями:
194
Вставка тега <pre></pre> в файлы директории Pre-alpha Season Unreal Tournament |
|
Труд вопреки насмешкам
|
|||
| 19.11.2022, 15:22 [ТС] | |||
|
И вот еще один результат оптимизации: я провел стресс-тест G.HashSet<T> и свежего ParallelHashSet<T> на 50М элементов типа ulong, среди которых порядка 65к уникальных (скорее всего, не ровно 65536), и вот результаты: G.HashSet<T> - 13813 мс, ParallelHashSet<T> - 6911 мс. Кто-то еще будет заявлять, что
0
|
|||
|
Администратор
|
||
| 19.11.2022, 17:47 | ||
|
Etyuhibosecyu, вы забываете что важен баланс скорости и памяти. Особенно в рамках .NET где нужно учитывать затраты на сборку мусора. Поэтому если библиотечное решение потребляет 768 байтов, а ваше 3 Гб и при этом работает медленнее, то оно никуда не годится. Тоже самое для случая когда код работает в два раза быстрее, но тратит на 5 порядков больше памяти. Все это отложенная цена которая неизбежно ухудшит общую производительность. Да и в целом ваше утверждение что "любой быстрый алгоритм потребляет много памяти" вызывает сомнение. Достаточно посмотреть на список алгоритмов сортировки. Там видно что алгоритмы с одинаковой временной сложностью имеют разную сложность по памяти.
1
|
||
|
Труд вопреки насмешкам
|
||
| 19.11.2022, 17:56 [ТС] | ||
|
0
|
||
|
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
|||
| 20.11.2022, 06:15 | |||
|
0
|
|||
|
59 / 71 / 2
Регистрация: 04.12.2014
Сообщений: 176
|
||
| 20.11.2022, 16:41 | ||
|
чем больше памяти мы жрем, тем чаще и активнее ее нужно высвобождать. что ее высвобождает в .net? очевидно, что GC. а теперь представим, как ваш код будет работать в условиях виртуальной машины, на хосте которой крутится еще пара десятков приложений. а если учесть, что ты еще там что-то на с++ наговнокодил с прямым доступом в память - это все еще будет течь по памяти как не в себя. тут кто-то скрин привел, где твой алгоритм жрет 3ГБ (!!!) памяти, это вообще смертельная шняга. представь себе какое-нибудь типовое решение для маркетплейса, где нужно отфильтровать несколько десятков тысяч товаров в несколько сотен потоков. никакой памяти не хватит на твою так называемую оптимизацию.
0
|
||
|
фрилансер
6499 / 5730 / 1133
Регистрация: 11.10.2019
Сообщений: 15,318
|
|
| 20.11.2022, 17:06 | |
|
Etyuhibosecyu, сортировка обычно не требует дополнительной памяти, делается по месту - перестановками (в C++ - перемещениями)
0
|
|
|
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
||
| 21.11.2022, 09:28 | ||
OutOfMemoryException при на порядки меньшем количестве потоков, чем могло бы.Но что тут поделаешь, кругозор ТСа ограничен его маленькой песочницей на полудохлом компе, где он героически воюет с проблемами, которые сам же и придумывает...
1
|
||
|
59 / 71 / 2
Регистрация: 04.12.2014
Сообщений: 176
|
||
| 21.11.2022, 11:16 | ||
|
мало того, это может делать даже не юзер, а какая-нибудь джоба по расписанию). короче, жду когда тс начнет явно дергать сборщик мусора.
0
|
||
|
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
|
| 23.11.2022, 08:03 | |
|
А что там с Lineedge? Её собою затмил новый NIH в лице недооптимизированного LINQ?
0
|
|
|
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
|
|
| 23.11.2022, 11:01 | |
|
Etyuhibosecyu, а с поиском работы как дела?
0
|
|
| 23.11.2022, 15:50 | |
|
Вставлю свои 5 копеек.
Темы Etyuhibosecyu всегда читаются на одном дыхании - не в последнюю очередь благодаря комментаторам. В его профиле описана конфигурация компьютера, мне бросились в глаза 2 строчки: "8 ГБ ОЗУ (+28 ГБ подкачки)" и "Windows 10 Pro (KMSAutoNet)". Тут два варианта - либо непризнанный гений, либо...пусть дальше пишет. Интересная же переписка. А вообще плохо, что забрасывает свои проекты. Лучший способ доказать свою правоту это дойти до конца. А если сходишь с середины дистанции, то вне зависимости от причины (разве что совсем объективной) ты проиграл.
0
|
|
|
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
|
| 23.11.2022, 15:57 | |
|
Так ему никто и не запрещает писать. Пускай пишет. Толку с этого, конечно, нуль. Но ему нравится, он себя мнит Программистом. И ладно)
0
|
|
|
Труд вопреки насмешкам
|
||||
| 23.11.2022, 16:02 [ТС] | ||||
|
0
|
||||
|
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
|||
| 23.11.2022, 16:30 | |||
|
0
|
|||
|
Труд вопреки насмешкам
|
|
| 23.11.2022, 16:36 [ТС] | |
|
0
|
|
|
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
|
||
| 23.11.2022, 16:44 | ||
|
1
|
||
|
Труд вопреки насмешкам
|
|
| 23.11.2022, 16:50 [ТС] | |
|
0
|
|
|
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
||||
| 23.11.2022, 16:55 | ||||
|
0
|
||||
| 23.11.2022, 16:55 | |
|
Hash Function Efficiency v0.1 pre-Alpha (May 11th, 2017)
Тэг PRE
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|