|
|
3.60, Аноним (60), 09:49, 19/07/2022 [^] [^^] [^^^] [ответить]
| +6 +/– |
Скорее, про то что кошку оказывается можно напоить пургеном.
| |
|
2.5, Аноним (5), 20:54, 18/07/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ага, как будто нечем заняться. Был бы котом, наверное, слизал бы себе яйца до тазовых костей...
| |
|
3.111, _kp (ok), 02:18, 20/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Сat в скриптах же активно используется, а не просмотра файлов, и её оптимизация способствует заметному ускорению работы в повседневных задачах.
Плюс, за положительныным опытом cat подтягут и остальные инструменты.
| |
|
4.117, n00by (ok), 05:54, 20/07/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
То есть выводит всего пару строк текста, но часто, и на каждый такой чих инициализируется рантайм Си. По-моему, это давно оптимизировал Ларри Уолл.
| |
4.125, all_glory_to_the_hypnotoad (ok), 15:16, 20/07/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
В скриптах с cat-ом не перемывают гигабайты. Оптимизация для скриптов это снижение задержки прогрева при запуске, но она и так скорее всего мизерная. Даже если перемалывать гигабайты, то наверняка в типичных сценариях проблема будет с пайпами и с кешом (cat будет вымывать файловый кеш)
| |
|
5.137, ммнюмнюмус (?), 15:40, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Странные тенденции.
Замечено, что некоторые из узкоспециальных coreutils работают медленнее, чем их эмуляции на awk / sed (пример - cut). А в bash например, вопроки тормознутости самого интерпретатора, намного выше скорость передачи через пайп, чем у dash.
| |
|
|
|
|
3.59, Аноним (60), 09:47, 19/07/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
А у нее вроде таки нет яиц. Хоть я в биографию сильно и не лез. Это иркоп фриноды бывшая. И черт знает насчет дырок, но как кодер - покажет мастеркласс любому. Утверждает что у нее код видите ли на 2 планетах работает. А вам слабо?!
| |
|
2.100, Товарисч (?), 17:13, 19/07/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
Полезное дело человек делает, вам жалко чтоли? Иногда интересно поиграться, а если из этого что-то дельное выйдет, то почему нет? Именно потому что такие люди есть и постоянно что-то чистят и оптимизируют у нас и есть система которая летает, а не всё это убогое унылое жрущее гигабайты вроде мака и винды. Я понимаю, что *вам лично* эта оптимизация (будучи включена в апстрим) ничего не принесёт, но если сложить все затраты в мире, сколько энергии и времени это сэкономит? Так держать, *utils это самые используемые утилиты, больше оптимизаций, хороших и разных!
| |
|
1.3, Аноним (3), 20:51, 18/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –18 +/– |
Линуксу, с его реализацией переключения контекстов, ничего не поможет.
| |
|
2.6, кубрик (?), 20:59, 18/07/2022 [^] [^^] [^^^] [ответить]
| +13 +/– |
Ты сделал ошибку в слове линукс.
> Виндовсу, с его реализацией переключения контекстов, ничего не поможет.
Поправил. Не благодари
| |
2.51, Аноним (51), 09:00, 19/07/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
Как и всем прочим. Иди возрождай Singularity, слёзно выпросив её у мелкомягких, если хочешь кардинально уменьшить кол-во переключений контекстов. Или в DOS'е сиди-работай.
| |
2.61, Аноним (-), 09:54, 19/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Линуксу, с его реализацией переключения контекстов, ничего не поможет.
Ващет команда Linux была сильно иного мнения и поэтому они сделали дофейхоа очень крутых и эффективных механизмов на тему.
Во первых, если вам не нравится как работает переключение контекста, можно и не переключать! Во всяком случае, лишний раз. Они, вроде, умеют групировку сисколов при интенсивном потоке и переключение 1 раз на всю группу =)
Во вторых, у остальных переключение контекста будет врядли сильно лучше. С чего бы?
В третьих, они доперли до всяких zerocopy механизмов, когда кернел и юзер тупо шарят блок памяти на двоих, сплайсы тоже где-то недалеко по смыслу.
| |
2.109, Аноним (109), 21:39, 19/07/2022 [^] [^^] [^^^] [ответить] | +1 +/– | Боюсь, что нужно быть конкретнее Чудовищный оверхед от переключения контексто... большой текст свёрнут, показать | |
|
|
2.62, Аноним (-), 09:56, 19/07/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Потому что кодеров уровня Ариадны на этом глобусе очень ограниченное количество и они имеют свойство быть озадачены хреновой кучей других проектов, как правило очень хорошо оплачиваемых.
| |
|
|
4.78, Аноним (-), 12:18, 19/07/2022 [^] [^^] [^^^] [ответить]
| +4 +/– |
Сложно до исследования или после?
Постфактум все "умные". Почти, кроме отрицающих реальность.
| |
|
5.89, Аноним (11), 13:41, 19/07/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
Сразу после написания соответствующих системных вызовов, очевидно, поскольку их писали именно для того. чем занимаются утилиты cat и cp.
| |
|
6.118, Аноним (118), 12:10, 20/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
> системных вызовов, очевидно, поскольку их писали именно для того
> очевидно
> именно
Покажешь слепым какой из системных вызовов написан именно для cat и cp?
| |
|
|
4.94, Аноним (94), 14:19, 19/07/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Что сложного вызвать определённую функцию вместо другой?
Просто - быть умным задним числом. Сложно - быть первым, сделать исследования, понять что можно и лучше было, объективно померять. Еще сложнее - убедиться что после этого существуюшие юзкейсы не развалятся к хренам на каких-то экзотических ситуациях.
| |
4.98, Аноним (98), 14:31, 19/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Почему эксперты с opennet и просто знающие люди это не сделали?
Это же так просто?
| |
|
|
2.68, n00by (ok), 10:44, 19/07/2022 [^] [^^] [^^^] [ответить]
| +6 +/– |
Потому что 10 лет назад никому в голову не пришло сделать cat для 4 гигабайт.
| |
|
1.15, beck (??), 21:41, 18/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> для прямого копирования данных между файловыми дескрипторами на уровне ядра
Здравствуй, новая уязвимость.
| |
|
2.16, Аноним (16), 21:49, 18/07/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Где тут НОВАЯ уязвимость? Просто буфер будет гоняться сразу в ядре, но ядро туда заглядывать не будет и ничего испольнять не будет, тупое копирование.
| |
2.47, Здрасьте (?), 07:49, 19/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
splice очень старый вызов, лет 20 ему, а sendfile и того древнее. В каком месте уязвимость тут может быть новой?
| |
2.63, Аноним (-), 09:57, 19/07/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Здравствуй, новая уязвимость.
Я что-то не понимаю как эксплойтировать копирование данных между дескрипторами. Может вы и read() таким макаром эксплойтировать умеете? Ну тогда наверное и остальные сисколы тоже, да?
| |
2.127, Аноним (126), 03:06, 21/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ты файлы/"файлы" УЖЕ открыл, вот они, дескрипторы то. В чём уязвимость?
| |
|
|
2.70, n00by (ok), 10:57, 19/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Начать можно с замеров времени инициализации libc. Но кому это надо? Там вон гигабайты экономятся, красиво смотрится.
| |
|
1.28, Онаним (?), 00:08, 19/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Забыли только рассказать, что и у sendfile() есть ряд проблем, которые легко вылезают в странных конфигурациях с нетипичными файловыми системами и нетипичными дескрипторами, не все из которых удастся отдетектить в cat'е. Со splice() то же самое.
| |
|
|
3.92, Онаним (?), 14:08, 19/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Начнём с того, что оно требует sendpage на принимающей стороне, если это FS.
А так - гуглим
sendfile issues
sendfile sendpage
| |
|
|
1.29, Онаним (?), 00:11, 19/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Во, точно, я знаю. Надо для cat отдельный модуль ядра, который read-write будет делать прямо в ядре. А если серьёзно - cat-подобная операция копирования из дескриптора в дескриптор в ядре бы не помешала. copy_file_range маловато, оно с не-файлами не работает.
| |
|
2.36, funny.falcon (?), 01:51, 19/07/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Так для этого и предназначен splice.
Правда, приходится делать два splice через pipe.
| |
|
3.54, Онаним (?), 09:16, 19/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ехал splice через pipe, и я о том же.
Копирование между дескрипторами в принципе частая операция, честно говоря, оно бы и sendfile заменило, и много чего ещё.
| |
|
4.90, Аноним (90), 14:02, 19/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Я бы для начала разобрался, почему sendfile() оказался медленнее splice+pipe.
| |
|
5.95, Аноним (-), 14:21, 19/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Я бы для начала разобрался, почему sendfile() оказался медленнее splice+pipe.
Так разберись?
| |
|
|
3.124, ламерок (?), 14:17, 20/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
так.. я уже запутался, мне из stdio в unix socket нужно, чем воспользоваться sendfile vs splice?
| |
|
|
1.42, аноним228 (?), 05:36, 19/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Анон ты чем сейчас занят? Где комментарий: "Единственный способ ускорить сишное приложение - это если переписать его на RUST!"
| |
|
2.46, Аноним (46), 07:33, 19/07/2022 [^] [^^] [^^^] [ответить]
| –3 +/– |
Учитывая открытия этого гендорного чуда, нас будет ждать очередное аут оф мемори как минимум. Сишка и тру сишники такие тру...
| |
|
3.74, Аноним (74), 11:34, 19/07/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
что не так с открытием и почему тебе не фиолетово, что там за чудо за клавиатурой?
| |
|
2.52, onanim (?), 09:06, 19/07/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
я как только увидел заголовок, сразу подумал, что cat на Rust переписали.
| |
|
3.87, Аноним (87), 13:14, 19/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
У всех проблем одно начало...
Сидела женщина, скучала,
Качала ножкою своей,
И вдруг пришла мыслишка к ней...
.....
© Copyright: Александр Флинде, 2015
| |
|
|
1.50, Аноним (50), 08:43, 19/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Вау. Спустя столько лет лунуксоиды решили прекратить быдлокодить и вспомнили об оптимизациях.
| |
1.55, Аноним (55), 09:23, 19/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
какое-то сильное преувеличение об авторстве audacious. это ж был просто форк xmms.
| |
|
|
|
4.75, Аноним (75), 11:35, 19/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Вот бы кто cat на Project Verona написал…
Я даже не знаю что такое "Project Verona". Поэтому на меня можете не смотреть, меня жизнь этого проекта интересует меньше чем жизнь личинок мухи на другом континенте.
| |
|
|
|
|
2.76, Аноним (74), 11:35, 19/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
кстати, интересно. часто случайно делаю cat бинарника на медленном ssh
| |
|
1.88, Аноним (88), 13:37, 19/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А практическая польза от cat с 4 Гб вообще есть? Вообще для копирования используют cp в нем как дела обстоят?
| |
|
2.91, Аноним (-), 14:03, 19/07/2022 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Вообще для копирования используют cp
Ведущие собаководы для копирования используют dd
| |
|
3.97, Аноним (-), 14:25, 19/07/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ведущие собаководы для копирования используют dd
Ну сделай им cp --reflink. Хотя с таких собаководов станется и 2-терабайтный образ винча копировать целиком, когда reflinked "копия" менее чем за секунду готова. Правда, вроде, это все же эксперты по мойке (или стрижке?) собак были...
| |
|
|
5.113, Аноним (-), 02:55, 20/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Маленький нюансик в том что вон те 2 терабайтных образа ведут себя как независимые файлы. И если эксперимент с починкой на "копии" зафейлился, можно стереть "копию" и попробовать иной подход.
А с ln вы таки безвозвратно загадите единственную копию которая была. И что хотите потом то и делайте. Так что я останусь при мнении что это ведущим собаководам лучше заниматься стрижкой собак. Или мойкой, что там пох хотел делать, не помню, но ему подходило больше чем линухами рулить. А зачем позориться такой эффективностью, когда те кто освоил современные технологии делают вас в десятки раз? Чтобы показывать всем остальным что вы отсталые днища? Это единственное ваше применение в современном IT.
| |
|
6.119, Аноним (-), 12:25, 20/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Маленький нюансик
Маленький нюансик начался с твоего 'cp --reflink', который возможен в пределах одной файловой системы, который поддерживает reflink'и.
В отличии от в шутку предложенной dd, который практически аналог cp.
Мой нюансик был ответом на твой нюансик. Давай меряться, чей нюансик меньше, или больше.
| |
6.122, тигар.логиниться.лень (?), 13:02, 20/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
усёр294, как там бтрфс, уже продакшн-реди? и второй вопрос - почему ты перестал везде вообще писать про "кампуктер размером с кредитку"?:-)
| |
|
|
|
|
2.112, _kp (ok), 02:23, 20/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Если просто копировать, то конечно, да, но если по пути пропустить в конвейерную обработку... то cat.
| |
2.116, n00by (ok), 05:52, 20/07/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
> А практическая польза от cat с 4 Гб вообще есть? Вообще для
> копирования используют cp в нем как дела обстоят?
cat - от concatenate, т.е. служит для склейки файлов. Что там можно склеивать из 4-х гигабайтных файлов - так и осталось без ответа.
| |
|
|
4.136, n00by (ok), 07:09, 24/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Так исходный вопрос не мой. Я так понял, что он риторический и обращён к местным экспертам, восторгающимся снижением карбонового следа.
| |
|
|
|
1.99, Аноним (99), 17:05, 19/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Вот сейчас перепишут cp и в нём появятся дыры когда простой юзер будет рута получать при копировании файлов. Или файлы будут битые при определённых условиях.
Работает - не трогай!
| |
|
|
3.123, ламерок (?), 14:14, 20/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
вот хз в мане этот случай не описан, как например в read/write, поэтому испросил
| |
|
4.128, Аноним (126), 03:14, 21/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Вы всё врёти!
'''
RETURN VALUE
If the transfer was successful, the number of bytes written to out_fd is returned. Note that a successful call to sendfile() may write fewer bytes than re‐
quested; the caller should be prepared to retry the call if there were unsent bytes. See also NOTES.
'''
| |
|
|
|
|