The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

14.12.2012 18:00  beagrep - индексируемый вариант grep, перебирающий 2 Гб кода за 2 секунды

В рамках проекта beagrep развивается полезный для разработчиков больших проектов вариант утилиты grep, способный выполнить поиск по дереву исходных текстов размером 2 Гб всего за 2 секунды (аналогичный поиск утилитой grep занимает 5 минут). Подобная скорость достигается благодаря использованию предварительной индексации данных, при этом построение индекса занимает достаточно много времени (для кода платформы Android индекс создаётся около 8 минут).

При обновлении файлов после построения индекса, они автоматически переиндексируются в процессе запуска утилиты (индекс нужно построить один раз, в дальнейшем он будет обновляться автоматически). Утилита поддерживает штатные возможности grep, в том числе поиск с использованием регулярных выражений и подсветка результатов. Программа распространяется под лицензией MIT и написана на языке C# с использованием Mono. Для индексации используется движок DotLucene.

  1. Главная ссылка к новости (http://baohaojun.github.com/be...)
Лицензия: CC-BY
Тип: Программы
Ключевые слова: grep, beagrep
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.2, Аноним, 18:20, 14/12/2012 [ответить] [смотреть все]
  • +3 +/
    Написали бы на С - было бы 0 2 секунды ... весь текст скрыт [показать]
     
     
  • 2.3, Аноним, 18:23, 14/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    Написали бы на asm - было  бы 0.16666 секунды.
     
     
  • 3.4, GentooBoy, 18:30, 14/12/2012 [^] [ответить] [смотреть все]  
  • +2 +/
    Писали бы сразу в машинных кодах ... Да нет хрень это. )))
     
     
  • 4.23, Аноним, 19:46, 14/12/2012 [^] [ответить] [смотреть все]  
  • +8 +/
    "Real Programmers don't use IDEs, they write programs using cat > a.out"
     
     
  • 5.29, anonymous, 19:50, 14/12/2012 [^] [ответить] [смотреть все]  
  • –3 +/
    IDE и 100MB кода поделитесь секретом успеха, как настраивать, какой функционал ... весь текст скрыт [показать]
     
     
  • 6.32, ZloySergant, 19:54, 14/12/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    Сказали же, cat file EOF Все что нужно - coreutils... весь текст скрыт [показать]
     
  • 5.42, develop7, 20:13, 14/12/2012 [^] [ответить] [смотреть все]  
  • +/
    за бесконечное время, да ... весь текст скрыт [показать]
     
     
  • 6.44, Аноним, 20:44, 14/12/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    Чего бы ради за бесконечное Может еще и для любой программы ... весь текст скрыт [показать]
     
  • 5.57, GentooBoy, 23:02, 14/12/2012 [^] [ответить] [смотреть все]  
  • –6 +/
    В каком музее таких программистов выставляют? Хочу сходить посмотреть.
     
  • 3.12, Аноним, 19:02, 14/12/2012 [^] [ответить] [смотреть все]  
  • +2 +/
    Написали бы на жаве, было бы быстрее, чем на асме
     
     
  • 4.25, Аноним, 19:47, 14/12/2012 [^] [ответить] [смотреть все]  
  • +23 +/
    > Написали бы на жаве, было бы быстрее, чем на асме

    А если жаву переписать на жаве - говорят что из-за бесконечного ускорения явы явой образуется сингулярность.

     
     
  • 5.43, Карбофос, 20:41, 14/12/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    только ребятам на адронном коллайдере этого не рассказывайте так, на всякий ... весь текст скрыт [показать]
     
  • 5.58, Аноним, 23:04, 14/12/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    Пайтон на пайтоне, опроверг эту теорию.
    Хотя стал быстрее СИ.
     
     
  • 6.59, Аноним, 00:18, 15/12/2012 [^] [ответить] [смотреть все]  
  • –1 +/
    Недопиленная версия просто Урезанная Вот и ... весь текст скрыт [показать]
     
  • 3.62, Кевин, 03:50, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    писали бы на асм... не написали бы ещё.
     
     
  • 4.87, Аноним, 23:25, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Лучше упорная работа над собой, чем штампование тяп-ляпок за пару минут ... весь текст скрыт [показать]
     
  • 2.5, develop7, 18:34, 14/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    > написали *БЫ*
    > было *БЫ*

    .

     
     
  • 3.26, Аноним, 19:48, 14/12/2012 [^] [ответить] [смотреть все]  
  • +2 +/
    Ну и как, ты уже вкатил многометровую моновскую какашку не сервера ради греп... весь текст скрыт [показать]
     
     
  • 4.84, Аноним, 23:17, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Ради rsyslogа фанаты юникс-ой-вея будут и openjdk вкатывать, делов-то Причем не... весь текст скрыт [показать]
     
     
  • 5.88, Аноним, 16:43, 16/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Только не надо тро-ло-то У rsyslog-а нет зависимостей кроме libc, libthr и libz... весь текст скрыт [показать]
     
     
  • 6.89, develop7, 20:29, 16/12/2012 [^] [ответить] [смотреть все]  
  • +/
    KERNEL32 DLL ... весь текст скрыт [показать]
     
  • 2.6, ig0r, 18:45, 14/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +9 +/
    У разработчиков на C обычно нет проблемы с размерами исходных кодов, эта проблема остра для програмистов на яве, дотнет, и т.п.
     
  • 2.8, абыр, 18:52, 14/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +11 +/
    У сишников есть ctags, нам этой монохрени не надо :)
     
     
  • 3.19, anonim, 19:27, 14/12/2012 [^] [ответить] [смотреть все]  
  • +2 +/
    Вообще-то ctag не только для сишников но все равно плюсую - монохрени не над... весь текст скрыт [показать]
     
     
  • 4.28, Пингвино, 19:49, 14/12/2012 [^] [ответить] [смотреть все]  
  • –1 +/
    Окай, парниша, жду твою "правильную" реализацию. Или не можешь?
     
     
  • 5.30, anonymous, 19:52, 14/12/2012 [^] [ответить] [смотреть все]  
  • +2 +/
    вам бы только новым велосипедам аплодировать cscope, например есть как навигатор... весь текст скрыт [показать]
     
     
  • 6.39, Пингвино, 20:05, 14/12/2012 [^] [ответить] [смотреть все]  
  • +/
    А что плохого в разнообразии Быть может однажды вот так создадут что-то интерес... весь текст скрыт [показать]
     
     
  • 7.85, Аноним, 23:18, 15/12/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    В данном случае - заведомо неинтересно и бесперспективно Что несколько очевидно... весь текст скрыт [показать]
     
  • 2.17, BratSinot, 19:25, 14/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Не было бы C выигрывает при расчетах, а при ворочании данных разницы с JVM и N... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.20, Grammar Nazi, 19:34, 14/12/2012 [^] [ответить] [смотреть все]  
  • +2 +/
    масштабируемы
     
  • 3.33, Crazy Alex, 19:54, 14/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Вообще-то будет с хорошей вероятностью - C обычно провоцирует городить много мен... весь текст скрыт [показать]
     
  • 3.65, ВасисуалиьМихаил, 14:14, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    давайте на эрланге напишем тогда МАПРЕДУСЕ ... весь текст скрыт [показать]
     
  • 2.22, Аноним, 19:43, 14/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    Кроме того, если libc на серваке уже есть, то вот ставить туда куче мегов дотнет... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.51, Аноним, 21:15, 14/12/2012 [^] [ответить] [смотреть все]  
  • +/
    ты уволен... весь текст скрыт [показать]
     
     
  • 4.52, Аноним, 21:58, 14/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Спасибо Ставить на сервера ради грепа многометровый крап - удовольствие ниже ср... весь текст скрыт [показать]
     
  • 4.75, Аноним, 20:25, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Уборщик ночной смены сидящий за столом директора Да - доставил ... весь текст скрыт [показать]
     
  • 1.7, Васисуалиь, 18:47, 14/12/2012 [ответить] [смотреть все]  
  • +/
    find $PATH -type f | while read f                                                                                
    do
        awk '{print FILENAME ":" NR ":", $0}' $f
    done


    -ctime и прочее по вкусу

     
     
  • 2.14, Васисуалиь, 19:07, 14/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    568М ядрёнокода проиндексировало за 1 14 с гзипаньем, индекс занял 184М, нахо... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.35, Crazy Alex, 19:59, 14/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Хм, сделать что-то подобное мелким скриптом было бы забавно - А то для таких з... весь текст скрыт [показать]
     
     
  • 4.64, ВасисуалиьМихаил, 14:12, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    дык, в чём проблема, берите-пользуйтесь, в юзерский кронтаб засунуть можно допо... весь текст скрыт [показать]
     
     
  • 5.69, Crazy Alex, 17:36, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Ну, как минимум либо демона с fanotify добавлять надо, либо сохранение mtime для... весь текст скрыт [показать]
     
     
  • 6.92, Васисуалиь, 13:28, 18/12/2012 [^] [ответить] [смотреть все]  
  • +/
    это понятно, но во времена i7 и скоростных sata-шных винтов никто не мешает прос... весь текст скрыт [показать]
     
  • 2.61, Aleksey Salow, 02:04, 15/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    ваш скрипт не переиндексирует файл в случае модификации Также проблемы с создан... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.63, ВасисуалиьМихаил, 14:11, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    с этим небольшие проблемы, но я уже писал пор ctime, можно добавлять в файл тайм... весь текст скрыт [показать]
     
     
  • 4.67, Aleksey Salow, 14:24, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Вот напишите, сделайте как у них, а мы посмотрим кто умнее Просто сейчас вы взя... весь текст скрыт [показать]
     
     
  • 5.91, Васисуалиь, 13:26, 18/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Авторы тоже взяли для примера частный случай андроидокода в котором код ядра пр... весь текст скрыт [показать]
     
     ....нить скрыта, показать (9)

  • 1.9, Аноним, 18:54, 14/12/2012 [ответить] [смотреть все]  
  • +11 +/
    Ага, щас. Буду mono ради grep'а ставить.
     
  • 1.10, Аноним, 18:56, 14/12/2012 [ответить] [смотреть все]  
  • +/
    Спасибо, не нужно Штука полезная, но ставить ради неё сотню мб добра 8212 ув... весь текст скрыт [показать]
     
     
  • 2.15, гость, 19:19, 14/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Это они ещё индексируемый cat на моно не выпустили!
     
     
  • 3.16, Andrey Mitrofanov, 19:21, 14/12/2012 [^] [ответить] [смотреть все]  
  • –1 +/
    Зато у них уже есть [почти] шелл на си-шарпе.
     
     
  • 4.27, Аноним, 19:49, 14/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Это который Powershell, в котором автодополнение до сих пор нормально не работа... весь текст скрыт [показать]
     
     
  • 5.68, Mr. Cake, 17:30, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Нет, просто интерактивная консоль шарпа Автодополнение в рамках BCL Запускаешь... весь текст скрыт [показать]
     
  • 2.40, Crazy Alex, 20:06, 14/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Всё проще - там очень простая идея - оно основано на том, что часто грепается по... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.77, Аноним, 20:34, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    ппц Нет - _П_ _П_ _Ц_ - пусть _такой_ grep у вантузятников в их вантузах тольк... весь текст скрыт [показать]
     
     
  • 4.86, Аноним, 23:23, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    А еще в твоих юниксах скоро будет rsyslog, с ElasticSearch индексация логов К... весь текст скрыт [показать]
     
  • 1.11, Мяут, 19:00, 14/12/2012 [ответить] [смотреть все]  
  • +/
    Хм, а чем это лучше Cross-Reference типа LXR или OpenGrok? Последний еще и за счет Exuberant Ctags умеет понимать конструкции языка и поддерживает язык запросов.
     
  • 1.13, Andrey Mitrofanov, 19:05, 14/12/2012 [ответить] [смотреть все]  
  • +1 +/
    > дереву исходных текстов размером 2 Гб всего за 2 секунды (аналогичный
    > поиск утилитой grep занимает 5 минут)

    См.
    google://google grep 30 GB s
    и
    прочие MapReduce

    >. Подобная скорость достигается благодаря использованию

     
  • 1.18, Аноним, 19:25, 14/12/2012 [ответить] [смотреть все]  
  • –1 +/
    Заметьте что гига _биты_ Не знаю кто меряет код в битах , кроме маркетологов ... весь текст скрыт [показать]
     
     
  • 2.90, XoRe, 19:08, 17/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Неправильно перевели В оригинальной новости 2G ... весь текст скрыт [показать] [показать ветку]
     
  • 1.21, Аноним, 19:41, 14/12/2012 [ответить] [смотреть все]  
  • –2 +/
    Угу, я уже побежал вкатывать моно на все серваки ... весь текст скрыт [показать]
     
     
  • 2.38, Пингвино, 20:02, 14/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Ты такой смешной, хотя мне тебя жаль Выполнять поиск по дереву исходных текст... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.82, Аноним, 23:13, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Ну дык автор rsyslog в следующей версии, чтобы догнать и перегнать поцтеринга, с... весь текст скрыт [показать]
     
  • 2.49, Аноним, 21:12, 14/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    твой горе-локалхост теперь серваками зовётся ... весь текст скрыт [показать] [показать ветку]
     
  • 1.24, Аноним, 19:46, 14/12/2012 [ответить] [смотреть все]  
  • +/
    Офак. "Проиндексировал ли ты свои ихсодники?"...
     
  • 1.31, Пользователь Дебиан, 19:54, 14/12/2012 [ответить] [смотреть все]  
  • +2 +/
    Они не осилили 'git grep'?
     
     
  • 2.37, Аноним, 20:01, 14/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Это дотнетчики Ща они еще свой SVN напишут Зато, блин, на дотнете ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.50, Аноним, 21:14, 14/12/2012 [^] [ответить] [смотреть все]  
  • –3 +/
    ты так раскудахтался, будто за свою никчёмную жизнь что-то сложнее пяти команд в... весь текст скрыт [показать]
     
     
  • 4.54, Аноним, 22:00, 14/12/2012 [^] [ответить] [смотреть все]  
  • +7 +/
    > ты так раскудахтался, будто за свою никчёмную жизнь что-то сложнее пяти команд
    > в шелле написал

    Батхерт у дотнетчика? Значит день удался!

     
     
  • 5.78, Аноним, 20:35, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    > Батхерт у дотнетчика? Значит день удался!

    +100500 :-)


     
  • 2.41, Crazy Alex, 20:10, 14/12/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А всё обязано лежать в гите Ну и их подход я его выше описал действительно ве... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.45, Аноним, 20:47, 14/12/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    Именно исходники - ну, почти Поскольку там еще и версионирование есть ... весь текст скрыт [показать]
     
     
  • 4.56, Crazy Alex, 22:30, 14/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Во-первых есть и другие SCM Во-вторых как лежали на сорсфорже тарболлы, так и л... весь текст скрыт [показать]
     
     
  • 5.60, Аноним, 00:23, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Есть Просто они как правило менее удобны Особенно для проектов где 2 гига хлам... весь текст скрыт [показать]
     
     
  • 6.73, Crazy Alex, 18:34, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Поразвлекался тут Исходники к прошивке андоида от Асера какого-то 4 гига gi... весь текст скрыт [показать]
     
     
  • 7.76, Aleksey Salow, 20:32, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    А beagrep сколько ... весь текст скрыт [показать]
     
     
  • 8.80, Crazy Alex, 21:25, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Поленился ставить Но по идее - доли секунды поиск там один запрос к индексу , ... весь текст скрыт [показать]
     
  • 5.79, Аноним, 20:38, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Сие есть правда Как пложили их туда в начале нулевых - так и лежат Не удаляюся... весь текст скрыт [показать]
     
     
  • 6.81, Crazy Alex, 21:34, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Что-то надо обновлять, что-то - нет Много и на сорсфорже живого Но суть не в т... весь текст скрыт [показать]
     
     
  • 7.83, Аноним, 23:15, 15/12/2012 [^] [ответить] [смотреть все]  
  • +/
    Обычно к версионнику добавляют веб-морду, а там вытянуть снапшот по тегу в виде ... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor