The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от opennews (??) on 14-Дек-12, 18:17 
В рамках проекта beagrep (http://baohaojun.github.com/beagrep.html) развивается полезный для разработчиков больших проектов вариант утилиты grep, способный выполнить поиск по дереву исходных текстов размером 2 Гб всего за 2 секунды (аналогичный поиск утилитой grep занимает 5 минут). Подобная скорость достигается благодаря использованию предварительной индексации данных, при этом построение индекса занимает достаточно много времени (для кода платформы Android индекс создаётся около 8 минут).


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

URL: http://baohaojun.github.com/beagrep.html
Новость: http://www.opennet.dev/opennews/art.shtml?num=35606

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


2. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +3 +/
Сообщение от Аноним (??) on 14-Дек-12, 18:20 
>способный выполнить поиск по дереву исходных текстов размером 2 Гб всего за 2 секунды

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +4 +/
Сообщение от Аноним (??) on 14-Дек-12, 18:23 
Написали бы на asm - было  бы 0.16666 секунды.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +2 +/
Сообщение от GentooBoy (ok) on 14-Дек-12, 18:30 
Писали бы сразу в машинных кодах ... Да нет хрень это. )))
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

23. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +8 +/
Сообщение от Аноним (??) on 14-Дек-12, 19:46 
"Real Programmers don't use IDEs, they write programs using cat > a.out"
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

29. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  –3 +/
Сообщение от anonymous (??) on 14-Дек-12, 19:50 
IDE и 100MB кода?
поделитесь секретом успеха, как настраивать, какой функционал не использовать.
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

32. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +1 +/
Сообщение от ZloySergant (ok) on 14-Дек-12, 19:54 
>поделитесь секретом успеха, как настраивать, какой функционал не использовать.

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

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

42. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от develop7 (ok) on 14-Дек-12, 20:13 
> "Real Programmers don't use IDEs, they write programs using cat > a.out"

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


Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

44. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +1 +/
Сообщение от Аноним (??) on 14-Дек-12, 20:44 
> за бесконечное время, да.

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

Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

57. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  –6 +/
Сообщение от GentooBoy (ok) on 14-Дек-12, 23:02 
В каком музее таких программистов выставляют? Хочу сходить посмотреть.
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

12. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +2 +/
Сообщение от Аноним (??) on 14-Дек-12, 19:02 
Написали бы на жаве, было бы быстрее, чем на асме
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

25. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +23 +/
Сообщение от Аноним (??) on 14-Дек-12, 19:47 
> Написали бы на жаве, было бы быстрее, чем на асме

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

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

43. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +1 +/
Сообщение от Карбофос (ok) on 14-Дек-12, 20:41 
только ребятам на адронном коллайдере этого не рассказывайте. так, на всякий. :)
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

58. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +1 +/
Сообщение от Аноним (??) on 14-Дек-12, 23:04 
Пайтон на пайтоне, опроверг эту теорию.
Хотя стал быстрее СИ.
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

59. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  –1 +/
Сообщение от Аноним (??) on 15-Дек-12, 00:18 
> Пайтон на пайтоне, опроверг эту теорию.

Недопиленная версия просто. Урезанная. Вот и... :)

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

62. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Кевин on 15-Дек-12, 03:50 
писали бы на асм... не написали бы ещё.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

87. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 15-Дек-12, 23:25 
> писали бы на асм... не написали бы ещё.

Лучше упорная работа над собой, чем штампование тяп-ляпок за пару минут.

Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

5. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +2 +/
Сообщение от develop7 (ok) on 14-Дек-12, 18:34 
> написали *БЫ*
> было *БЫ*

.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

26. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +2 +/
Сообщение от Аноним (??) on 14-Дек-12, 19:48 
>> написали *БЫ*
>> было *БЫ*

Ну и как, ты уже вкатил многометровую моновскую какашку не сервера ради ... грепа? :)

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

84. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 15-Дек-12, 23:17 
>>> написали *БЫ*
>>> было *БЫ*
> Ну и как, ты уже вкатил многометровую моновскую какашку не сервера ради
> ... грепа? :)

Ради rsyslogа фанаты юникс-ой-вея будут и openjdk вкатывать, делов-то.
Причем не только на серваки, но и на эмбеддовку.

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

88. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 16-Дек-12, 16:43 
Только не надо тро-ло-то.
У rsyslog-а нет зависимостей кроме libc, libthr и libz.

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

Ответить | Правка | ^ к родителю #84 | Наверх | Cообщить модератору

89. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от develop7 (ok) on 16-Дек-12, 20:29 
> А вот не поклонники unix-вея готовы жить с огромным комбайном-блобом с сомнительной надежностью и пользой от последнего.

KERNEL32.DLL?

Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

6. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +9 +/
Сообщение от ig0r (??) on 14-Дек-12, 18:45 
У разработчиков на C обычно нет проблемы с размерами исходных кодов, эта проблема остра для програмистов на яве, дотнет, и т.п.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

8. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +11 +/
Сообщение от абыр email on 14-Дек-12, 18:52 
У сишников есть ctags, нам этой монохрени не надо :)
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

19. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +2 +/
Сообщение от anonim on 14-Дек-12, 19:27 
Вообще-то ctag не только для сишников.... но все равно плюсую - монохрени не надо!
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

28. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  –1 +/
Сообщение от Пингвино (ok) on 14-Дек-12, 19:49 
Окай, парниша, жду твою "правильную" реализацию. Или не можешь?
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

30. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +2 +/
Сообщение от anonymous (??) on 14-Дек-12, 19:52 
> Окай, парниша, жду твою "правильную" реализацию. Или не можешь?

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

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

39. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Пингвино (ok) on 14-Дек-12, 20:05 
> вам бы только новым велосипедам аплодировать

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

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

85. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +1 +/
Сообщение от Аноним (??) on 15-Дек-12, 23:18 
>> вам бы только новым велосипедам аплодировать
> А что плохого в разнообразии? Быть может однажды вот так создадут что-то
> интересное и перспективное.

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

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

17. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  –2 +/
Сообщение от BratSinot on 14-Дек-12, 19:25 
Не было бы. C выигрывает при расчетах, а при ворочании данных разницы с JVM и .NET/Mono не будет. Просто JVM и .NET/Mono изначально легко маштабируемы.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

20. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +2 +/
Сообщение от Grammar Nazi on 14-Дек-12, 19:34 
масштабируемы
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

33. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Crazy Alex (ok) on 14-Дек-12, 19:54 
Вообще-то будет с хорошей вероятностью - C обычно провоцирует городить много менее сложные структуры данных.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

65. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от ВасисуалиьМихаил on 15-Дек-12, 14:14 
> Не было бы. C выигрывает при расчетах, а при ворочании данных разницы
> с JVM и .NET/Mono не будет. Просто JVM и .NET/Mono изначально
> легко маштабируемы.

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

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

22. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +4 +/
Сообщение от Аноним (??) on 14-Дек-12, 19:43 
> Написали бы на С - было бы 0.2 секунды.

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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

51. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 14-Дек-12, 21:15 
>> Написали бы на С - было бы 0.2 секунды.
> Кроме того, если libc на серваке уже есть, то вот ставить туда
> куче мегов дотнета ради вшивенького грепа - вот уж увольте! Дотнетчики
> - больные на голову люди.
> вот уж увольте!

ты уволен

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

52. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 14-Дек-12, 21:58 
Спасибо. Ставить на сервера ради грепа многометровый крап - удовольствие ниже среднего.
Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

75. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 15-Дек-12, 20:25 
>> вот уж увольте!
>ты уволен

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

Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

7. "нате вам индексатор"  +/
Сообщение от Васисуалиь (ok) on 14-Дек-12, 18:47 
find $PATH -type f | while read f                                                                                
do
    awk '{print FILENAME ":" NR ":", $0}' $f
done


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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "нате вам индексатор"  +/
Сообщение от Васисуалиь (ok) on 14-Дек-12, 19:07 
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

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

35. "нате вам индексатор"  +/
Сообщение от Crazy Alex (ok) on 14-Дек-12, 19:59 
Хм, сделать что-то подобное мелким скриптом было бы забавно :-) А то для таких задач дотнеты - вроде и перебор...
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

64. "нате вам индексатор"  +/
Сообщение от ВасисуалиьМихаил on 15-Дек-12, 14:12 
> Хм, сделать что-то подобное мелким скриптом было бы забавно :-) А то
> для таких задач дотнеты - вроде и перебор...

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

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

69. "нате вам индексатор"  +/
Сообщение от Crazy Alex (ok) on 15-Дек-12, 17:36 
Ну, как минимум либо демона с fanotify добавлять надо, либо сохранение mtime для файлов/каталогов и соответствующий апдейт - должно быть быстро по идее. Иначе новые вхождения пропускать будет. Но решение с индексацией по файлам и потом грепанием только избранных, как у автора, вроде забавнее... А дальше варианты - либо идексатор бе beagle а что-то попроще, но готовое, либо велосипед - там один хрен на 1000 строк кода...
Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

