Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.81/43: Рейтинг темы: голосов - 43, средняя оценка - 4.81
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,845
Записей в блоге: 14

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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.11.2022, 02:13
Ответы с готовыми решениями:

Как вытащить все данные между тегами <pre></pre>
Добрый вечер! Ребята, как получить текст с страницы? Сама страница: &lt;html&gt;&lt;head&gt;&lt;link rel=&quot;stylesheet&quot;...

Вставка тега <pre></pre> в файлы директории
Здравствуйте, форумчане! Не подскажете как можно средствами php вставить тег &lt;pre&gt;&lt;/pre&gt; во все текстовые файлы в директории...

Pre-alpha Season Unreal Tournament
Качаю последнюю версию, которая уже в разработке, потому что 3 для меня не актуальна - накувыркался с ботами с тройки достаточно, в онлайне...

194
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,845
Записей в блоге: 14
19.11.2022, 15:22  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от OwenGlendower Посмотреть сообщение
не только время исполнения, но и количество используемой памяти. А то 3 Гб или 80 Мб на операции где стандартный код тратит меньше 1 Кб это перебор.
Неужели еще не всем, за исключением разве что абсолютных новичков, известно, что любой быстрый алгоритм потребляет много памяти? Например, написанная мной сортировка (NSort()) работает в десятки раз быстрее Enumerable.OrderBy(), но потребляемая массивом память в процессе ее работы утраивается.
И вот еще один результат оптимизации: я провел стресс-тест G.HashSet<T> и свежего ParallelHashSet<T> на 50М элементов типа ulong, среди которых порядка 65к уникальных (скорее всего, не ровно 65536), и вот результаты: G.HashSet<T> - 13813 мс, ParallelHashSet<T> - 6911 мс. Кто-то еще будет заявлять, что
Цитата Сообщение от Usaga Посмотреть сообщение
Оставьте оптимизацию LINQ майкрософту. У них двадцать лет подряд это лучше получалось.
? Ну, где там двадцать лет подряд лучше получалось? А факты утверждают обратное...
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18359 / 14289 / 5370
Регистрация: 17.03.2014
Сообщений: 28,968
Записей в блоге: 1
19.11.2022, 17:47
Etyuhibosecyu, вы забываете что важен баланс скорости и памяти. Особенно в рамках .NET где нужно учитывать затраты на сборку мусора. Поэтому если библиотечное решение потребляет 768 байтов, а ваше 3 Гб и при этом работает медленнее, то оно никуда не годится. Тоже самое для случая когда код работает в два раза быстрее, но тратит на 5 порядков больше памяти. Все это отложенная цена которая неизбежно ухудшит общую производительность. Да и в целом ваше утверждение что "любой быстрый алгоритм потребляет много памяти" вызывает сомнение. Достаточно посмотреть на список алгоритмов сортировки. Там видно что алгоритмы с одинаковой временной сложностью имеют разную сложность по памяти.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
А факты утверждают обратное...
Вы занимаетесь подгонкой фактов выбирая удобные для себя сценарии.
1
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,845
Записей в блоге: 14
19.11.2022, 17:56  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Вы занимаетесь подгонкой фактов выбирая удобные для себя сценарии.
Ну разумеется, если выбрать какой-то исключительный сценарий, то можно достичь обратных результатов, но мои сценарии как раз плюс-минус средние (конкретно в последнем случае). Если уникальных элементов два-три, то сравнение нерепрезентативно, и если уникальные почти все, то это тоже вырожденный случай. А 65к против 50М - я считаю, близко к среднему.
0
Модератор
Эксперт Java
 Аватар для alecss131
