powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Задачка по Java
14 сообщений из 39, страница 2 из 2
Задачка по Java
    #38087250
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оракл, когда надо сделать fullscan большой таблицы, использует асинхронноe ИО. За счет этого процесс может пережевывать порцию данных пока диск читает следующую порцию.
...
Рейтинг: 0 / 0
Задачка по Java
    #38087265
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪОракл, когда надо сделать fullscan большой таблицы, использует асинхронноe ИО. За счет этого процесс может пережевывать порцию данных пока диск читает следующую порцию.

Ну тут еще зависит от того как расположен на диске файл размером 3G, сильно ли фрагментирован. Может статься что кэш диска порвет асинхронное ио, как тузик грелку.
...
Рейтинг: 0 / 0
Задачка по Java
    #38087268
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде синхронность/асинхронность не связана с кэшем?
К тому же обычно для оракла отключают системный дисковый кэш, потому что у него свой собственный кэш.
...
Рейтинг: 0 / 0
Задачка по Java
    #38087271
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Многодисковый RAID спасёт отца демократии.
...
Рейтинг: 0 / 0
Задачка по Java
    #38087274
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪВроде синхронность/асинхронность не связана с кэшем?
К тому же обычно для оракла отключают системный дисковый кэш, потому что у него свой собственный кэш.
Связана, но косвенно. Оракл хорош когда данные в разных таблицах раскиданы по всему диску. Если файл строго последовательный, то быстрее прямого доступа к диску ничего нет(в том числе и предсказание очередного доступа), поэтому и порвет, и если б все файлы были строго последовательные то и оракл не нужен был:)
...
Рейтинг: 0 / 0
Задачка по Java
    #38087280
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник и если б все файлы были строго последовательные то и оракл не нужен был:)
У оракла немного другое предназначение, нежели исправлять фрагментацию файловой системы :)
...
Рейтинг: 0 / 0
Задачка по Java
    #38087282
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕсли файл строго последовательный, то быстрее прямого доступа к диску ничего нет(в том числе и предсказание очередного доступа)

А что такое прямой доступ и предсказание очередного доступа? Как это по английски называется?
...
Рейтинг: 0 / 0
Задачка по Java
    #38087284
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВзабыл ник и если б все файлы были строго последовательные то и оракл не нужен был:)
У оракла немного другое предназначение, нежели исправлять фрагментацию файловой системы :)
Я не спорю - какая посылка, такой и ответ. Я рассматривал в разрезе задачи и сильно утрировал, надеюсь вам спокойнее?:)
...
Рейтинг: 0 / 0
Задачка по Java
    #38087295
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪавторЕсли файл строго последовательный, то быстрее прямого доступа к диску ничего нет(в том числе и предсказание очередного доступа)

А что такое прямой доступ и предсказание очередного доступа? Как это по английски называется?

Прямой доступ - это, извини, прямой доступ:) Оракл физически не может удержать все в оперативной памяти(ну точнее мб и может, все зависит от размера данных и размера оперативки), и рано или поздно ему придется с диском общаться. А предсказание считывания очередного доступа - это отсебятина естественно, имелся ввиду кэш дискового контроллера.
Нет ну если хочешь потроллить я не против)
...
Рейтинг: 0 / 0
Задачка по Java
    #38087447
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем сложность?
...
Рейтинг: 0 / 0
Задачка по Java
    #38087474
rfq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЗадача состоит из:
- Чтения потокового файла — строго последовательный процесс.
- парсинга на слова
- похода к хэш-таблице за счетчиком слов.

Все строго последовательно, нет нигде провода параллелить.
Параллелить можно по разному, например сделать конвейер. Это уже даст 3 параллельных потока, согласно вашей схеме. Далее, можно иметь N хэш-таблиц и обслуживать каждую своим потоком. Или просто иметь несколько потоков для работы с хэш-таблицей, а в качестве таблицы взять ConcurrentHashmap. Да и парсинг можно распаралелить по блокам, только надо особо учитывать слова, попадающие на границы блоков.
...
Рейтинг: 0 / 0
Задачка по Java
    #38088528
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если речь о более-менее смысловом тексте, то основная проблема - кодировка и определение термина "слово".
Дальше вспоминаем, что полные словари русского/английского языков - десятки тысяч слов (50-70 тысяч), от души набрасываем двести процентов на специальную терминологию, множим на отбалдянскую сотню и получаем десятки мегабайт максимум .
Вспоминаем, что пропускная способность на многопоточных чтениях не падает только у твердотельных дисков и плавно подходим к выводу: последовательная вычитка с хранением в каком-нибудь дереве и будет не только самым простым, но и самым быстрым решением в подавляющем большинстве случаев .
...
Рейтинг: 0 / 0
Задачка по Java
    #38088748
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidvalexgor123Есть большой текстовый файл (~3 ГБ). Требуется подсчитать количество вхождений каждого слова в файл с использованием threads. Не подскажите с чего начать? Сколько потоков нужно создавать?
Классическая задача на map/reduce. Начать с его изучения и реализации.

Проблема в том, что тут нет его, нет map reduce. На самом деле это не map reduce, а "разделяй и властвуй", но для начала как то надо разделить.
...
Рейтинг: 0 / 0
Задачка по Java
    #38088753
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rfqMasterZivЗадача состоит из:
- Чтения потокового файла — строго последовательный процесс.
- парсинга на слова
- похода к хэш-таблице за счетчиком слов.

Все строго последовательно, нет нигде провода параллелить.
Параллелить можно по разному, например сделать конвейер. Это уже даст 3 параллельных потока, согласно вашей схеме. Далее, можно иметь N хэш-таблиц и обслуживать каждую своим потоком. Или просто иметь несколько потоков для работы с хэш-таблицей, а в качестве таблицы взять ConcurrentHashmap. Да и парсинг можно распаралелить по блокам, только надо особо учитывать слова, попадающие на границы блоков.

Согласия бы, если бы файл имел какую то неаморфную структуру.
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Задачка по Java
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]