Artisan: Не знаю как это сделали они,
я сжимал словарь заранее и разжимал его при поиске, ...
опятьже лиш слова
Artisan: Если Вы будете хамить то ответа не будет, ...
предлагаю в дальнейшем, в данном топике, не обращать внимания на высказывания пользователя с никнеймом Artisan в связи с его неспособностью обосновать свои ответы
Artisan: Потому что сначала надо знать какая была задача и
уже потом приспособить решение для новых условий, ...
прекрасно, давайте для начала опишем задачу, по крайней мере то ее видение которое я вкладывал создавая этот топик. есть поисковый запрос который надо обработать на соответствие словам содержащимся в словаре поисковой системы, и все это надо сделать с минимальными затратами ресурсов, в частности предполагалось что весь словарный запас будет загружен в ОЗУ, яндекс говорит что он вложил свой словарь в объем в 300Кб, что позволило им полностью загружать его в ОЗУ, вопрос заключался в следующем, как они это сделали
все остальные ваши комментарии я покачьто опушу, в связи с тем что вы не дали вразумительного ответа ни на один из поставленных вопросов
это вовсе не вымышленная задача, и не глупая, подобные схемы опробывали не один раз, и до сих пор, по крйней мере в аппаратной части, разумное решение этой проблемы предложено небыло, вывод один, лучьше загрузить в озу больше данных но без компресии, выигрыш в производительности в разы, к томуже стоимость озу на порядок меньше чем стоимость процессорных мощностей
з.ы. я надеюсь что никто не будет оспаривать мнение о том что аппаратное решение любого алгоритма на порядок производительнее его программной модели
Iso: Это было практически без задержек для пользователя
даже на ЕС-1841 с тактовой частотой 4.5 MHz а насколько
быстро получится на современных гигагерцах с Pentium
распараллеливанием при компиляции оптимизирующим
компилятором надо пробовать, ...
пожалуйста ваш алгоритм, если вы можете ваши слова подтвердить на практике я уже готов купить его
Artisan: Разворачивать словарь можно по разному, ...
смотрите выше
Artisan: Как я уже писал один пользователь на одной машине, ...
объясните мне глупому, почему вы так уперлись что один пользователь на одной машине? с каких пор данные с веба стали обрабатываться в операционке локальной машины? или вы думаете что поисковики ставят одельный сервер под каждый поисковый запрос?
Artisan: Похоже что Вы не очень внимательны, ...
поясните пожалуйста, на меня работает команда из 17! технологов микроэлектроники, веб это мое хобби которое я могу себе позволить, если вы готовы предложить действующую технологию предлагайте, покачьто это лиш ваши, пардон, словесныные утверждения
Artisan: быстро получится на современных гигагерцах с Pentium
распараллеливанием при компиляции оптимизирующим
да кстати, если вы вдруг не знали, интел делает ставку на гонку частот а не на конвейеризацию вычислительных процессов
Iso: Могу привести в качестве иллюстрации свою давнюю реализацию игрока в одну игру для двух человек (Реверси).
а теперь пробуем применить это все на поисковый сервер, а не на локального пользователя, пусть даже это крупный сервер с распределением запросов на разные машины, какие процессорные ресурсы вам понадобятся для обеспечения декомпрессии при каждом запросе?
Iso: Можно предположить, что и со словарями аналогично - нам ведь под каждый запрос нужен не весь словарь, а только его часть - эта часть и будет "собираться" по необходимости
как вы собираетесь найти соответствия поисковому запросу в словаре кроме как развернув его весь?
Artisan: Задача умять словарь в 300kb оперативной памяти,
причем насколько я помню что написано у Yandex это
для одного пользователя на локальной машине.
речь не шла о локальных машинах, может конечьно я не так понял что именно сказано у яндекса, поэтому цитирую еще раз:
частности, словарь, обеспечивающий поиск с учетом морфологии русского языка, занимал всего 300Кб, то есть целиком грузился в оперативную память и работал очень быстро. С этого момента пользователь мог задавать в запросе любые формы слов.
Artisan: Такую задачу я решил и могу объяснить как.
выставляйте вашу модель на обсуждение либо покажите практичускую ее реализацию и мы обсудим ее стоимость
Artisan: Чем больше будет с Вашей стороны тем
лучше будет с моей, предлагайте в приват, ...
я готов легально купить технологию которая меня интересует, не вижу смысла прятаться в приват
вы так думаете? объясните пожалуйста свою точьку зрения, я некоторое время занимался разработкой специализированных микропроцессоров, и честно говоря не вижу логики в таких действиях, вы просто потратите больше процессорного времени чем если бы вы загрузили в оперативку те же данные в развернутом виде, пусть они и занимают больше места
itman: У Вас есть уверенность, что словарь ВСЕХ псевдооснов Зализняка? У меня есть уверенность, что основ там как-то мало. Возьмем например слово чаинка. В этом файлике нет слов, начинающихся на ч или ча.
нет, такой уверенности конечно нету, но за основу можно взять и это, насчет полного размера архива, он в принципе не нужен, если у вас есть список основ и правила построения слов на них все эти мегабайты становятся лишними, учитывая то что основной файл из этого архива весит именно 14 Кб пытаюсь отталкиваться от него и построить что-то подобное.
lagif: itman, Верно... ну, может, это в сжатом виде?
, первоначально было сказано что 300Кб загружаются в память, какой смысл грузить в оперативку сжатые данные?
вот ссылочьку не дам, не сохранил увы, кроме словаря на сайте ничего интересного не нашел, сам словарик вот: http://partal.com.ua/files/dicts.EXE, качайте, узучайте.
Не знаю как это сделали они,
я сжимал словарь заранее и разжимал его при поиске, ...
опятьже лиш слова
Если Вы будете хамить то ответа не будет, ...
предлагаю в дальнейшем, в данном топике, не обращать внимания на высказывания пользователя с никнеймом Artisan в связи с его неспособностью обосновать свои ответы
Потому что сначала надо знать какая была задача и
уже потом приспособить решение для новых условий, ...
прекрасно, давайте для начала опишем задачу, по крайней мере то ее видение которое я вкладывал создавая этот топик. есть поисковый запрос который надо обработать на соответствие словам содержащимся в словаре поисковой системы, и все это надо сделать с минимальными затратами ресурсов, в частности предполагалось что весь словарный запас будет загружен в ОЗУ, яндекс говорит что он вложил свой словарь в объем в 300Кб, что позволило им полностью загружать его в ОЗУ, вопрос заключался в следующем, как они это сделали
все остальные ваши комментарии я покачьто опушу, в связи с тем что вы не дали вразумительного ответа ни на один из поставленных вопросов
Ладно, пробуем сначала простую задачу
это вовсе не вымышленная задача, и не глупая, подобные схемы опробывали не один раз, и до сих пор, по крйней мере в аппаратной части, разумное решение этой проблемы предложено небыло, вывод один, лучьше загрузить в озу больше данных но без компресии, выигрыш в производительности в разы, к томуже стоимость озу на порядок меньше чем стоимость процессорных мощностей
з.ы. я надеюсь что никто не будет оспаривать мнение о том что аппаратное решение любого алгоритма на порядок производительнее его программной модели
Это было практически без задержек для пользователя
даже на ЕС-1841 с тактовой частотой 4.5 MHz а насколько
быстро получится на современных гигагерцах с Pentium
распараллеливанием при компиляции оптимизирующим
компилятором надо пробовать, ...
пожалуйста ваш алгоритм, если вы можете ваши слова подтвердить на практике я уже готов купить его
Разворачивать словарь можно по разному, ...
смотрите выше
Как я уже писал один пользователь на одной машине, ...
объясните мне глупому, почему вы так уперлись что один пользователь на одной машине? с каких пор данные с веба стали обрабатываться в операционке локальной машины? или вы думаете что поисковики ставят одельный сервер под каждый поисковый запрос?
Похоже что Вы не очень внимательны, ...
поясните пожалуйста, на меня работает команда из 17! технологов микроэлектроники, веб это мое хобби которое я могу себе позволить, если вы готовы предложить действующую технологию предлагайте, покачьто это лиш ваши, пардон, словесныные утверждения
быстро получится на современных гигагерцах с Pentium
распараллеливанием при компиляции оптимизирующим
да кстати, если вы вдруг не знали, интел делает ставку на гонку частот а не на конвейеризацию вычислительных процессов
Могу привести в качестве иллюстрации свою давнюю реализацию игрока в одну игру для двух человек (Реверси).
а теперь пробуем применить это все на поисковый сервер, а не на локального пользователя, пусть даже это крупный сервер с распределением запросов на разные машины, какие процессорные ресурсы вам понадобятся для обеспечения декомпрессии при каждом запросе?
Можно предположить, что и со словарями аналогично - нам ведь под каждый запрос нужен не весь словарь, а только его часть - эта часть и будет "собираться" по необходимости
как вы собираетесь найти соответствия поисковому запросу в словаре кроме как развернув его весь?
Задача умять словарь в 300kb оперативной памяти,
причем насколько я помню что написано у Yandex это
для одного пользователя на локальной машине.
речь не шла о локальных машинах, может конечьно я не так понял что именно сказано у яндекса, поэтому цитирую еще раз:
частности, словарь, обеспечивающий поиск с учетом морфологии русского языка, занимал всего 300Кб, то есть целиком грузился в оперативную память и работал очень быстро. С этого момента пользователь мог задавать в запросе любые формы слов.
Такую задачу я решил и могу объяснить как.
выставляйте вашу модель на обсуждение либо покажите практичускую ее реализацию и мы обсудим ее стоимость
Чем больше будет с Вашей стороны тем
лучше будет с моей, предлагайте в приват, ...
я готов легально купить технологию которая меня интересует, не вижу смысла прятаться в приват
То что пишу я тоже основано на практике,
только в отличии от Вас я эту задачу решил,
но такие знания бесплатно не раздаются, ...
я оплачу ваши знания, и может быть но их основе произойдет прорыв в микропроцессорной технике? Назовите вашу цену
Совсем не обязательно, ...
извините, я сужу по практическому опыту, обоснуйте свои утверждения пожалуйста
Это зависит от того как их сжимать, ...
вы так думаете? объясните пожалуйста свою точьку зрения, я некоторое время занимался разработкой специализированных микропроцессоров, и честно говоря не вижу логики в таких действиях, вы просто потратите больше процессорного времени чем если бы вы загрузили в оперативку те же данные в развернутом виде, пусть они и занимают больше места
ЗодчийТеней, Читала невнимательно. Но, согласитесь, регэкспы наверняка займут поболе места, чем дерево.
когда создавал тему согласилсябы, сейчас уже сомневаюсь в этом
У Вас есть уверенность, что словарь ВСЕХ псевдооснов Зализняка? У меня есть уверенность, что основ там как-то мало. Возьмем например слово чаинка. В этом файлике нет слов, начинающихся на ч или ча.
нет, такой уверенности конечно нету, но за основу можно взять и это, насчет полного размера архива, он в принципе не нужен, если у вас есть список основ и правила построения слов на них все эти мегабайты становятся лишними, учитывая то что основной файл из этого архива весит именно 14 Кб пытаюсь отталкиваться от него и построить что-то подобное.
itman, Верно... ну, может, это в сжатом виде?
, первоначально было сказано что 300Кб загружаются в память, какой смысл грузить в оперативку сжатые данные?
вот ссылочьку не дам, не сохранил увы, кроме словаря на сайте ничего интересного не нашел, сам словарик вот: http://partal.com.ua/files/dicts.EXE, качайте, узучайте.