2895 / 1401 / 412
Регистрация: 11.08.2017
Сообщений: 4,488
Записей в блоге: 2
19.11.2022, 21:04
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
известно, что любой быстрый алгоритм потребляет много памяти?
Первый раз такое слышу. И это выходит оправдание выделения в плюсовом коде на каждый чих новой памяти?
0
Эксперт .NET
 Аватар для Usaga
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
20.11.2022, 06:15
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
? Ну, где там двадцать лет подряд лучше получалось? А факты утверждают обратное...
Где эти факты? Вы за факты свои бенчмарки выдать решили? Так мы же все до единого ваши бенчмарки разобрали уже и увидели, что они или медленнее или жрут память как не в себя.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
я провел стресс-тест G.HashSet<T> и свежего ParallelHashSet<T>
Это мы тоже разобрали, что это некорректный подход. После чего вы бомбанули какой-то ахинеей и с темы спрыгнули.
0
59 / 71 / 2
Регистрация: 04.12.2014
Сообщений: 176
20.11.2022, 16:41
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Неужели еще не всем, за исключением разве что абсолютных новичков, известно, что любой быстрый алгоритм потребляет много памяти? Например, написанная мной сортировка (NSort()) работает в десятки раз быстрее Enumerable.OrderBy(), но потребляемая массивом память в процессе ее работы утраивается.
полная чушь.
чем больше памяти мы жрем, тем чаще и активнее ее нужно высвобождать.
что ее высвобождает в .net?
очевидно, что GC.
а теперь представим, как ваш код будет работать в условиях виртуальной машины, на хосте которой крутится еще пара десятков приложений.
а если учесть, что ты еще там что-то на с++ наговнокодил с прямым доступом в память - это все еще будет течь по памяти как не в себя.
тут кто-то скрин привел, где твой алгоритм жрет 3ГБ (!!!) памяти, это вообще смертельная шняга.
представь себе какое-нибудь типовое решение для маркетплейса, где нужно отфильтровать несколько десятков тысяч товаров в несколько сотен потоков.
никакой памяти не хватит на твою так называемую оптимизацию.
0
фрилансер
 Аватар для Алексей1153
6499 / 5730 / 1133
Регистрация: 11.10.2019
Сообщений: 15,318
20.11.2022, 17:06
Etyuhibosecyu, сортировка обычно не требует дополнительной памяти, делается по месту - перестановками (в C++ - перемещениями)
0
Эксперт .NET
 Аватар для Usaga
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
21.11.2022, 09:28
Цитата Сообщение от Lethorn Посмотреть сообщение
чем больше памяти мы жрем, тем чаще и активнее ее нужно высвобождать.
Тут есть ещё момент в том, что ТС, судя по всему, слыхам не слыхивал о многопоточных приложениях, где могут обрабатываться запросы от разных пользователей. А такое выжирание памяти приведёт к дикой фрагментации памяти и быстрому наступлению OutOfMemoryException при на порядки меньшем количестве потоков, чем могло бы.

Но что тут поделаешь, кругозор ТСа ограничен его маленькой песочницей на полудохлом компе, где он героически воюет с проблемами, которые сам же и придумывает...
1
59 / 71 / 2
Регистрация: 04.12.2014
Сообщений: 176
21.11.2022, 11:16
Цитата Сообщение от Usaga Посмотреть сообщение
Тут есть ещё момент в том, что ТС, судя по всему, слыхам не слыхивал о многопоточных приложениях, где могут обрабатываться запросы от разных пользователей. А такое выжирание памяти приведёт к дикой фрагментации памяти и быстрому наступлению OutOfMemoryException при на порядки меньшем количестве потоков, чем могло бы.
Но что тут поделаешь, кругозор ТСа ограничен его маленькой песочницей на полудохлом компе, где он героически воюет с проблемами, которые сам же и придумывает...
дак мало того, даже один юзер может в несколько потоков что-то фильтровать/сортировать или банально получать из БД.
мало того, это может делать даже не юзер, а какая-нибудь джоба по расписанию).
короче, жду когда тс начнет явно дергать сборщик мусора.
0
Эксперт .NET
 Аватар для Usaga
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
4 / 10 / 0
Регистрация: 01.11.2022
Сообщений: 191
Записей в блоге: 156
23.11.2022, 15:50
Вставлю свои 5 копеек.

Темы Etyuhibosecyu всегда читаются на одном дыхании - не в последнюю очередь благодаря комментаторам. В его профиле описана конфигурация компьютера, мне бросились в глаза 2 строчки: "8 ГБ ОЗУ (+28 ГБ подкачки)" и "Windows 10 Pro (KMSAutoNet)". Тут два варианта - либо непризнанный гений, либо...пусть дальше пишет. Интересная же переписка.

