The OpenNET Project / Index page

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

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

14.12.2012 18:00

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

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

  1. Главная ссылка к новости (http://baohaojun.github.com/be...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/35606-grep
Ключевые слова: grep, beagrep
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (79) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (-), 18:20, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >способный выполнить поиск по дереву исходных текстов размером 2 Гб всего за 2 секунды

    Написали бы на С - было бы 0.2 секунды.

     
     
  • 2.3, Аноним (-), 18:23, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Написали бы на asm - было  бы 0.16666 секунды.
     
     
  • 3.4, GentooBoy (ok), 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 (ok), 19:54, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >поделитесь секретом успеха, как настраивать, какой функционал не использовать.

    Сказали же, cat > file << EOF . :)
    Все что нужно - coreutils

     
  • 5.42, develop7 (ok), 20:13, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > "Real Programmers don't use IDEs, they write programs using cat > a.out"

    за бесконечное время, да.


     
     
  • 6.44, Аноним (-), 20:44, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > за бесконечное время, да.

    Чего бы ради за бесконечное? Может еще и для любой программы? :)

     
  • 5.57, GentooBoy (ok), 23:02, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • –6 +/
    В каком музее таких программистов выставляют? Хочу сходить посмотреть.
     
  • 3.12, Аноним (-), 19:02, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Написали бы на жаве, было бы быстрее, чем на асме
     
     
  • 4.25, Аноним (-), 19:47, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +23 +/
    > Написали бы на жаве, было бы быстрее, чем на асме

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

     
     
  • 5.43, Карбофос (ok), 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 (ok), 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.

    А вот не поклонники unix-вея готовы жить с огромным комбайном-блобом с сомнительной надежностью и пользой от последнего.

     
     
  • 6.89, develop7 (ok), 20:29, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А вот не поклонники unix-вея готовы жить с огромным комбайном-блобом с сомнительной надежностью и пользой от последнего.

    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, Пингвино (ok), 19:49, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Окай, парниша, жду твою "правильную" реализацию. Или не можешь?
     
     
  • 5.30, anonymous (??), 19:52, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Окай, парниша, жду твою "правильную" реализацию. Или не можешь?

    вам бы только новым велосипедам аплодировать
    cscope, например есть как навигатор/поисковик

     
     
  • 6.39, Пингвино (ok), 20:05, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > вам бы только новым велосипедам аплодировать

    А что плохого в разнообразии? Быть может однажды вот так создадут что-то интересное и перспективное.

     
     
  • 7.85, Аноним (-), 23:18, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> вам бы только новым велосипедам аплодировать
    > А что плохого в разнообразии? Быть может однажды вот так создадут что-то
    > интересное и перспективное.

    В данном случае - заведомо неинтересно и бесперспективно. Что несколько очевидно. И смысл тогда с этим париться?

     
  • 2.17, BratSinot (?), 19:25, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Не было бы. C выигрывает при расчетах, а при ворочании данных разницы с JVM и .NET/Mono не будет. Просто JVM и .NET/Mono изначально легко маштабируемы.
     
     
  • 3.20, Grammar Nazi (?), 19:34, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    масштабируемы
     
  • 3.33, Crazy Alex (ok), 19:54, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то будет с хорошей вероятностью - C обычно провоцирует городить много менее сложные структуры данных.
     
  • 3.65, ВасисуалиьМихаил (?), 14:14, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Не было бы. C выигрывает при расчетах, а при ворочании данных разницы
    > с JVM и .NET/Mono не будет. Просто JVM и .NET/Mono изначально
    > легко маштабируемы.

    давайте на эрланге напишем тогда МАПРЕДУСЕ!

     
  • 2.22, Аноним (-), 19:43, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Написали бы на С - было бы 0.2 секунды.

    Кроме того, если libc на серваке уже есть, то вот ставить туда куче мегов дотнета ради вшивенького грепа - вот уж увольте! Дотнетчики - больные на голову люди.

     
     
  • 3.51, Аноним (-), 21:15, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> Написали бы на С - было бы 0.2 секунды.
    > Кроме того, если libc на серваке уже есть, то вот ставить туда
    > куче мегов дотнета ради вшивенького грепа - вот уж увольте! Дотнетчики
    > - больные на голову люди.
    > вот уж увольте!

    ты уволен

     
     
  • 4.52, Аноним (-), 21:58, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо. Ставить на сервера ради грепа многометровый крап - удовольствие ниже среднего.
     
  • 4.75, Аноним (-), 20:25, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> вот уж увольте!
    >ты уволен

    Уборщик ночной смены сидящий за столом директора? Да - доставил :)

     

  • 1.7, Васисуалиь (ok), 18:47, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    find $PATH -type f | while read f                                                                                
    do
        awk '{print FILENAME ":" NR ":", $0}' $f
    done


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

     
     
  • 2.14, Васисуалиь (ok), 19:07, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    568М ядрёнокода проиндексировало за 1:14 с гзипаньем, "индекс" занял 184М,

    нахолодную:
    time zgrep emu10k ~/kernel.gz 8,00s user 0,59s system 112% cpu 7,661 total
    нагорячую (сопсна, можно индексировать в tmpfs)
    time zgrep emu10k ~/kernel.gz > /dev/null  1,49s user 0,09s system 120% cpu 1,312 total

     
     
  • 3.35, Crazy Alex (ok), 19:59, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, сделать что-то подобное мелким скриптом было бы забавно :-) А то для таких задач дотнеты - вроде и перебор...
     
     
  • 4.64, ВасисуалиьМихаил (?), 14:12, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Хм, сделать что-то подобное мелким скриптом было бы забавно :-) А то
    > для таких задач дотнеты - вроде и перебор...

    дык, в чём проблема, берите-пользуйтесь, в юзерский кронтаб засунуть (можно дополнительно поставить условие, чтобы смотрел, изменился ли каталог, чтобы лишний раз не переиндексировать), решение рабочее

     
     
  • 5.69, Crazy Alex (ok), 17:36, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, как минимум либо демона с fanotify добавлять надо, либо сохранение mtime для файлов/каталогов и соответствующий апдейт - должно быть быстро по идее. Иначе новые вхождения пропускать будет. Но решение с индексацией по файлам и потом грепанием только избранных, как у автора, вроде забавнее... А дальше варианты - либо идексатор бе beagle а что-то попроще, но готовое, либо велосипед - там один хрен на 1000 строк кода...
     
     
  • 6.92, Васисуалиь (ok), 13:28, 18/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну, как минимум либо демона с fanotify добавлять надо, либо сохранение mtime
    > для файлов/каталогов и соответствующий апдейт - должно быть быстро по идее.
    > Иначе новые вхождения пропускать будет.

    это понятно, но во времена i7 и скоростных sata-шных винтов никто не мешает просто дергать переиндексацию каждый раз, если каталог изменился.

     
  • 2.61, Aleksey Salow (ok), 02:04, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ваш скрипт не переиндексирует файл в случае модификации. Также проблемы с созданием новых файлов и удалением. Или предлагаете запускать скрипт вручную каждый раз?
     
     
  • 3.63, ВасисуалиьМихаил (?), 14:11, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    с этим небольшие проблемы, но я уже писал пор ctime, можно добавлять в файл таймстэмпы, например, правда чуть усложнится грепанье. Да и переиндексировать всё не проблема - можно настроить в кронтабе, раз в n минут, например, нагрузка на IO и проц(особенно если ядер больше одного, gzip ведь не параллелится) чуть более чем никакая.

    В любом случае, лично мне трехстрочный скрипт, написанный на коленке за минуту симпатичнее, чем моноподелие, тянущее сотни мегабайт рантайма. Неынтырпрайзно? да и пофиг!

     
     
  • 4.67, Aleksey Salow (ok), 14:24, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > с этим небольшие проблемы, но я уже писал пор ctime, можно добавлять
    > в файл таймстэмпы, например, правда чуть усложнится грепанье. Да и переиндексировать
    > всё не проблема - можно настроить в кронтабе, раз в n
    > минут, например, нагрузка на IO и проц(особенно если ядер больше одного,
    > gzip ведь не параллелится) чуть более чем никакая.

    Вот напишите, сделайте как у них, а мы посмотрим кто умнее. Просто сейчас вы взяли какой-то частный случай, героически его решили, и рассказываете что .net не нужен.

     
     
  • 5.91, Васисуалиь (ok), 13:26, 18/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Авторы тоже взяли для примера частный случай андроидокода (в котором код ядра присутствует).

    Опять же, меня мой велосипед более чем устраивает.

    А .net/mono нужен и пусть будет, но не для подобных задач.

     

  • 1.9, Аноним (-), 18:54, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Ага, щас. Буду mono ради grep'а ставить.
     
  • 1.10, Аноним (-), 18:56, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > написана на языке C# с использованием Mono

    Спасибо, не нужно. Штука полезная, но ставить ради неё сотню мб добра — увольте.

     
     
  • 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, в котором автодополнение до сих пор нормально не работает, а консоль по прежнему взята из досбокса NT4? :)

     
     
  • 5.68, Mr. Cake (?), 17:30, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, просто интерактивная консоль шарпа. Автодополнение в рамках BCL. Запускаешь, пишешь код, оно сразу результаты выдаёт. Используется, как правило, для быстрой проверки работоспособности конструкций, ну или ради сложных трансформаций над данными с применением LINQ, если IDE запускать лениво или займёт больше времени.
     
  • 2.40, Crazy Alex (ok), 20:06, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Всё проще - там очень простая идея - оно основано на том, что часто грепается по чему-то, в чем можно выделить отдельные слова. Собственно, оно их выделяет, потом дергает поисковый движок (а именно Beagle - отсюда и нужда в Mono) и грепает только по файлав, которые вернул Бигль. Очень здравый подход, только это надо выполнять в виде скрипта, к которому поисковые движки вязались бы простейшим конфигом.
     
     
  • 3.77, Аноним (-), 20:34, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > грепает только по файлав, которые вернул Бигль. Очень здравый подход,

    ппц! Нет! - _П_ _П_ _Ц_ - пусть _такой_ grep у вантузятников в их вантузах только и будет.
    А в моих юниксах grep будет честно ходить по fs и лопатить что Я ему сказал и как Я ему сказал. Азъ!

     
     
  • 4.86, Аноним (-), 23:23, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> грепает только по файлав, которые вернул Бигль. Очень здравый подход,
    > ппц! Нет! - _П_ _П_ _Ц_ - пусть _такой_ grep у вантузятников
    > в их вантузах только и будет.
    > А в моих юниксах grep будет честно ходить по fs и лопатить
    > что Я ему сказал и как Я ему сказал. Азъ!

    А еще в твоих юниксах скоро будет rsyslog, с ElasticSearch (индексация логов). Который на Java.

     

  • 1.11, Мяут (ok), 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 (ok), 19:08, 17/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Заметьте что гига _биты_. Не знаю кто меряет код в битах..., кроме
    > маркетологов.

    Неправильно перевели.
    В оригинальной новости 2G.

     

  • 1.21, Аноним (-), 19:41, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > MIT и написана на языке C#

    Угу, я уже побежал вкатывать моно на все серваки...

     
     
  • 2.38, Пингвино (ok), 20:02, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Угу, я уже побежал вкатывать моно на все серваки...

    Ты такой смешной, хотя мне тебя жаль... Выполнять поиск по дереву исходных текстов на серверах. Ай-ай-ай! Да еще и на всех сразу! Работа сложная, ты устаешь, видимо, поэтому и мозг атрофируется...

     
     
  • 3.82, Аноним (-), 23:13, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну дык автор rsyslog в следующей версии, чтобы догнать и перегнать поцтеринга, собирается запилить индексирование логов через elasticsearch, который на java. Тут хошь-нехошь, а придется на серваки ставить.
     
  • 2.49, Аноним (-), 21:12, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> MIT и написана на языке C#
    > Угу, я уже побежал вкатывать моно на все серваки...

    твой горе-локалхост теперь серваками зовётся?

     

  • 1.24, Аноним (-), 19:46, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Офак. "Проиндексировал ли ты свои ихсодники?"...
     
  • 1.31, Пользователь Дебиан (?), 19:54, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Они не осилили 'git grep'?
     
     
  • 2.37, Аноним (-), 20:01, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Они не осилили 'git grep'?

    Это дотнетчики. Ща они еще свой SVN напишут. Зато, блин, на дотнете :)

     
     
  • 3.50, Аноним (-), 21:14, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >> Они не осилили 'git grep'?
    > Это дотнетчики. Ща они еще свой SVN напишут. Зато, блин, на дотнете
    > :)

    ты так раскудахтался, будто за свою никчёмную жизнь что-то сложнее пяти команд в шелле написал

     
     
  • 4.54, Аноним (-), 22:00, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > ты так раскудахтался, будто за свою никчёмную жизнь что-то сложнее пяти команд
    > в шелле написал

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

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

    +100500 :-)


     
  • 2.41, Crazy Alex (ok), 20:10, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А всё обязано лежать в гите? Ну и их подход (я его выше описал) действительно весьма здрав, гит в большинстве случаев будет много медленнее.
     
     
  • 3.45, Аноним (-), 20:47, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А всё обязано лежать в гите?

    Именно исходники - ну, почти. Поскольку там еще и версионирование есть.

     
     
  • 4.56, Crazy Alex (ok), 22:30, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых есть и другие SCM. Во-вторых как лежали на сорсфорже тарболлы, так и лежат, никуда не делись. Без всякого гит. То же касается и всяко разных исходников для андроида под разные мобилы. Ну в-третьих - грепать много по чему можно, исходниками это ну никак не ограничивается.
     
     
  • 5.60, Аноним (-), 00:23, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Во-первых есть и другие SCM.

    Есть. Просто они как правило менее удобны. Особенно для проектов где 2 гига хлама индексируется. И кстати он не требует никакого моно долбучего с его немеряной кучей либ.

    > Во-вторых как лежали на сорсфорже тарболлы, так
    > и лежат, никуда не делись. Без всякого гит.

    Ну и пусть себе лежат. Тем кто оперирует тарболами обычно нафиг не уперлась какая-то индексация сорсов. Ибо не разработчики.

    > То же касается и всяко разных исходников для андроида под разные мобилы.

    У нормальных людей давно уже vcs есть. А у кого нету - гм, ну, мазохизм, наверное, имеет право на жизнь. Хотя особо удачливые мазохисты и дарвинисты опровергают этот тезис, успешно самовыпилившись.

     
     
  • 6.73, Crazy Alex (ok), 18:34, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Поразвлекался тут...
    Исходники к прошивке андоида от Асера какого-то. 4 гига.

    git add - 9 с копейками минут. git commit - еще 3 минуты.
    git grep simcom - 1 минута 40 секунд.

    обычный grep - прервал через 10 минут, ни черта не выдало
    ack - 1 минута 50 секунд.

    И ack, и git grep вывели не все вхождения - пропустили бинари и что-то относящееся к сборке.

    вышеуказанный скрипт добавлял 11 минут. Поиск по файлу с помощью zgrep - 46 секунд, Вытащил, разумеется, всё.

     
     
  • 7.76, Aleksey Salow (ok), 20:32, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > вышеуказанный скрипт добавлял 11 минут. Поиск по файлу с помощью zgrep -
    > 46 секунд, Вытащил, разумеется, всё.

    А beagrep сколько?

     
     
  • 8.80, Crazy Alex (ok), 21:25, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Поленился ставить Но по идее - доли секунды поиск там один запрос к индексу , ... текст свёрнут, показать
     
  • 5.79, Аноним (-), 20:38, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Во-первых есть и другие SCM. Во-вторых как лежали на сорсфорже тарболлы, так
    > и лежат, никуда не делись. Без всякого гит.

    Сие есть правда. Как пложили их туда в начале нулевых - так и лежат. Не удаляюся но ии не обновляются.
    А реальная жизнь нынче на других площадках, и что характерно - чаще с GIT :)

     
     
  • 6.81, Crazy Alex (ok), 21:34, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то надо обновлять, что-то - нет. Много и на сорсфорже живого. Но суть не в том. Если нужен релиз (а как правило он и нужен) - чаще всего это таки тарболлы, даже если доступен версионник - обычно нужны дополнительные телодвижения, чтобы актуальный релиз из него дёрнуть.
     
     
  • 7.83, Аноним (-), 23:15, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Что-то надо обновлять, что-то - нет. Много и на сорсфорже живого. Но
    > суть не в том. Если нужен релиз (а как правило он
    > и нужен) - чаще всего это таки тарболлы, даже если доступен
    > версионник - обычно нужны дополнительные телодвижения, чтобы актуальный релиз из него
    > дёрнуть.

    Обычно к версионнику добавляют веб-морду, а там вытянуть снапшот по тегу в виде архива - никакой проблемы.

     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру