|
Труд вопреки насмешкам
|
|
Corlib .NStar (Pre-Pre-Alpha) 0.05. Теперь отдельно от нелюбимого многими языка!15.11.2022, 02:13. Показов 11969. Ответов 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 |
| 16.11.2022, 18:07 | ||||||
Прежде чем сравнивать операцию вычисления длины строки и количество элементов, я бы посмотрел во внутрь. Вероятно в первом варианте, имеем неявное преобразование строки в массив объектов. Для чистоты эффекта, все же стоит в первом случае передать готовый массив объектов, во втором выполнять вашу обертку, а не встроенный метод. Добавлено через 1 минуту Может вам тогда стоит пойти в разработчики шарпа - раз вы так легко уделываете разработчиков не один год занимающихся этим языком...
0
|
||||||
|
Труд вопреки насмешкам
|
||||
| 16.11.2022, 18:15 [ТС] | ||||
|
0
|
||||
|
14724 / 9493 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
||||||||
| 16.11.2022, 18:27 | ||||||||
|
Добавлено через 51 секунду IEnumerable к string. Очень мощно, ничего не скажешь.Добавлено через 1 минуту
0
|
||||||||
|
Труд вопреки насмешкам
|
|
| 16.11.2022, 18:31 [ТС] | |
|
0
|
|
|
14724 / 9493 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
|
| 16.11.2022, 18:32 | |
|
Etyuhibosecyu, отлично. Почистил) Один чёрт, не многова-то ли?))
0
|
|
|
Труд вопреки насмешкам
|
||
| 16.11.2022, 18:39 [ТС] | ||
|
Добавлено через 2 минуты Usaga, на код ParallelHashSet<T> еще не смотрели? Где там тормоза? (Про чистоту лучше даже не вспоминать.)
0
|
||
|
14724 / 9493 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
|||
| 16.11.2022, 18:49 | |||
|
Добавлено через 2 минуты Глянул ваш snippet на второй странице. Два замечания: 1) вы замеряете "холодный код" 2) вы не сравниваете конечный результат Это что сразу в глаза бросилось. Без детального разбора.
0
|
|||
|
Труд вопреки насмешкам
|
||||
| 16.11.2022, 18:54 [ТС] | ||||
|
0
|
||||
| 16.11.2022, 20:04 | ||
|
Потом позже я выполнил примерно такое же действие ради интереса. и справиться лучше чем это сделал компилятор у меня не получилось. И в других я зыках, что я встречал "встроенные" методы в подавляющем большинстве случаев работают быстрее. А тут вы хотите сказать, что смогли результаты команды профессиональных разработчиков улучшить с перевесом в 500 раз? И шарпом после этого еще кто то пользуется? Т.е. я не верю. Тут либо вы тест удобный подобрали, далекий от реальности. Либо вы сделали далекое не идентичный метод. Т.е. если его пропустить через тесты метода с которым вы соревнуетесь - наверняка он их провалит. В то же время многие встроенные методы можно обогнать - заточив его назначение под конкретную задачу. Вы уверены, что вы создали полный аналог? Уверены, например, что во втором случае не выполняется какая то внутренняя оптимизация, просто потому что условия теста удачно легли?
0
|
||
|
Труд вопреки насмешкам
|
||||||
| 16.11.2022, 23:59 [ТС] | ||||||
|
Запустил еще такой тест:
0
|
||||||
|
14724 / 9493 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
|
| 17.11.2022, 11:40 | |
|
Я даже собрать это дерьмо не могу, чтобы у себя проверить "тесты") Etyuhibosecyu, Вы мастер писать хлам.
0
|
|
|
Труд вопреки насмешкам
|
|
| 17.11.2022, 11:43 [ТС] | |
|
Usaga, Подключаемые usings в #34, если вы о тестах. И вы еще на ParallelHashSet<T> собирались посмотреть...
0
|
|
|
14724 / 9493 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
|
| 17.11.2022, 11:48 | |
|
Etyuhibosecyu, вы можете выложить архив рабочего проекта с этими двумя тестами. Чтобы оно собиралось и запускалось? У меня нет желания ковырять ваш чудо-код и заставлять его работать.
0
|
|
|
Труд вопреки насмешкам
|
|
| 17.11.2022, 11:52 [ТС] | |
|
Usaga, вот файл с тестами, просто раскомментируйте нужный и закомментируйте остальные.
0
|
|
|
14724 / 9493 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
|
| 17.11.2022, 12:02 | |
|
Etyuhibosecyu, вы не поняли. Проект нужен, а не файл отдельный. Скопировать snippet мне ума хватает)
0
|
|
|
Труд вопреки насмешкам
|
|
| 17.11.2022, 12:05 [ТС] | |
|
Usaga, а "Download ZIP" на GitHub не катит?
0
|
|
|
Администратор
|
|||||||||||
| 17.11.2022, 15:27 | |||||||||||
|
Etyuhibosecyu, решил замерить производительность двух таких методов
0
|
|||||||||||
|
Труд вопреки насмешкам
|
|
| 17.11.2022, 15:36 [ТС] | |
|
OwenGlendower, содержимое
_list - тайна?
0
|
|
|
Администратор
|
|||||||
| 17.11.2022, 15:37 | |||||||
0
|
|||||||
|
Труд вопреки насмешкам
|
|
| 17.11.2022, 15:47 [ТС] | |
|
OwenGlendower, тут фишка в том, что для System.Collections.Generic.List не определен метод AsSpan(), поэтому он сначала преобразуется в Corlib.NStar.List, а так как метод вызывается два раза, то и преобразуется два раза. При использовании нужного List проблем не возникает.
0
|
|
| 17.11.2022, 15:47 | |
|
Hash Function Efficiency v0.1 pre-Alpha (May 11th, 2017)
Тэг PRE
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мир по моей воле
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
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|