А вообще плохо, что забрасывает свои проекты. Лучший способ доказать свою правоту это дойти до конца. А если сходишь с середины дистанции, то вне зависимости от причины (разве что совсем объективной) ты проиграл.
0
Эксперт .NET
 Аватар для Usaga
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
23.11.2022, 15:57
Так ему никто и не запрещает писать. Пускай пишет. Толку с этого, конечно, нуль. Но ему нравится, он себя мнит Программистом. И ладно)
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,845
Записей в блоге: 14
23.11.2022, 16:02  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
А что там с Lineedge?
Уже активно занимаюсь ею.
Цитата Сообщение от Reglage Посмотреть сообщение
мне бросились в глаза 2 строчки:
А что тут такого? Подкачка для Unreal Engine, а активатор, чтобы пользоваться самой популярной операционной системой для компьютеров в мире (Android не знаю, популярнее или нет, но для компьютеров точно альтернатив Windows 10 нет, Windows 11 кроме того, что мне недоступна, так пока что и малопопулярна).
Цитата Сообщение от Reglage Посмотреть сообщение
А вообще плохо, что забрасывает свои проекты. Лучший способ доказать свою правоту это дойти до конца.
С 31 декабря 2020 года, когда начал Lineedge, я еще ни один проект не забросил, кроме тех, в которых несколько строк.
0
Эксперт .NET
 Аватар для Usaga
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
23.11.2022, 16:30
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
А что тут такого?
Это значит, что машина не подходит для того, для чего она используется.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
а активатор, чтобы пользоваться самой популярной операционной системой для компьютеров в мире
А купить?
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,845
Записей в блоге: 14
23.11.2022, 16:36  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
А купить?
И смысл выбрасывать деньги, если можно пользоваться бесплатно?
0
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
23.11.2022, 16:44
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
С 31 декабря 2020 года, когда начал Lineedge, я еще ни один проект не забросил, кроме тех, в которых несколько строк.
А жаль. Лучше бы забросили и потратили время на поиск работы и получение реального опыта. Уже бы нормальным крепким джуном стали, за почти 2 года то.
1
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,698
Записей в блоге: 29
23.11.2022, 16:46
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
И смысл выбрасывать деньги, если можно пользоваться бесплатно?
также ты ответишь тем юзерам, что спиратят твои поделки, не заплатив тебе?
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,845
Записей в блоге: 14
23.11.2022, 16:50  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
также ты ответишь тем юзерам, что спиратят твои поделки, не заплатив тебе?
.NStar и все его языки и библиотеки бесплатны. А MMORPG спиратить нельзя.
0
Эксперт .NET
 Аватар для Usaga
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
23.11.2022, 16:55
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
И смысл выбрасывать деньги, если можно пользоваться бесплатно?
Ты и в магазине так делаешь? Смысл покупать, когда можно утащить с прилавка.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
А MMORPG спиратить нельзя.
Пиратские сервера WoW и Линейки обратное тому доказательство.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
.NStar и все его языки и библиотеки бесплатны.
И не нужны никому.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.11.2022, 16:55

Вывести ответ сервера в <pre></pre>
Добрый день! Подскажите, пожалуйста, как мне в примере ниже сделать так, чтобы значение data выводилось не с помощью alert, а выводилось в...

Hash Function Efficiency v0.1 pre-Alpha (May 11th, 2017)
Вот код, для наглядности (cyberforum.ru - не сохраняет оригинал кода! может не компилироваться) комментарии не удалял... #include...

перенос и <pre>
столкнулся с такой проблемой - если текст выводить с помощью &lt;pre&gt; то если например текст вводился через &lt;textarea&gt; без энтэров то...

Тэг PRE
Всем привет, есть довольно таки специфический вопрос, хоть я и знаю, что к тэгу pre мало какие стили можно применить, но все - таки может...

Отличие <pre> от <p>
Скажите, в чём отличие между этими тегами?


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

Или воспользуйтесь поиском по форуму:
140
Ответ Создать тему
Новые блоги и статьи
Калькулятор для расчета родства
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
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru