← All posts tagged Linux

SannySanoff

А вот готовлюсь к ICFPC. А вот в этом году будем на плюсах. Готовлю заготовку CMake проекта, чтобы он запускался на трех платформах, тк участники будут разные. Qt у меня внутре, в Qt есть QOpenGLWidget, в нем рисую через QPainter (2d graphics). Взял с 2018 года модельку, налабал рендерер (на 2d canvas, сам делаю перспективные проекцыи и сортирую по z-index ерунда короче)

MSVC/Windows: Отрисовка 140мсек, математика 4 сек
Clang/Linux: Отрисовка 115мсек, математика 2.5 сек.

Оба — релиз билды на одном железе, время — на 1 frame в анимации. Знаю, шо отрисовка медленно, не в этом суть.

Главное беспокоящее, что что-то чахнет колосс.

SannySanoff

Вы наверное видели, что интеллектуальные гопники (человека 2-3) из рядов coreutils мейнтейнеров добавили кавычки в выхлоп от "ls": короче, файлы с пробелами выводятся в кавычках, а без пробелов — без кавычек, и кавычки — то они есть, то их нету, и от этого вывод "ls -l" неповторим и бесподобен. "Легче копипастить в баш". Ага, а имя последнего файла копипастить в гуй вообще сказка.

-rw-r--r-- 1 san san 0 Apr 4 16:59 file1

-rw-r--r-- 1 san san 0 Apr 4 16:59 file2

-rw-r--r-- 1 san san 0 Apr 4 16:59 file3

-rw-r--r-- 1 san san 0 Apr 4 16:59 'hello africa'

-rw-r--r-- 1 san san 0 Apr 4 16:59 least1

-rw-r--r-- 1 san san 0 Apr 4 16:59 least2

-rw-r--r-- 1 san san 0 Apr 4 16:59 least3

rw-r--r-- 1 san san 0 Apr 4 17:41 '"Winter'\''s tale" song'

Уроды, короче. Они объяснили это так: мы составили список плюсов и минусов от нашего замечательного нововведения, перемешав эстетические минусы с функциональными плюсами, и посчитали с карандашиком, и заключили, что профит от копипастинга в баш превышает боль от вытекших глаз юзеров и прочих минусов. И вообще, ставьте environment variable, если вам не нравится.

Обычные люди им ответили: вы насрали на 40 лет unix традиций, на глаза сотен тысяч людей, мы работаем с бесчисленным к-вом серверов, нам теперь везде менять настройки вместо sane defaults которые были раньше?

Ответ разработчиков был: "ну мы же составили список, с карандашиком, и да, нам насрать, у нас хороших галочек больше чем плохих, какие вам еще нужны аргументы?". Что означает обычное интеллектуальное гопничество.

Та же фигня произошла с командой top. Я сидел на убунте, не знал, а вот на арчике оно типа быстрее релизится, и будущее уже с нами. Топ на арчике теперь не показывает процессы где 0% цпу. Так вот, а если запустить top -o RES (сортировка по размеру памяти), то если процесс занимает 20 гиг, но тихо сидит, то его не будет видно, потому что у него 0% цпу!!! Таким образом, по умолчанию в топе нет способов гарантированно увидеть кто сожрал RAM, без починки настроек как было раньше. Потому что все есть: и хипсторы, и цвета, и хелп многостраничный, и галочки с карандашиком, вот только ума нету у них.

Я вот представляю, как иной дедушка лет в 80 сидит на завалинке, и смотрит на все это. А я только за 40 перевалил, но уже этой фигни столько насмотрелся, как следующее поколение ломает нафиг sane defaults. А что будет дальше? Так вот, а в 80 лет дедушка сидит, и видел он такого — представляете сколько к такому возрасту? Сидит, и думает "испохабили такой мир, весь! нафиг теперь жить?". Ну, и действительно, после этого легко дается ему переход в мир иной. Я начинаю это уже немного понимать. Я так наблюдал Киев с 1999 до 2004го, как раз там понаехов понаехало в тот период, жить стало невмоготу (а в 2005 — Ющенко ТАК). Свалил я оттуда лёхко, в момент!

SannySanoff

