|
|
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 это самые используемые утилиты, больше оптимизаций, хороших и разных!
| |
|
|
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.62, Аноним (-), 09:56, 19/07/2022 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +1 +/– |
Потому что кодеров уровня Ариадны на этом глобусе очень ограниченное количество и они имеют свойство быть озадачены хреновой кучей других проектов, как правило очень хорошо оплачиваемых.
| |
|
|
|
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 +/– |
> Что сложного вызвать определённую функцию вместо другой?
Просто - быть умным задним числом. Сложно - быть первым, сделать исследования, понять что можно и лучше было, объективно померять. Еще сложнее - убедиться что после этого существуюшие юзкейсы не развалятся к хренам на каких-то экзотических ситуациях.
| |
|
|
|
|
2.16, Аноним (16), 21:49, 18/07/2022 [^] [^^] [^^^] [ответить] [к модератору]
| +2 +/– |
Где тут НОВАЯ уязвимость? Просто буфер будет гоняться сразу в ядре, но ядро туда заглядывать не будет и ничего испольнять не будет, тупое копирование.
| |
2.63, Аноним (-), 09:57, 19/07/2022 [^] [^^] [^^^] [ответить] [к модератору]
| +2 +/– |
> Здравствуй, новая уязвимость.
Я что-то не понимаю как эксплойтировать копирование данных между дескрипторами. Может вы и read() таким макаром эксплойтировать умеете? Ну тогда наверное и остальные сисколы тоже, да?
| |
|
|
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 маловато, оно с не-файлами не работает.
| |
|
|
3.54, Онаним (?), 09:16, 19/07/2022 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +/– |
Ехал splice через pipe, и я о том же.
Копирование между дескрипторами в принципе частая операция, честно говоря, оно бы и sendfile заменило, и много чего ещё.
| |
|
|
|
2.46, Аноним (46), 07:33, 19/07/2022 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| –3 +/– |
Учитывая открытия этого гендорного чуда, нас будет ждать очередное аут оф мемори как минимум. Сишка и тру сишники такие тру...
| |
|
3.87, Аноним (87), 13:14, 19/07/2022 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
У всех проблем одно начало...
Сидела женщина, скучала,
Качала ножкою своей,
И вдруг пришла мыслишка к ней...
.....
© Copyright: Александр Флинде, 2015
| |
|
|
|
|
|
4.75, Аноним (75), 11:35, 19/07/2022 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> Вот бы кто cat на Project Verona написал…
Я даже не знаю что такое "Project Verona". Поэтому на меня можете не смотреть, меня жизнь этого проекта интересует меньше чем жизнь личинок мухи на другом континенте.
| |
|
|
|
|
|
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.
Мой нюансик был ответом на твой нюансик. Давай меряться, чей нюансик меньше, или больше.
| |
|
|
|
|
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 и в нём появятся дыры когда простой юзер будет рута получать при копировании файлов. Или файлы будут битые при определённых условиях.
Работает - не трогай!
| |
|
|
|
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.
'''
| |
|
|
|
|