- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Хранишь массив с хешами в памяти
Ну сохрани массив хэшей от 80кк строк в памяти...
Как вариант - резать файл на более мелкие, и тогда уже более реально его обработать.
ТС, сколько весит файл с 80кк ключами? А то я даже представить не могу...
Ну сохрани массив хэшей от 80кк строк в памяти...
Как вариант - резать файл на более мелкие, и тогда уже более реально его обработать.
ТС, сколько весит файл с 80кк ключами? А то я даже представить не могу...
512RAM
Файл размером в 900мб и 26кк строк спокойно поместился и обработался за 99секунд. У меня все работает, ЧЯДНТ? (:
80кк будет весить около 3гб... Как минимум 2гб оперативной памяти нужно будет, если там много уникальных строк.
а если сначало отсортировать строки по кол. символов а потом в них уже сравнивать ключи + алфавит ))
Еще вариант, сохранять строку в массив но не как значение а как ключь. тогда в памяти будут только уникальные строки.
Еще вариант, сохранять строку в массив но не как значение а как ключь. тогда в памяти будут только уникальные строки.
Строки занимают слишком много памяти, их лучше вообще не хранить.
Мой вариант:
Версия для винды: http://dl.dropbox.com/u/16333142/unique.tar.gz
Для Ъ & линуксоидов (исходники): http://dl.dropbox.com/u/16333142/unique_src.tar.gz
В памяти хранится контейнер с числовыми хешами. Т.е теоретически каждая строка [хеш каждой строки] будет занимать 4 байта. В реальности все не так хорошо и для обработки 80кк понадобится чуть больше.
По скорости вроде рвет всех и вся. Удалось скормить 26кк (900мб), как будет вести с более весомыми данными (и вообще на винде) - не знаю.
Кто это напарсил 80кк и забыл проверить их на дубли 0_o ..... просто интересно :)
Строки занимают слишком много памяти, их лучше вообще не хранить.
Мой вариант:
Версия для винды: http://dl.dropbox.com/u/16333142/unique.tar.gz
Для Ъ & линуксоидов (исходники): http://dl.dropbox.com/u/16333142/unique_src.tar.gz
В памяти хранится контейнер с числовыми хешами. Т.е теоретически каждая строка [хеш каждой строки] будет занимать 4 байта. В реальности все не так хорошо и для обработки 80кк понадобится чуть больше.
По скорости вроде рвет всех и вся. Удалось скормить 26кк (900мб), как будет вести с более весомыми данными (и вообще на винде) - не знаю.
Большое спасибо! То что нужно. Скормил 5Гб и отлично почистило)
ещё можно читать файл построчно и сохранять в виде файлов на диске каждый кей
только надо на диры разбить по 1й букве например, а то 80кк файлов в одной дире не откроются
будет 100% уникальность + в памяти максимум одна строка
ещё можно читать файл построчно и сохранять в виде файлов на диске каждый кей
только надо на диры разбить по 1й букве например, а то 80кк файлов в одной дире не откроются
будет 100% уникальность + в памяти максимум одна строка
геморно, не ? + память быстрее.
хз, по моему если отсортировать по алфавиту(или даже к примеру первым 3 символам), кол. символов в строке, сохранить в разные файлы, то можно хоть 10гб провернуть ))