92. "нате вам индексатор"  +/
Сообщение от Васисуалиь (ok) on 18-Дек-12, 13:28 
> Ну, как минимум либо демона с fanotify добавлять надо, либо сохранение mtime
> для файлов/каталогов и соответствующий апдейт - должно быть быстро по идее.
> Иначе новые вхождения пропускать будет.

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

Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

61. "нате вам индексатор"  +/
Сообщение от Aleksey Salow (ok) on 15-Дек-12, 02:04 
ваш скрипт не переиндексирует файл в случае модификации. Также проблемы с созданием новых файлов и удалением. Или предлагаете запускать скрипт вручную каждый раз?
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

63. "нате вам индексатор"  +/
Сообщение от ВасисуалиьМихаил on 15-Дек-12, 14:11 
с этим небольшие проблемы, но я уже писал пор ctime, можно добавлять в файл таймстэмпы, например, правда чуть усложнится грепанье. Да и переиндексировать всё не проблема - можно настроить в кронтабе, раз в n минут, например, нагрузка на IO и проц(особенно если ядер больше одного, gzip ведь не параллелится) чуть более чем никакая.

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

Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #63 | Наверх | Cообщить модератору

91. "нате вам индексатор"  +/
Сообщение от Васисуалиь (ok) on 18-Дек-12, 13:26 
Авторы тоже взяли для примера частный случай андроидокода (в котором код ядра присутствует).

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

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

Ответить | Правка | ^ к родителю #67 | Наверх | Cообщить модератору

9. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +11 +/
Сообщение от Аноним (??) on 14-Дек-12, 18:54 
Ага, щас. Буду mono ради grep'а ставить.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 14-Дек-12, 18:56 
> написана на языке C# с использованием Mono

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

15. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от гость email on 14-Дек-12, 19:19 
Это они ещё индексируемый cat на моно не выпустили!
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

16. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  –1 +/
Сообщение от Andrey Mitrofanov on 14-Дек-12, 19:21 
Зато у них уже есть [почти] шелл на си-шарпе.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

27. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 14-Дек-12, 19:49 
> Зато у них уже есть [почти] шелл на си-шарпе.

Это который? Powershell, в котором автодополнение до сих пор нормально не работает, а консоль по прежнему взята из досбокса NT4? :)

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

68. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Mr. Cake on 15-Дек-12, 17:30 
Нет, просто интерактивная консоль шарпа. Автодополнение в рамках BCL. Запускаешь, пишешь код, оно сразу результаты выдаёт. Используется, как правило, для быстрой проверки работоспособности конструкций, ну или ради сложных трансформаций над данными с применением LINQ, если IDE запускать лениво или займёт больше времени.
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

40. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Crazy Alex (ok) on 14-Дек-12, 20:06 
Всё проще - там очень простая идея - оно основано на том, что часто грепается по чему-то, в чем можно выделить отдельные слова. Собственно, оно их выделяет, потом дергает поисковый движок (а именно Beagle - отсюда и нужда в Mono) и грепает только по файлав, которые вернул Бигль. Очень здравый подход, только это надо выполнять в виде скрипта, к которому поисковые движки вязались бы простейшим конфигом.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

77. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 15-Дек-12, 20:34 
> грепает только по файлав, которые вернул Бигль. Очень здравый подход,

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

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

86. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 15-Дек-12, 23:23 
>> грепает только по файлав, которые вернул Бигль. Очень здравый подход,
> ппц! Нет! - _П_ _П_ _Ц_ - пусть _такой_ grep у вантузятников
> в их вантузах только и будет.
> А в моих юниксах grep будет честно ходить по fs и лопатить
> что Я ему сказал и как Я ему сказал. Азъ!

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

Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

11. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Мяут (ok) on 14-Дек-12, 19:00 
Хм, а чем это лучше Cross-Reference типа LXR или OpenGrok? Последний еще и за счет Exuberant Ctags умеет понимать конструкции языка и поддерживает язык запросов.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +1 +/
Сообщение от Andrey Mitrofanov on 14-Дек-12, 19:05 
> дереву исходных текстов размером 2 Гб всего за 2 секунды (аналогичный
> поиск утилитой grep занимает 5 минут)

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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  –1 +/
Сообщение от Аноним (??) on 14-Дек-12, 19:25 
Заметьте что гига _биты_. Не знаю кто меряет код в битах..., кроме маркетологов.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

90. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от XoRe (ok) on 17-Дек-12, 19:08 
> Заметьте что гига _биты_. Не знаю кто меряет код в битах..., кроме
> маркетологов.

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

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

21. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  –2 +/
Сообщение от Аноним (??) on 14-Дек-12, 19:41 
> MIT и написана на языке C#

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

38. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +1 +/
Сообщение от Пингвино (ok) on 14-Дек-12, 20:02 
> Угу, я уже побежал вкатывать моно на все серваки...

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

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

82. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 15-Дек-12, 23:13 
Ну дык автор rsyslog в следующей версии, чтобы догнать и перегнать поцтеринга, собирается запилить индексирование логов через elasticsearch, который на java. Тут хошь-нехошь, а придется на серваки ставить.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

49. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  –1 +/
Сообщение от Аноним (??) on 14-Дек-12, 21:12 
>> MIT и написана на языке C#
> Угу, я уже побежал вкатывать моно на все серваки...

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

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

24. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 14-Дек-12, 19:46 
Офак. "Проиндексировал ли ты свои ихсодники?"...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

31. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +2 +/
Сообщение от Пользователь Дебиан on 14-Дек-12, 19:54 
Они не осилили `git grep`?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

37. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 14-Дек-12, 20:01 
> Они не осилили `git grep`?

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

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

50. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  –3 +/
Сообщение от Аноним (??) on 14-Дек-12, 21:14 
>> Они не осилили `git grep`?
> Это дотнетчики. Ща они еще свой SVN напишут. Зато, блин, на дотнете
> :)

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

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

54. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +7 +/
Сообщение от Аноним (??) on 14-Дек-12, 22:00 
> ты так раскудахтался, будто за свою никчёмную жизнь что-то сложнее пяти команд
> в шелле написал

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

Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

78. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 15-Дек-12, 20:35 
> Батхерт у дотнетчика? Значит день удался!

+100500 :-)


Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

41. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Crazy Alex (ok) on 14-Дек-12, 20:10 
А всё обязано лежать в гите? Ну и их подход (я его выше описал) действительно весьма здрав, гит в большинстве случаев будет много медленнее.
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

45. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +1 +/
Сообщение от Аноним (??) on 14-Дек-12, 20:47 
> А всё обязано лежать в гите?

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

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

56. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Crazy Alex (ok) on 14-Дек-12, 22:30 
Во-первых есть и другие SCM. Во-вторых как лежали на сорсфорже тарболлы, так и лежат, никуда не делись. Без всякого гит. То же касается и всяко разных исходников для андроида под разные мобилы. Ну в-третьих - грепать много по чему можно, исходниками это ну никак не ограничивается.
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

60. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 15-Дек-12, 00:23 
> Во-первых есть и другие SCM.

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

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

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

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

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

Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

73. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Crazy Alex (ok) on 15-Дек-12, 18:34 
Поразвлекался тут...
Исходники к прошивке андоида от Асера какого-то. 4 гига.

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

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

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

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

Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

76. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Aleksey Salow (ok) on 15-Дек-12, 20:32 
> вышеуказанный скрипт добавлял 11 минут. Поиск по файлу с помощью zgrep -
> 46 секунд, Вытащил, разумеется, всё.

А beagrep сколько?

Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

80. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Crazy Alex (ok) on 15-Дек-12, 21:25 
Поленился ставить. Но по идее - доли секунды поиск (там один запрос к индексу), а сама индексация - черт его знает...
Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

79. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 15-Дек-12, 20:38 
> Во-первых есть и другие SCM. Во-вторых как лежали на сорсфорже тарболлы, так
> и лежат, никуда не делись. Без всякого гит.

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

Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

81. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Crazy Alex (ok) on 15-Дек-12, 21:34 
Что-то надо обновлять, что-то - нет. Много и на сорсфорже живого. Но суть не в том. Если нужен релиз (а как правило он и нужен) - чаще всего это таки тарболлы, даже если доступен версионник - обычно нужны дополнительные телодвижения, чтобы актуальный релиз из него дёрнуть.
Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

83. "beagrep - индексируемый вариант grep, перебирающий 2 Гб кода..."  +/
Сообщение от Аноним (??) on 15-Дек-12, 23:15 
> Что-то надо обновлять, что-то - нет. Много и на сорсфорже живого. Но
> суть не в том. Если нужен релиз (а как правило он
> и нужен) - чаще всего это таки тарболлы, даже если доступен
> версионник - обычно нужны дополнительные телодвижения, чтобы актуальный релиз из него
> дёрнуть.

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

Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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