The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода, opennews (?), 09-Авг-16, (0) [смотреть все]

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


18. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  +2 +/
Сообщение от angra (ok), 09-Авг-16, 10:12 
Я даже не поленился проверить. 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, то работает раза в три дольше.

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

23. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  +2 +/
Сообщение от Аноним (-), 09-Авг-16, 10:29 
Ну пи**ит же как троцкий. Или руки у него закручены восходящей спиралью вокруг туловища.
Ответить | Правка | Наверх | Cообщить модератору

25. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  –1 +/
Сообщение от . (?), 09-Авг-16, 10:40 
> Я даже не поленился проверить. 50kk строк с случайными 10-ти цифровыми значениями,
> 500MB. То есть всего в половину меньше. С записью  результата
> в файл.
> Как видно ни о каком часе речи не идет. Потребление памяти как
> и жабы в 4 раза больше объема сортировки. Если без указания
> -n, то работает раза в три дольше.

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

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


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

33. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  –1 +/
Сообщение от Лютый жабист_ (?), 09-Авг-16, 11:29 
Качайте оригинал, не страдайте фигнёй.
http://guvm.mvd.ru/upload/expired-passports/list_of_expired_...

Ключ -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

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

34. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  –3 +/
Сообщение от Лютый жабист_ (?), 09-Авг-16, 11:40 
Сделаем сишечке гандикапчик :)))) распаковал в 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

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

35. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  –3 +/
Сообщение от Лютый жабист_ (?), 09-Авг-16, 11:43 
С -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

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

39. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  –1 +/
Сообщение от Лютый (?), 09-Авг-16, 13:58 
Всё,вспомнил. Задача была выделить дельту из последнего списка и недельной давности. И как раз diff час тупил и жрал озу.
Ответить | Правка | Наверх | Cообщить модератору

54. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  +5 +/
Сообщение от Аноним (-), 09-Авг-16, 20:21 
> Всё,вспомнил.

Да-да, и не в лотерею, а в покер, и не выиграл, а проиграл.

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

70. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  –3 +/
Сообщение от Лютый жабист_ (?), 10-Авг-16, 12:01 
Вообще, мне уже очевидно, что в теме ни одного прогера кроме меня нет. :))) Потому что любой прогер бы первым делом спросил какая связь между hashmap и sort.

Дело было с год назад, подумаешь детали не сразу вспомнились. Про задачу уже написал - выделать дельту из текущего списка и последнего. Сначала помаялся с ГНУтыми утилями (sort, diff), потом навелосипедил на жабе и было быстрее и по памяти экономичнее. В hash складывается весь первый файл, второй уже с хешем сравнивается.

Кто мне не верит или сочиняет про sort ест 3ГБ, флаг ему в его красные гнутые глаза :)

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

72. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  +1 +/
Сообщение от freehckemail (ok), 10-Авг-16, 13:03 
Ты про hashmap ни словом не обмолвился. И задачу про "выделить дельту"
только в этом своём последнем сообщении описал. Мне же вот вполне
очевидно, что ты что-то можешь написать для jvm, но простейший
shell-скрипт для тебя - адова работёнка.

Твою задачу "выделать дельту из текущего списка и последнего" можно
было бы спокойно решить одной строчкой на shell:

diff <(sort file1 | uniq) <(sort file2 | uniq)

Час твой скрипт работал, как же, как же. Выжрал 12 гигов рамы,
конечно. :)

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

75. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  +2 +/
Сообщение от Andrey Mitrofanov (?), 10-Авг-16, 15:14 
> diff <(sort file1 | uniq) <(sort file2 | uniq)

Во-первых, comm -3. Во-вторых, sort -u.

В-третьих, зачем Вы разговариваете с мебелью??!!

> Час твой скрипт работал, как же, как же. Выжрал 12 гигов рамы,
> конечно. :)

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

76. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  +1 +/
Сообщение от freehckemail (ok), 10-Авг-16, 18:18 
>> diff <(sort file1 | uniq) <(sort file2 | uniq)
> Во-первых, comm -3.

О, спасибо. Не знал про неё.

> Во-вторых, sort -u.

Уточнения ради: я всегда использовал sort | uniq потому что мне не понятен алгоитм флага -u.
В доке написано "without -c, output only the first of an equal run". Вы не могли бы как-то это пояснить? А то я ведь и рад воспользоваться, было бы только полное понимание того, что оно делает.

> В-третьих, зачем Вы разговариваете с мебелью??!!

Ну как сказать. Я прочитал огромный тред, поделал тесты, посооброжал. Захотелось оставить и свой вклад.

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

71. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  +/
Сообщение от freehckemail (ok), 10-Авг-16, 12:45 
Ещё бы ты размер этого файла приложил. А то может у тебя 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 гига на пике потребления памяти.

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

41. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  +1 +/
Сообщение от Анонизмус (?), 09-Авг-16, 14:22 
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

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

42. "Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода"  +/
Сообщение от Анонизмус (?), 09-Авг-16, 14:23 
При этом потребление памяти 3ГиБ, в пике.
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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