1.2, Аноним (-), 18:20, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
>способный выполнить поиск по дереву исходных текстов размером 2 Гб всего за 2 секунды
Написали бы на С - было бы 0.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 +/– |
> за бесконечное время, да.
Чего бы ради за бесконечное? Может еще и для любой программы? :)
| |
|
|
|
|
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 +/– |
> Пайтон на пайтоне, опроверг эту теорию.
Недопиленная версия просто. Урезанная. Вот и... :)
| |
|
|
|
|
4.87, Аноним (-), 23:25, 15/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
> писали бы на асм... не написали бы ещё.
Лучше упорная работа над собой, чем штампование тяп-ляпок за пару минут.
| |
|
|
|
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 не только для сишников.... но все равно плюсую - монохрени не надо!
| |
|
|
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.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.10, Аноним (-), 18:56, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> написана на языке C# с использованием Mono
Спасибо, не нужно. Штука полезная, но ставить ради неё сотню мб добра — увольте.
| |
|
|
|
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#
> Угу, я уже побежал вкатывать моно на все серваки...
твой горе-локалхост теперь серваками зовётся?
| |
|
|
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 +/– |
> ты так раскудахтался, будто за свою никчёмную жизнь что-то сложнее пяти команд
> в шелле написал
Батхерт у дотнетчика? Значит день удался!
| |
|
|
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 сколько?
| |
|
|
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 [^] [^^] [^^^] [ответить]
| +/– |
> Что-то надо обновлять, что-то - нет. Много и на сорсфорже живого. Но
> суть не в том. Если нужен релиз (а как правило он
> и нужен) - чаще всего это таки тарболлы, даже если доступен
> версионник - обычно нужны дополнительные телодвижения, чтобы актуальный релиз из него
> дёрнуть.
Обычно к версионнику добавляют веб-морду, а там вытянуть снапшот по тегу в виде архива - никакой проблемы.
| |
|
|
|
|
|
|
|