|
4 / 4 / 1
Регистрация: 12.06.2011
Сообщений: 111
|
||||||
.NET 4.x Как оптимизировать код, где используется много методов .Contains?22.04.2013, 08:06. Показов 3143. Ответов 30
Метки нет (Все метки)
Здравствуйте! Есть задача поиска всех url'ов на каком то сайте и найти в них битые/небитые. Задачу решил с использованием Selenium WebDriver. В его помощью я легко получаю все нужные мне ссылки. Но вот только после того, как страница сайта была загружена и из её кода были выдраны url'ы, мне нужно проверить, не обрабатывал ли я уже такую url'ку, нет ли её уже в каком нибудь списке. Для этого использую метод .Contains. Вот только использую аж 5 штук подряд) И получается ситуация, что страница уже загружена, а из-за моих проверок прога висит. Можно ли как то оптимизировать мой код:
0
|
||||||
| 22.04.2013, 08:06 | |
|
Ответы с готовыми решениями:
30
Код потребляет очень много памяти. Подскажите как оптимизировать? Оптимизировать код парсинга страниц. Используется SimpleHtmlDom
|
|
Master of Orion
|
|
| 22.04.2013, 20:17 | |
|
Vlad10, потоков столько, сколько ядер. Например, для i5 будет 4, для i7+HT будет уже 8, ну и т.д.
Насчет исключений: не знаю, смотреть надо. Добавлено через 1 минуту в AggregateException должно быть написано, какие исключения привели к нему. Смотрите на msdn и отладчик.
0
|
|
|
4 / 4 / 1
Регистрация: 12.06.2011
Сообщений: 111
|
|
| 22.04.2013, 20:21 [ТС] | |
|
И ещё насчёт форича: Разве это правильно - создавать новые объекты HttpWebResponse и HttpWebRequest? Может из-за этого вылезает ошибка?
0
|
|
|
4 / 4 / 1
Регистрация: 12.06.2011
Сообщений: 111
|
||
| 22.04.2013, 21:45 [ТС] | ||
|
1
|
||
|
4 / 4 / 1
Регистрация: 12.06.2011
Сообщений: 111
|
|
| 22.04.2013, 22:28 [ТС] | |
|
Вот словил это исключение. Только что делать с ним не знаю. Получается, что при проверке какой то ссылки оно сваливается. Ладно, catcheм поймать можно, только как эту ссылку проверить, на которой он свалился?
0
|
|
|
4 / 4 / 1
Регистрация: 12.06.2011
Сообщений: 111
|
|
| 22.04.2013, 23:47 [ТС] | |
|
Он пишет типа, что ссылка на объект не указывает на экземпляр объекта. Фигня какая то. И в инете ничего толкового не нашёл, но у кучи людей именно в фориче такая лажа происходит.
0
|
|
|
Master of Orion
|
||
| 23.04.2013, 02:23 | ||
|
насчет ошибки: какую строчку подчеркивает студия когда вылетает?
0
|
||
|
4 / 4 / 1
Регистрация: 12.06.2011
Сообщений: 111
|
|
| 23.04.2013, 11:09 [ТС] | |
|
Дома он подчеркивал весь блок ForEach и писал, что объект не найден. Сейчас я запустил прогу на работе, в 1 раз он мне написал, что какая то непонятная ошибка изза оптимизации кода, потом тоже самое, потом что индекс какой то не найден в каком то массиве, а в 4 раз всё нормально. ААААААААААААААА, что за???
Если убрать паралельный форич, то всё ок. Что с ним такое? Почему он все время ошибки какие то вываливает непонятные? На работе всё время сваливался тут: catch (WebException e) { brokenLinks.Add(link + " - " + ((int)((HttpWebResponse)e.Response).Stat usCode).ToString()); Console.WriteLine(link + " - " + ((int)((HttpWebResponse)e.Response).Stat usCode).ToString()); }
0
|
|
|
4 / 4 / 1
Регистрация: 12.06.2011
Сообщений: 111
|
|
| 23.04.2013, 11:12 [ТС] | |
|
Вот, выловил:
0
|
|
|
4 / 4 / 1
Регистрация: 12.06.2011
Сообщений: 111
|
|
| 24.04.2013, 00:36 [ТС] | |
|
Кстати насчёт сортировки: http://professorweb.ru/my/csha... /12_12.php. Есть и класс SortedSet.
0
|
|
|
4 / 4 / 1
Регистрация: 12.06.2011
Сообщений: 111
|
|||||||||||
| 25.04.2013, 16:13 [ТС] | |||||||||||
|
Решил проблему. Вот какой должен быть код:
Добавлено через 19 минут Небольная поправка, вот такой:
0
|
|||||||||||
| 25.04.2013, 16:13 | |
|
Как оптимизировать на чтение, если много оперативки? Много методов или много классов. Что лучше? Конкатенация потребляет много памяти, как можно оптимизировать? Где и как используется оператор elseif? Используется много памяти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
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. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|