|
Труд вопреки насмешкам
|
||||||
.NET 8 Где в этом коде тормоза?05.07.2024, 00:11. Показов 3976. Ответов 47
Метки нет (Все метки)
Благодаря обдуманному ответу sau о логарифмах, тормозов в Лемпеле-Зиве стало значительно меньше. Но теперь на очереди этот код (старая ссылка), где нет логарифмов, а тормоза существенно серьёзнее. Причем в отличие от предыдущей темы, тут трудно даже выделить ключевую функцию. Разумеется, это не PrepareFields(), которая вызывается один раз, а вот Escape(), ProcessFrequency() и Increase() занимают время, пропорциональное их длине. Интересно, кто в этот раз решится помочь?
Еще раз замерил время выполнения этих трех функций, для контроля: Escape() - 19.4, ProcessFrequency() - 12.2, ProcessBuffers() - мизер, Increase() - 9.0, всего - 53.4. То есть явный "лидер" по тормозам отсутствует.
0
|
||||||
| 05.07.2024, 00:11 | |
|
Ответы с готовыми решениями:
47
Где в этом коде инкапсуляция, наследование и полиморфизм? Где в этом коде задается текст теста для вопросов и ответов |
|
Администратор
|
|
| 13.01.2025, 12:58 | |
|
Etyuhibosecyu, в проекте есть тест (или что-то аналогичное) который можно запустить чтобы увидеть медленный код в действии?
0
|
|
|
Труд вопреки насмешкам
|
|
| 13.01.2025, 13:02 [ТС] | |
|
OwenGlendower, есть программа с GUI, а также вот эти тесты, которые легко перенастроить (например, TestLZ) на PPM.
0
|
|
|
Администратор
|
|||
| 13.01.2025, 13:14 | |||
|
0
|
|||
|
Труд вопреки насмешкам
|
|||||||
| 13.01.2025, 13:18 [ТС] | |||||||
0
|
|||||||
|
Администратор
|
|
| 13.01.2025, 13:20 | |
|
1
|
|
|
Труд вопреки насмешкам
|
||
| 13.01.2025, 13:24 [ТС] | ||
|
OwenGlendower, не понял, это ирония? Вы спрашиваете:
0
|
||
|
Администратор
|
|
| 13.01.2025, 13:27 | |
|
0
|
|
|
Труд вопреки насмешкам
|
|
| 13.01.2025, 13:35 [ТС] | |
|
OwenGlendower, вот только я не знаю, вы всерьез собрались запускать это "в действии", или спрашиваете ради забавы?
Добавлено через 6 минут OwenGlendower, еще, к слову, я исправил большинство распространенных методов RedStarLinq, требующих огромного количества памяти, эта проблема в прошлом.
0
|
|
|
Администратор
|
|||
| 13.01.2025, 13:49 | |||
|
1
|
|||
| 13.01.2025, 13:50 | |
|
0
|
|
| 13.01.2025, 13:52 | |
|
0
|
|
|
Труд вопреки насмешкам
|
|
| 13.01.2025, 14:37 [ТС] | |
|
OwenGlendower, ну если так трудно поменять одну цифру, то вот архив со всем необходимым кодом и с Властелином Колец в папке с тестами, и тест PPM первый в AresToolsTests.cs.
1
|
|
|
Администратор
|
|||
| 13.01.2025, 14:50 | |||
|
0
|
|||
| 13.01.2025, 16:03 | |
|
0
|
|
|
Администратор
|
||
| 13.01.2025, 22:28 | ||
|
Еще ваш тесты не проверяет что распакованный файл совпадает с оригиналом. Это было было логично делать. Как вам кажется?
0
|
||
|
Труд вопреки насмешкам
|
|
| 13.01.2025, 22:37 [ТС] | |
|
OwenGlendower, извините, чистил лишние зависимости и затронул не то, что нужно было. Попробуйте так.
0
|
|
|
Труд вопреки насмешкам
|
|
| 13.01.2025, 22:38 [ТС] | |
|
0
|
|
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|
| 14.01.2025, 14:58 | |
|
всё не читал, я не то что не опытный программист, а скорее вовсе не программист, но писать PPM/LZ использую списки и LINQ - это сильно!!!! поиграйтесь на лбом highload сервере с заданиями чтобы научиться простым вещам, ваш код ужасен по своей сути и его оптимизация - это просто переписывание с нуля так, как должно быть. Во-первых unsafe+указатели, во-вторых - свои классы по работе с данными и никаких стандартных списков и упаси боже использовать linq.
Добавлено через 4 минуты скачал ваш тест, открыл, ужаснулся, закрыл. Вообще и lz и ppm в таком объёме кода не нуждаются, lz пишется на 3-4 страницы кода, ppm чуть больше, даже трансформация исходников с языка Си на C# практически не увеличит код, ООП там особо и не нужно, скорее на любителя.
0
|
|
|
|
|
| 14.01.2025, 22:03 | |
|
Уже много выше сказали. Добавлю немного подтверждения слов выше.
- проекты невозможно запустить Те проекты что по ссылке что-то требуют, на что-то ссылаются. Пока оба репозитория не подцепил в одно решение, всё красное было. В итоге заработал только AresToolsSource, так как облегчённый по максимуму и всё-таки готовый к запуску. Спасибо хоть так. Но для публичных репозиториев - это шлак. Любой кто захочет проверить и не сможет разобраться и запустить в короткое время - выбросит и забудет. - про качество API уже сказали много Wolfdp хорошо отписался с примерами. Вообще удивлён как он смог это запустить. ![]() Что происходит, что писать, зачем это, куда.... знает только сам ТС. Сам видимо и будет пользовать своим продуктом. - попытался хотя бы один тест PPM просмотреть Параллельно на точках останова код бегло осматривал. Я наверняка неопытнее неопытного OwenGlendower, но тут даже не надо много ума чтобы сделать выводы. То что происходит внутри - это адский ад. Создаётся огромное количество объектов. Что-то куда-то копируется - копии блоков, проверяем кусок... снова копии блоков, перебираем... новая коллекция. Дак откуда там может быть скорость. Про память я просто покажу картинку. Я конечно слышал что эта хвалёная либа должна с огромными коллекциями работать... но откуда тут такие объёмы если мы 4 мб файл обрабатывали. Какие-то потоки, куча блокировок. И разное чудесное... Вообщем я не стал больше вникать. Просто закрыл. См. картинку. Пример диагностики работы программы. 3 точка - кодирование, 4 - декодирование. Рандомные точки, где-то ближе к концу методов.
0
|
|
|
|
|
| 14.01.2025, 22:15 | |
|
0
|
|
| 14.01.2025, 22:15 | |
|
Что означают все эти данные вот в этом коде PITHON и где можно найти описание всех этих данных в коде
Где в этом коде подпрограммы? где в этом коде ошибка? Где ошибка в этом простом коде ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
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 и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера 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, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|