|
2 / 2 / 0
Регистрация: 10.08.2020
Сообщений: 169
|
||||||
Перегрузка памяти, приложение лагает при заполнение HeshSet04.12.2020, 19:07. Показов 3071. Ответов 19
Метки нет (Все метки)
Здравствуйте.
У меня возникла проблема, а это жуткие лаги приложения. Расписываю что оно делает: Приложение создает рандомные слова из букв, букв у меня 26, длина слов например 6, и это целых 308915776 возможных комбинаций. После сгенерированного слова я его добавляю в HeshSet. Вроде бы все хорошо и очень быстро, но программа начинает жутко лагать при 40.000.000 строк. Наверное из за того что моя оперативная память маленькая, да и для других людей естественно это будет не удобно. Какие есть решения для этой проблемы? Записывать все уже созданный текстовой файл? А как там проверку делать на наличие дубликатов? Вот код c объяснениями:
Я много раз видел и интересовался программами которые принимают очень много строк, например просто удалениее дубликатов, либо чего то генерирования. Но у меня другая проблема, лагает слишком сильно программа наверно из за недостатка оперативной памяти. Каким способом можно это решить? Помогите пожалуйста! Ожидаю от вас помощи! Спасибо за внимания.
0
|
||||||
| 04.12.2020, 19:07 | |
|
Ответы с готовыми решениями:
19
Почему при запуске любого приложение ЦП перегружается и все лагает Ноутбук лагает с установленной второй планкой памяти
|
|
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
|
|
| 04.12.2020, 20:16 | |
|
QmlwZ, нужно больше оперативной памяти.
0
|
|
|
2 / 2 / 0
Регистрация: 10.08.2020
Сообщений: 169
|
|
| 04.12.2020, 20:40 [ТС] | |
|
jester, а если например моей программой пользуется другой человек?
0
|
|
|
2 / 2 / 0
Регистрация: 10.08.2020
Сообщений: 169
|
|
| 05.12.2020, 15:07 [ТС] | |
|
Я так понимаю решение этой проблемы нет?
0
|
|
|
2 / 2 / 0
Регистрация: 10.08.2020
Сообщений: 169
|
||
| 06.12.2020, 15:41 [ТС] | ||
|
Rius, здравствуйте.
Спасибо за ответ! Вы имеете в виду генерировать слова/пароли вот так: aaa aab aac aad ... Ну тогда как это совмещать с другими потоками? Когда я ставлю больше потоков то у меня уже генерируются все варианты слов.
0
|
||
|
|
||||||
| 06.12.2020, 15:45 | ||||||
![]()
1
|
||||||
|
2 / 2 / 0
Регистрация: 10.08.2020
Сообщений: 169
|
|||
| 06.12.2020, 15:53 [ТС] | |||
|
Например возможность сгенерировать 456976 слов, а вот с 1 потоком генерировались где то 380000 слов, с такой же скоростью что и 10 потоков. А вот когда я ставлю 10 потоков то все 456976 слов у меня были сгенерированы.
0
|
|||
|
|
|||
| 06.12.2020, 15:56 | |||
|
1
|
|||
|
2 / 2 / 0
Регистрация: 10.08.2020
Сообщений: 169
|
|||
| 06.12.2020, 16:10 [ТС] | |||
|
Ну и как я сказал, что скорость вообще не меняеться. 1 поток может сгенерировать 1.000.000 слов за 1-2 секунды, только вот не все варианты слов сгенерируются. 10 потоков тоже генерировали 1.000.000 слов за 1-2 секунды только все возможные варианты слов. Добавлял сгенерированное слово в HeshSet, а как я понял в HeshSet не добавляются дубликаты. Слова я создаю так что бы просто научиться генерировать рандомные слова, и много и быстро, так как я видел раньше программы которые как раз работают с большими объемами строк. Ну как я начал делать, то и возникли проблемы. Потоки не работают, дубликаты есть, да и программа начинает лагать.
0
|
|||
|
|
||
| 06.12.2020, 16:28 | ||
|
С рандомом все варианты за фиксированное время не собрать.
Если нужны все варианты, то рандом не нужен. Потому что итог простого перебора будет тем же - всеми возможными вариантами, да ещё и за предсказуемое время. HashSet не хранит дубликаты. А они вам разве нужны? Добавлено через 55 секунд
1
|
||
|
2 / 2 / 0
Регистрация: 10.08.2020
Сообщений: 169
|
|||
| 06.12.2020, 16:33 [ТС] | |||
|
Когда я записывал сгенерированные слова в текстовой файл, то они уж слишком медленно загружались в текстовой файл. Хотя я записывал их пот теми же 10 потоков. Щас прислушался к вашему совету, буду пробовать создавать слова с помощи перебора слов, вот только пока что не знаю как это сделать.
0
|
|||
|
|
|||
| 06.12.2020, 16:43 | |||
|
1
|
|||
|
2 / 2 / 0
Регистрация: 10.08.2020
Сообщений: 169
|
||||||||
| 06.12.2020, 16:56 [ТС] | ||||||||
|
Вот код как это было :
Что то сделал вроде этого но пока что не получается, смотрел на некоторых людей как они это сделали, не чего не понял, тем более слишком у них как то это все медленно генерируется. Спасибо вам за направление. Буду копать дальше.
0
|
||||||||
|
|
||||||
| 06.12.2020, 18:29 | ||||||
Сообщение было отмечено QmlwZ как решение
Решение
Как-то так примерно
1
|
||||||
|
2 / 2 / 0
Регистрация: 10.08.2020
Сообщений: 169
|
|||||||||||
| 06.12.2020, 20:17 [ТС] | |||||||||||
|
Rius, вау! Спасибо вам большое за решение моей задачи!
Уже все проверил и все работает. Но вот у меня остались маленькие вопросы: Что значит вот этот код:
buffer[i] = _characters[i]? Либо я не пойму зачем:
0
|
|||||||||||
|
|
|||
| 06.12.2020, 20:25 | |||
Сообщение было отмечено QmlwZ как решение
Решение
В массиве интов хранятся индексы символов в массиве символов.
Индексы инкрементируются, сбрасываются, переносятся, как я говорил ранее в часах. Или, если вы автомобилист, можете посмотреть на одометр. Добавлено через 2 минуты Здесь 4 и 4 символа - совпадение.
1
|
|||
|
2 / 2 / 0
Регистрация: 10.08.2020
Сообщений: 169
|
||||||
| 06.12.2020, 20:32 [ТС] | ||||||
|
Rius, то есть
0
|
||||||
|
2 / 2 / 0
Регистрация: 10.08.2020
Сообщений: 169
|
|
| 06.12.2020, 20:34 [ТС] | |
|
Rius, Спасибо вам большое!
0
|
|
| 06.12.2020, 20:34 | |
|
Помогаю со студенческими работами здесь
20
Как узнать сколько потребляет оперативной памяти приложение при работе
Бесконечное потребление памяти при сворачивании в трей (приложение, которое показывает видео с двух веб камер) Перегрузка памяти Перегрузка памяти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит значение перечислений.
/ / Событие "НачалоВыбора" реквизита на форме. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|