|
4 / 4 / 1
Регистрация: 12.06.2011
Сообщений: 111
|
||||||
.NET 4.x Как оптимизировать код, где используется много методов .Contains?22.04.2013, 08:06. Показов 3146. Ответов 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? Используется много памяти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|