Прямо душа радуется, когда на Линукс вернулся.

Отключил еще window manager композитинг нафиг. Зачем? Наслаждаюсь ветерком.

Посидел неделю на KDE. Очередной подход считаю завершенным, вернулся в Mate, там как раз давеча hidpi прикрутили.

Новое железо (Lenovo X1 Extreme) рулит по скорости, но есть некоторое "но" у Макоси по сравненю с Линуксом, которое в принципе не лечится на Линуксе. Например в макоси на каждом мониторе свой scale factor, а в Линуксе одно на всех, поэтому окна с 4K монитора тянутся на встроенный, получаются крупные (у меня не 4К на ноуте). И еще особенность этого ноута, встроенная видяха (intel) не умеет в 2 монитора, только nvidia. Кинул ноут в рюкзак — а там по прежнему нвидия работает, т.к линукс не умеет в оптимус (про bumblebee еще не ковырял, пишут что вроде умеем), а пока что его нужно ребутить для переключения из nvidia в интел. Потребление idle 6W vs 20W, такие дела.

Плюс набор софта у меня там был для time tracking (ловил урлы, приложения, показывал таймлайн, суммы, теги по проектам, рисовал суммарное время). Тут пришлось свое быренько набросать.

Но все плюшки линукса УРА! Акселераторы! Шорткаты в пальцах!

SannySanoff

Помню раньше линуксы писали так, что это был инструмент понятный сразу что делает. Писалось для людей.

Я не админ. Я программист. Я привык к детерминированным инструментам. systemd таковым не является. Мне например нужно написать стартап скрипт /etc/rc.local, и чтобы он запускался . Каждый раз на новом сервере я гуглю как это делать, делаю копипасту, и каждый раз — то оно не работает вообще, то зависает когда делаешь ему старт и все равно не работает, а когда-то даже работало. Я матерюсь каждый раз и трачу свое драгоценное время.

Это поделие мне ненавистно. Его писал урод. Его карма испорчена страданиями миллионов таких несчастных как я.

SannySanoff

Откровение: то, что тормозит на чтении 100000 мелких файлов на ext4 даже когда они все в буферах закешированы, тормозит так же точно и на рамдиске, если эти файлы туда засунуть. Директории в процессе не сканируются еслишо, прямо опен делается внутре.

cpu sys 12%, user 5% например (одно ядро)

С какого это бодуна?

SannySanoff

Сегодня я узнал как в шелл делать временные файлы на секундочку. Например, хочет инструмент на вход только имя файла:

$ tool -input filelist.txt

а у нас этот файл строится через какой-то find, например. Короче, вот такой синтаксис:

$ tool -input <(find . -name *.bin)

Подставит, получится:

$ tool -input /dev/fd/11

А в содержимом /dev/fd/11 будет результат find. Через пайп делает, конечно (проверил). Файл не создает, что иногда, наверное, было бы полезно.

SannySanoff

Отключил compositing в KDE, и под линуксом на 4К ВСЕ стало жрать меньше в 5 раз (а так — анимированная вертушка в хроме жрет столько-то процентов, да и вообще сам он покушывает). Теперь вообще клевота.

А под гей-осью (macosx) так делать запретили в купертине!

SannySanoff

KDE не пользовал раньше, сейчас нравится, полет нормальный. На 4К ведет себя и выглядит отлично. Кастомайзится норм, и темы и шорткаты, таск свитчер пока меня удовлетворил полностью. Готов к десктопу.

SannySanoff

Я запустил в live mode убунту на гейбуке со своим нищебродским 4К монитором, И ОНО НЕ ТОРМОЗИТ НА НЕМ как гей-ос тормозила! Да и вообще летает очень здорово, ИДЕЙка отрисовует как родная, интерфейс умножай, не умножай, одинаково летает.

Карочи, дуал-бут! Скорее дуал-бут! Все в сад!

SannySanoff

На highloadcup 195 секунд, 13 место перед финальным разбором.
Я налажал где только мог, последующая оптимизация только замедляла все. Вопросов больше чем ответов. Более поздние версии тормознее чем более ранние. memcmp(4 bytes) дольше чем ((int)c) = 0x0A0D0A0D. Опция -O3 медленнее на 10% чем no optimizations.

