The OpenNET Project / Index page

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

Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода

09.08.2016 08:12

Спустя три с половиной года с момента прошлого выпуска представлен релиз набора GNU Diffutils 3.4, включающего утилиты для оценки различий в файлах, такие как diff, diff3, sdiff и cmp. В новой версии представлено два значительных улучшения:

  • Добавлена опция "--color", при помощи которой можно сформировать наглядное выделение различий цветом. Опционально поддерживается передача параметра, определяющего в каких ситуациях применять подсветку строк: "--color=always", "--color=auto" и "--color=never". Для настройки цветов предоставлена опция "--palette".
  • Впервые с 1993 года внесены изменения в предлагаемый по умолчанию алгоритм выявления различий. Изменения позволили увеличить качество вывода результатов сравнения, ценой небольшого повышения нагрузки на CPU.


  1. Главная ссылка к новости (http://www.mail-archive.com/in...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/44932-diffutils
Ключевые слова: diffutils, diff, patch
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (80) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Лютый жабист_ (?), 08:29, 09/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –19 +/
    На самом деле все эти утили безбожно устарели. Например sort. Казалось бы - написано бородатым прогером 30 лет назад, на ansi C. Значит всяко быстрее всех!

    А на практике, скармливаешь ему гигабайтный файл (недействительные паспорта РФ, 100млн строк) и оно умирает на час с потреблением ОЗУ 8ГБ.

    В то время как прога на java делает то же самое за 40 секунд и потреблением 4ГБ.

    Так что модный порыв - переписать всё на GO вполне возможно, что и не глупость.

     
     
  • 2.3, Аноним (-), 08:46, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +11 +/
    На 1С перепиши.
     
     
  • 3.4, Лютый жабист_ (?), 08:53, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А по делу что скажете? Медленнее в сотни раз, зато православно? :)
     
     
  • 4.80, Аноним (-), 21:53, 12/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > А по делу что скажете? Медленнее в сотни раз, зато православно? :)

    По делу на это говорят patches welcome.

     
  • 3.5, Лютый жабист_ (?), 08:58, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Ещё из того что вызывает недоумение в 2016-м году:

    Argument list too long у большинства "старых добрых" утилей, например grep -R /dir-with-50k-files

     
     
  • 4.7, anonymous (??), 09:03, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Ты реально дурачек если незнаешь что это
     
     
  • 5.11, Horekk (?), 09:27, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Пусть я буду дурачком, но вы бы не могли пояснить?
     
     
  • 6.15, Аноним (-), 09:49, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Общая длина аргументов командной строки ограничивается ядром ОС.

    Вот почитайте для общего развития http://www.in-ulm.de/~mascheck/various/argmax/

     
     
  • 7.17, Лютый жабист_ (?), 10:11, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –8 +/
    > Общая длина аргументов командной строки ограничивается ядром ОС.

    Интересно, почему тогда

    ls /home/xml/ | wc -l

    прекрасно работает, а

    grep -Ri 'blabla' /home/xml/*
    /usr/bin/grep: Argument list too long

    у wc другое ядро? :)

     
     
  • 8.19, anonymous (??), 10:14, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +6 +/
    ты будешь удивлен, но это не grep пишет... текст свёрнут, показать
     
     
  • 9.81, Аноним (-), 21:57, 12/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А мы не будем удивлены - он честно написал что жабист Поэтому он дуб и не поним... текст свёрнут, показать
     
  • 8.21, Crazy Alex (ok), 10:25, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Потому что в первом случае у команд по одному аргументу Содержимое каталога из ... текст свёрнут, показать
     
  • 8.48, anonymous (??), 16:53, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что в пером случае длинный список файлов едет в wc через пайп, и обе кома... текст свёрнут, показать
     
  • 8.52, Мяут (ok), 19:07, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Откройте для себя xargs... текст свёрнут, показать
     
  • 4.13, Sabakwaka (ok), 09:45, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +8 +/
    >> А по делу что скажете?

    По делу скажу, что вы нас обманываете.

     
  • 4.14, Michael Shigorin (ok), 09:49, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Argument list too long у большинства "старых добрых" утилей, например grep -R
    > /dir-with-50k-files

    И ведь врёте.  Ну или кой-чего протеряли.

     
  • 4.82, Аноним (-), 22:12, 12/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Argument list too long у большинства "старых добрых" утилей, например grep -R
    > /dir-with-50k-files

    Представь себе, максимальный размер argv и env - ограничен. Для "безразмерных" вещей есть такие вещи как перенаправление. Можешь попробовать из "новой" программы и даже писаной на яве отгружать огромный командлайн другим программам. Догадайся куда тебя пошлет система с этими начинаниями.

     
  • 3.84, Аноним (-), 22:17, 12/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > На 1С перепиши.

    Зачем? Уже есть git diff. Он умеет и с цветом и даже сравнение файлов совсем без гитовых реп. А в гитовых репах еще и по ревизиям может сообразить. Superset diff'а.

     
  • 2.6, Anon15 (?), 09:02, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Очень мило: единичный пример с одной старой утилитой (вы хоть в багтрекер отписались?) и тут же вывод о том, что ВСЕ "эти утили безбожно устарели".
     
     
  • 3.8, анонко (?), 09:05, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +6 +/
    если пользоваться "старым и проверенным", нынешним программистам будет не за что платить
     
  • 2.12, . (?), 09:27, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +6 +/
    присоединяюсь к - завязывай с наркотой.
    Если "прога на жабе" гигабайт сортирует за 40 секунд - это мухоморы. Потому что даже у хороших дисков нынче 200mb/s в идеально-сферическом вакууме - она из этих сорока 20 только читать файл будет.

    Никаких прорывов в алгоритмах сортировки со времен первого тома Кнута нет.
    Поэтому если у тебя действительно что-то получилось быстрее чем у sort - скорее всего, твоя программа делает (недопустимые) предположения о наборе исходных данных или об окружении (размере файла, количестве доступной памяти).
    Если мы знаем заранее что в файле лежат номера паспортов, которые всегда начинаются с цифры и первые две всегда 45, причем длины строк тоже в предсказуемом диапазоне - да, можно сделать побыстрее чем sort. Только ничего кроме этого файла оно сортировать и не будет. Причем и с этим не все хорошо - его составляли люди, и им свойственно иногда вляпать z вместо 4. Или склеить две строки в одну.

    > Так что модный порыв - переписать всё на GO вполне возможно, что и не глупость.

    глупость, увы - потому что пока кроме массы переписанных sort'ов ничего хорошего этот порыв не произвел. Все _большие_ проекты на go выглядят на редкость уныло. Возможно именно потому, что весь пар ушел в переписывание stdlib. Но скорее в виду специфики языка.

     
     
  • 3.16, Лютый жабист_ (?), 10:09, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Потому что даже у хороших дисков нынче 200mb/s в идеально-сферическом вакууме

    Гигабайт со скоростью 200мб/с == 20 сек? И эти люди мне про наркоту говорят. :)

    Остальное я даже комментировать не хочу. А что там в либе fastutils в LongOpenHashSet авторы придумали, мне не очень интересно. Но разумеется, ничего в духе "первые две всегда 45".

     
     
  • 4.20, Лютый жабист_ (?), 10:15, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Так, навскидку... в fastutils какие-нибудь суровые красно-черные деревья, а в GNU sort плешивый пузырёк. :)
     
     
  • 5.22, angra (ok), 10:28, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    С каких пор пузырек стал разновидностью merge sort? Или ты из "я знаю ушу, кунг-фу и много других страшных слов"?
     
  • 4.24, . (?), 10:32, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    _в идеально сферическом вакууме_ - это sustained read, в однозадачной системе И... большой текст свёрнут, показать
     
     
  • 5.26, . (?), 10:41, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > не получается? Значит, это проблема go.

    а, стоп. У него жаба же. Ну да, ну да.

     
  • 5.31, angra (ok), 11:12, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Слышь, борец за права С, ты вообще в курсе, что в С "the minimum size for short and int is 16 bits, for long it is 32 bits"
    Так что, во-первых, со сборкой на true-восьмибитном процессоре для современного C возникнут сложности,  во-вторых, равенство между этими тремя типами возможно минимум на 32-х битном процессоре, так как стандарт ограничивает только нижнюю границу и соотношение short<=int<=long
    Ну а в Go типа long вообще нет. Плавающий типы там только int/uint/intptr, а все остальные целочисленные типы явно указывают количество бит(int8, int16...) или являются алиасами(byte/rune). Так что с Go ты вообще пролетел как фанера над парижем.
     
     
  • 6.53, Аноним (-), 20:18, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > борец за права С, ты вообще в курсе, что в С "the minimum size for short and int is 16 bits, for long it is 32 bits"

    сам-то умнее? тебе слово "minimum" увеличить? sizeof(short) == sizeof(int) == sizeof(long) == 32 вполне удовлетворяют тому, что ты написал.

     
     
  • 7.60, Аноним (-), 22:53, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    ТруЪ-восьмибитный процессор с 32-битным short-ом? Wat?
     
  • 7.62, angra (ok), 00:01, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Я так понимаю, что дальше первого предложения ты не прочитал и сразу бросился строчить гневный ответ. Попробуй все-таки прочитать второе предложение предыдущего поста, там почти то же самое: "во-вторых, равенство между этими тремя типами возможно минимум на 32-х битном процессоре, так как стандарт ограничивает только нижнюю границу и соотношение short<=int<=long ". Ну и остальное можешь тоже дочитать для самообразования.
     
     
  • 8.77, Аноним (-), 20:10, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Слушай, вот, блин, честно так и было Я не шучу Поздно было, хотелось спать Са... текст свёрнут, показать
     
     
  • 9.85, Аноним (-), 22:19, 12/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    В ранних стандартах си много странностей А вменяемые типы с известными размерам... текст свёрнут, показать
     
  • 4.83, Аноним (-), 22:14, 12/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Потому что даже у хороших дисков нынче 200mb/s в идеально-сферическом вакууме

    А у хороших SSD и пара гигов в секунду бывает. Стоят они правда тоже хорошо.

     
  • 3.49, й (?), 18:06, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Потому что даже у хороших дисков нынче 200mb/s в идеально-сферическом вакууме

    у меня два гига на чтение, гиг на запись. на лаптопе с одним ssd (он не sata, да). добро пожаловать в 2016 год.

     
  • 2.18, angra (ok), 10:12, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я даже не поленился проверить. 50kk строк с случайными 10-ти цифровыми значениями, 500MB. То есть всего в половину меньше. С записью  результата в файл.
    Command being timed: "sort -n data"
    User time (seconds): 119.73
    System time (seconds): 3.44
    Percent of CPU this job got: 253%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:48.63
    Maximum resident set size (kbytes): 2098020

    Как видно ни о каком часе речи не идет. Потребление памяти как и жабы в 4 раза больше объема сортировки. Если без указания -n, то работает раза в три дольше.

     
     
  • 3.23, Аноним (-), 10:29, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну пи**ит же как троцкий. Или руки у него закручены восходящей спиралью вокруг туловища.
     
  • 3.25, . (?), 10:40, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Я даже не поленился проверить. 50kk строк с случайными 10-ти цифровыми значениями,
    > 500MB. То есть всего в половину меньше. С записью  результата
    > в файл.
    > Как видно ни о каком часе речи не идет. Потребление памяти как
    > и жабы в 4 раза больше объема сортировки. Если без указания
    > -n, то работает раза в три дольше.

    env LC_ALL=C
    в данной задаче нам очень вряд ли нужны правильные collate sequence и вообще знание о том, восьмибитный это файл или нет. (кстати, это место у gnu sort действительно заслуживает анализа и, возможно - багрепорта. Я еще помню, когда и откуда мы его выдирали (не из gnu исходника ни разу), когда, разумеется, приходилось радоваться что хоть такой есть. Поддержку юникода туда добавили позже, и, почти уверен, сделали это плохо.)

    P.S. кажется, я понял откуда часы - у товарисча банковского работничка дерьмоноут с недостаточной памятью - сорт туда просто не уместился, и сортировал своп, а вот go в силу использования другого алгоритма как-то влез, на грани фола. Ну и соответственно сравнивает он скорость своего недодиска со скоростью оперативки. Виноват, конечно же, язык си.


     
     
  • 4.33, Лютый жабист_ (?), 11:29, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Качайте оригинал, не страдайте фигнёй.
    http://guvm.mvd.ru/upload/expired-passports/list_of_expired_passports.csv.bz2

    Ключ -n не сработает, т.к. там есть и паспорта СССР :)))


    [bla@vault13 /tmp]# hdparm -t /dev/md1

    /dev/md1:
    Timing buffered disk reads: 956 MB in  3.00 seconds = 318.33 MB/sec

    #free
                  total        used        free      shared  buff/cache   available
    Mem:       32870168    14713236    12611568      456084     5545364    17234124
    Swap:             0           0           0

     
     
  • 5.34, Лютый жабист_ (?), 11:40, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Сделаем сишечке гандикапчик :)))) распаковал в TMPFS
    [bla@vault13 /tmp]# time bzip2 -d list_of_expired_passports.csv.bz2
    40.269u 0.436s 0:40.70 99.9%    0+0k 0+0io 0pf+0w

    Запустили... чё-то оно быстро отработало, всего 2.20 минуты. Похоже я с uniq попутал.

    time sort list_of_expired_passports.csv >list2
    632.633u 4.176s 2:20.45 453.3%  0+0k 0+0io 0pf+0w

    Тем не менее, жрало в процессе больше 12ГБ под конец. Ну и повторюсь, java - 40 сек :))))
    [bla@vault13 go]# ps axu | grep sort
    root     18756  621 30.7 11793172 10119724 pts/17 Rl+ 15:35   8:04 sort list_of_expired_passports.csv
    root     18781  0.0  0.0  11996  2348 pts/10   S+   15:36   0:00 grep sort

     
     
  • 6.35, Лютый жабист_ (?), 11:43, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    С -n таки отработало за 43 сек. Почти как жаба :) Но потребление ОЗУ по-прежнему 12ГБ

    [bla@vault13 /tmp]# time sort -n list_of_expired_passports.csv > list3
    173.216u 4.126s 0:42.99 412.4%  0+0k 448+0io 3pf+0w

     
     
  • 7.39, Лютый (?), 13:58, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Всё,вспомнил. Задача была выделить дельту из последнего списка и недельной давности. И как раз diff час тупил и жрал озу.
     
     
  • 8.54, Аноним (-), 20:21, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Да-да, и не в лотерею, а в покер, и не выиграл, а проиграл ... текст свёрнут, показать
     
     
  • 9.70, Лютый жабист_ (?), 12:01, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Вообще, мне уже очевидно, что в теме ни одного прогера кроме меня нет Пото... текст свёрнут, показать
     
     
  • 10.72, freehck (ok), 13:03, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты про hashmap ни словом не обмолвился И задачу про выделить дельту только в ... текст свёрнут, показать
     
     
  • 11.75, Andrey Mitrofanov (?), 15:14, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Во-первых, comm -3 Во-вторых, sort -u В-третьих, зачем Вы разговариваете с меб... текст свёрнут, показать
     
     
  • 12.76, freehck (ok), 18:18, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    О, спасибо Не знал про неё Уточнения ради я всегда использовал sort 124 un... текст свёрнут, показать
     
  • 6.71, freehck (ok), 12:45, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё бы ты размер этого файла приложил. А то может у тебя 2 гига - это в архиве? :)

    А вообще, врёшь ведь, и не краснеешь. Вот у меня как раз во время всяческих тестов появился один чисто текстовый лог-файл на 26 гигов. Я выдираю из него ровно один гиг.

    freehck@ws-kashin:~% ls -l 1gb-file.log                                  
    -rw-r--r-- 1 freehck freehck 1073741824 авг 10 12:37 1gb-file.log
    freehck@ws-kashin:~% /usr/bin/time -v sort 1gb-file.log > 1gb-file.sorted.log
    ...
    User time (seconds): 324.13
    System time (seconds): 2.32
    Percent of CPU this job got: 493%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 1:06.15
    ...
    Maximum resident set size (kbytes): 2044984
    ...

    Абсолютно разнородные строки. Минута реального времени (хотя реальное время - плохая метрика). 2 гига на пике потребления памяти.

     
  • 5.41, Анонизмус (?), 14:22, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    export LC_ALL=C
    time sort list_of_expired_passports.csv > list_of_expired_passports_s.csv

    real 0m44.701s
    user 1m19.532s
    sys 0m3.836s

     
     
  • 6.42, Анонизмус (?), 14:23, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    При этом потребление памяти 3ГиБ, в пике.
     
  • 2.29, Ананым (?), 10:59, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > На самом деле все эти утили безбожно устарели.

    Не поверишь, но линух без них не работает. И bsd. Поэтому срочно перелезай на windows 10 - он недавно обновился и там куча всего нового. Плюс он автоматически удаляет с компа всякий ненужный хлам вроде разделов безбожно устаревших линуксов.

     
     
  • 3.32, angra (ok), 11:25, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Я правильно понимаю, что в твоем представлении без diff или sort ядро не запустится? Разочарую, запустится, а после ядра еще и init с шеллом или сразу какая-нибудь аппликуха. Линукс очень даже может существовать без этих утилит и особенно без gnu реализации этих утилит, которая заменяется на тот же busybox.
     
     
  • 4.44, Ананым (?), 16:29, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    В доказательство своих слов приведите хоть один полноценный дистр, работающий без данных утилит.
     
  • 4.47, Ананым (?), 16:41, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Я правильно понимаю, что в твоем представлении без diff или sort ядро не запустится?

    Нет, не правильно. Речь не про ядро, а про систему. Работать на голом ядре не любят не только пользователи убунты, но даже матёрые гентушники с арчевиками.
    Линк на десктопный дистр без diff и sort - давай его фстудию, люто желаю посмотреть на него.

     
     
  • 5.50, angra (ok), 18:32, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да легко - alpinelinux. Они конечно там есть в репах, но без них отлично работает. Для понимания гугли про busybox.
    Ну и для домохозяек сообщаю, что десктоп это ни разу не основная сфера использования линукса. И в каком-нибудь docker или openvz контейнере эти утилиты в большинстве случаев на фиг не нужны.
     
     
  • 6.57, Ананым (?), 20:58, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    не поверите, но в busybox есть такие утилиты, которые sort и diff:

    $ busybox | grep 'sort\|diff'
    delgroup, deluser, depmod, devmem, df, dhcprelay, diff, dirname,
    sha256sum, sha3sum, sha512sum, showkey, shuf, sleep, softlimit, sort,

    что-то мне подсказывает, что утилиты sort и diff в тех линухах всё-таки используются, иначе зачем это "старьё"(c) добавили в busybox?
    про основную сферу применения линуха - речь не о ней, а о юзере, негодующем на устарелось утилит, используемых в его настольной системе (если, конечно, он не под виндой обитает);
    и даже если система на busybox - она всё-равно использует diff и sort;
    и - да - это не голое ядро.

     
     
  • 7.63, angra (ok), 00:10, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты похоже вообще потерял нить рассуждений. Речь шла об устаревании _GNU реализации_ sort/diff/итд и соответственно ее жизненной необходимости для линукса. А ты похоже говоришь о необходимости существования произвольного бинарника, симлинки, шелл функции или алиаса с именем sort. Но даже необходимость этого не можешь доказать ничем кроме "здесь так повелось" или "вот в моем любимом дистре они есть, значит нужны".
     
     
  • 8.65, Ананым (?), 00:26, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    цепляние за термины есть утилита sort, выполняющая сортировку, и есть утилита d... текст свёрнут, показать
     
     
  • 9.67, angra (ok), 02:22, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Показываю на пальцах, можешь повторить mv usr bin sort root mv usr bin... текст свёрнут, показать
     
  • 3.40, . (?), 14:15, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Не поверишь, но линух без них не работает.

    аллах с тобой, сто лет уже как он без них работает.
    Без них не работало разьве что во времена slackware 3.1
    (потому что чтобы что-то в конфиг добавить или удалить, надо было таки найти нужное место в файле, а не бросить очередной .conf в свалку в conf.d/ )

    Тем более что эта функциональность уже интегрирована в systemd. ;-)

    У bsd все сложно - в принципе, в openbsd уже давно свой diff, но, как обычно, лучше б его там не было. patch у всех сто лет как свой. Со всем остальным - разно, и чаще лучше б ну его нафиг.

    https://wiki.freebsd.org/GPLinBase

     
     
  • 4.45, Ананым (?), 16:32, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Аналогично предыдущему персонажу: приведите пример полноценного дистра, работающего без данных утилит. Или вы на голом ядре работать умудряетесь? Или довольствуетесь только использующими его прошивками? В большинстве случаев используются десктопные дистрибутивы - убунты, шляпы, арчи и т.п., - которые без данных утилит не работают.
    Не верите - учите матчасть.
     
     
  • 5.73, Аноним (-), 13:09, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну хочешь - сделаю rm и он будет работать правда, что тогда такое полноценный... большой текст свёрнут, показать
     
  • 2.36, Stax (ok), 12:05, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А на практике, скармливаешь ему гигабайтный файл (недействительные паспорта РФ, 100млн строк) и оно умирает на час с потреблением ОЗУ 8ГБ.

    Продемонстрируйте вывод top/ps. Вообще-то sort занимает не более определенного % ОЗУ (автоопределение, либо задать можно опциями), а дальше создает временные файлы в /tmp и выполняет слияние. По умолчанию настройки довольно консервативны в плане памяти.

    Если у вас нет SSD, а ОЗУ точно много, можно предложить ему использовать побольше (опция -Ы), тогда скорость будет как программы на java. Тут sort просто постеснялся использовать больше нескольких сотен МБ. Сравнение непоказательно, дали бы ему столько же памяти - завершился бы быстрее.

    А вот если бы вы сортировали 30 Гб данных, прога на джаве либо бы съела всю память и упала, либо тоже начала бы merge sort на временных файлах.

     
  • 2.58, Аноним (-), 21:06, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Товарищи модераторы, а почему я должен читать этого кретина?
     
     
  • 3.74, freehck (ok), 13:12, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Товарищи модераторы, а почему я должен читать этого кретина?

    Не читайте. Имхо, такие комментарии надо оставлять хотя бы для того, чтобы ответы окончательно разубедили читающих тред в отсутствии у данных претензий качественной аргументации.

    А ещё того гляди - удалим, и начнётся "модеры режут неугодные им сообщения, какой произвол, опеннет не хороший". :)

     
     
  • 4.78, Аноним (-), 20:30, 11/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А они и так режут. :)

    Спасибо хоть такие как эти не режут, именно по той причине, что вы описали.

     

  • 1.10, бедный буратино (ok), 09:15, 09/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Впервые с 1993 года внесены изменения в предлагаемый по умолчанию алгоритм выявления различий

    как ща помню, как я 23 года назад жаловался на это

     
     
  • 2.30, Ананым (?), 11:00, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    а на отсутствие каких именно изменений вы жаловались, если не секрет?


     
     
  • 3.55, Аноним (-), 20:23, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    тех, которые про цветной вывод :D
     

  • 1.43, кверти (ok), 16:08, 09/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да что вы слушаете этого Лютого наркомана_. Вот я на С++ написал утилиту, которая его гигабайтный файл за 10 секунд сортирует, а его гнилой жаба-костыль только за 40!
     
     
  • 2.46, Ананым (?), 16:37, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Многие современные любители жаб, рубей и прочих новоявленных языков знают только один язык, остальных не понимают, в результате чего считают их недоязыками. Их пассажи напоминают высказывания об английском тов.Задорнова - в стиле "ну тупые, и язык у них ограничен и годится только для похода в супермаркет".

    PS. сейчас нарисуется разработчик на яве, который примет всё высказанное на свой счёт и примется доказывать, что знает много языков (ц) ванга.

     
  • 2.51, angra (ok), 18:40, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Но код этой мегаутилиты ты нам конечно не покажешь, ведь существует она только в твоем воображении.
     
     
  • 3.56, Ананым (?), 20:44, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Вам бы, батенька, товарища Кнута почитать.
     
     
  • 4.64, angra (ok), 00:15, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Представь себе читал. Давно только, не исключен вариант, что ты в это время еще пешком под стол ходил. И что же ты мне из него хочешь напомнить?
    А может ты просто не знаешь, что алгоритмы можно не только копипастить из книжки, но еще и самостоятельно реализовывать на языке, отличном от используемого автором книги для примеров.
     
     
  • 5.66, Ананым (?), 00:31, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    0. те, кто кнута читал, алгоритмы не копипастят.
    1. те, кто кнута читал так давно, имеют несколько другой сленг.
    2. монография - не книга для примеров.

    поэтому взвешенно думаю, что ты ещё школьник.

     
     
  • 6.68, angra (ok), 02:41, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Предположим для смеху, что ты прав и я школьник, в жизни не видевший книг Кнута. Что дальше? Что ты сказать то хотел? Ты Кнута упомянул только как известное тебе страшное слово или все-таки с каким-то смыслом? Потрудись изложить смысл и при этом опять не забыть контекст.
     
     
  • 7.69, Andrey Mitrofanov (?), 09:42, 10/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Предположим для смеху, что ты прав и я школьник, в жизни не
    >и при этом опять не забыть контекст.

    Ты всё правильно говоришь, но, возможно, он ссылался на то место в первом кнуте, где он писал, что на иронию-сарказм и тем более риторический форумный наброс не нужно отвечать по смыслу -- прямо в лоб. А, если отвечаешь, нужно сарказм-иронию-риторику _удваивать_ минимум. Но не у всех выходит. Сам мучаюсь!

     
  • 2.61, rshadow (ok), 23:20, 09/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Правильно цитировать так:

    "Да что вы слушаете этого Лютого наркомана_. Вот я на С++ написал утилиту, которая его гигабайтный файл за 10 секунд сортирует, а его гнилой жаба-костыль только за 40!".

    Алан Тьюринг, член ЦК ВКПБ, 1998г.

     

  • 1.59, Sfinx (ok), 21:29, 09/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Пацаны наконец-то реализовали 'git diff' ?
     
     
  • 2.79, Аноним (-), 20:48, 11/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Пацaны наконец-то реализовали 'git diff' ?

    Скорее built-in замену colordiff.

     
  • 2.86, Аноним (-), 22:20, 12/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Пац аны наконец-то реализовали 'git diff' ?

    Там еще нету сравнения с тэгами/бранчами/ревизиями, так что им есть над чем поработать :)

     

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



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

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