НО! Непонятно, как у людей еще быстрей, архитектура вроде одинаковая. Читаем решения.

Программировали с @tilarids на гейбуках, там же меряли (!!) (для чего? все равно корелляции с офиц линукс-тестилкой по перфомансу не было). Учет версий вели с трудом. Тест корректности ответов я написал в предпоследний день, наполовину. До того только "пилил", "точить пилу" было некогда 8).

Жажда адреналина и дух соревновательности это всё. Ради него. Следует задуматься. Его-то я получил сполна, а первое место — нет 8)

SannySanoff

Решил убрать полу-рабочий десктоп с линуксом нафиг из жилого помещения в пристройку, шоб не гудел мне тут в доме. Там хорошо так винтов всяких и вентиляторов напхано.

Возник вопрос — как на нем работать. Нужен хороший и быстрый удаленный десктоп для линукса, чтобы ходить с тупой тормозной безвентиляторной маленькой железяки. И чтобы не страдать.

VNC всякий отпадает т.к. тормоз.
NX / x2go отпадает т.к. рисует не так как в оригинале, и тормозит на передаче картинок
Teamviewer лучше, но тоже тормоз.
Оригинальный X протокол там в нем часто половина не работает, opengl вызовы тоже.
AnyDesk идея хорошая использовать low latency видео-кодек, но реализация кривая с клавишами которые не передаются половина шорткатов, да и в последней версии там уже и изображение кроме первоначальной картинки не ходит — доломали.

А вот Chrome Remote Desktop взлетел и полетел. Тоже быстрый видео-кодек, и передает все кнопочки, особенно если на клиентском компе запустить тупо голый X с оконным менеджером, от которого нужно обработать запрос на fullscreen окно с клиентом Chrome RemoteDesktop, и еще нужно убрать все шорткаты с этого оконного менеджера, чтобы они шли на удаленный комп.

И вот просто взяло и заработало. Звук еще не настраивал, пишут что прикрутили в октябре 2016.

SannySanoff

Выкачал новый несколькодневный билд венды (оно мне обновилось само, короче), а там встроенная убунта, и под этой новой версией жаба уже запустилась (под предыдущей нет, я писал об этом).

Решил уж идти до конца, apt-get xubuntu-desktop, поставил VcXsrc виндовое на весь экран, и XFCE сессия запустилась, десктоп там нарисовала, всякое такое. Оконный манагер работает, xterm даже. Встроенный терминал чото пока не завелся. Firefox работает. Хром не работает. glxgears вертится, 11 кадров в секунду на весь экран (странно, почему-то через mesa, хотя сервер вроде умеет opengl).

Редакция будет и дальше информировать вас, наших читателей, о наших извращениях.

SannySanoff

Все радуются тому что баш будет под виндой, но представим что микрософт портанет power shell на линукс, или cmd.exe вдруг. Будет ли такая радость на реддите что 5 топовых записей все про это?

Ассиметричненько как-то выходит. Случайность? Не думаю.

SannySanoff

Вот Поттеринг уже на "su" замахнулся. Говорит: изначально 30 лет назад всё сделали неправильно, а Я сделаю правильно.
Интегрирует, короче, и su в своё systemd тоже.

Статья с мордой этого линуксового яценюка tlhp.cf

SannySanoff

Вот Арч линукс меня возбудил. Когда я лет 5 назад с него слазил, он был такое... требовал чересчур многого пиления, дефолты странные, итд. А тут, блин, он на Сюрфейс встал круче убунты. И памяти жрет меньше.... убунта жрала все полтора гига после стартапа, а этот с трудом скушал 700М и всё. (все равно много). И тач у него как-то по умолчанию лучше работает, например тач в опере в убунте с небольшим костыльком (touchegg) заводился, а тут пашет себе как будто все норм. Конечно, я слишком долго протрахался, поставив весь пакет xorg, изза-того, что не работал тачпад.. В wayland заработал. а в иксах нет. Оказалось что xf86-input-synaptics (300 килобайт) автоматом не установился, блин, позорище (я?). Короче, я таки снова удовлетворен.