Как стать автором
Обновить

Комментарии 341

Если установить VisualStudio то в простое (когда пользователь не трогал мышь 5-10 минут). Виндоуз запустит перекеширование C# приложений (которых у меня нет, я ставил для cl.exe), и будет это делать бесконечно... Просто так. Гудируя куллерами, т.к. проц игрового гроба делает 45W тепла эффективно шумя.

Задачу можно посмотреть в планировщике taskschd.msc. Зачем? Чтобы что? Почему?

Также из приколов, все powerplan винды не дают ядрам парковаться в максимальное энергосбережение при малой загруженности т.к. в настойках электропитания стандартно стоит 5% минимальное состояние процессора. Ставишь 0, в моём случае процессор вместо 5W начинает кушать меньше 1W.

MS вообще веселые, вот есть Word 2021, если открыть в нём формулы, то ворд повиснет на 10-15 секунд (боже оно к счастью в другом потоке грузит) просто чтобы подгрузить превью. Перемотка вверх вниз документа в ворде мало того, что меньше 30FPS дает на intel UHD 630, так вгружает её в потолок. Зачем? 630 графика это достаточно сильно, это ~30 кадров в 1980 разрешении в играх. Ворд это блокнот со свистоперделками.

AutoCAD... Я не знал, что 1050Ti это базовый уровень графики, ведь 60 кадров в думе этернал... на 2к. Пролаг на 1.5 секунды после каждой новой точки при рисовании линий, если не поставить карточку как базовый режим с угловатыми кругами. И это в пустом (!) проекте, без ничего... Что оно там столько времени делает?

Visual Studio... как-то я захотел попользоваться приличный дебаггером после VSCode, т.к. занимался пердолингом с байтами в C++. Открыл вижлу, сделал хелловорлд проект... И был неприятно удивлен, что лаг на ввод СИМВОЛА ~0.3-0.7 секунды. Я на телефоне быстрей печатаю. Видимо i7-8750H и 16гб ddr4, это мало для редактирования текста. Компуктер слабоват. А говорят электрон тормозной)))

А мы пользователи никогда с этим ничего не сделаем)

>> А мы пользователи никогда с этим ничего не сделаем)

Мы, пользователи, выберем менее тормозящие программы и OS. Хотя огромная проблема - пресловутый qwerty- эффект. Всем нужна такая же программа как у коллеги для совместимости. Соответственно, возникает ползучая монополизация. Конкуренция гибнет. А монстры-монополисты перестают развиваться.

Именно поэтому я полагаю полезным искусственное навязывание конкуренции. Когда пользуешься не самым распространенным при любом удобном случае, когда есть альтернатива.

Я согласен, что если бы пользователи чаще руководствовались отзывчивостью и производительностью софта при выборе инструмента для решения своих задач, это бы очень помогло снизить проблему bloatware.

Но теперь хорошо бы придумать как прийти к такому состоянию. Сейчас руководствоваться такими критериями крайне сложно. Как пример: попробуйте выбрать bittorrent клиент или просмотрщик фотографий опираясь на их производительность и не проводя собственных бенчмарков. Хоть какие-то сравнения производительности просто невозможно найти! А многие пользователи просто даже и не в курсе, что программы могут кардинально отличаться по этим параметрам.

Ну и что мы с этим можем сделать? Хотя бы в своей небольшой дельта окрестности?

Знаете что я отвечу? Те, кто не смотря на звание олдфага, предпочитают набирать в Vim или даже Emacs, руководствуются именно отзывчивостью и гибкостью. Без всяких бенчмарков чувствуется разница. Я больше скажу - если разница не чувствуется и требуется бенчмарк, то разница и важна пользователю. Мне одного раза достаточно было утром не суметь включить ноут из-за обновления, чтобы переустановить OS. (Хотя, разумеется, еще и потому, что на стационарном у меня давно другая OS).
А просмотрщик фотографий я буду выбирать по таким параметрам, что отзывчивость будет, возможно, и не в первой десятке. И это норма.

НЛО прилетело и опубликовало эту надпись здесь
Kitty прямо сейчас у меня потребляет 600 мегабайт. Куда? На что? Загадка.

К слову о макоси :)
Аптайм 46 дней. iterm открыт все это время. Запускалось примерно до 15 вкладок одномоментно, в них делалось всякое разное. Сейчас активно 5, и схавано в данный момент 358 метров.

Ваша мысль в том, что не обязательно устанавливать несколько программ и провести их бенчмарки, чтобы выбрать какой из них пользоваться, достаточно просто установить несколько и попробовать пользоваться, верно?

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

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

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

IrfanView для просмотра картинок отлично подходит. Пользуюсь им с начала века.

Faststone, имхо, поудобнее, пошустрее и поменьше.

XNView дружественнее имхо

Жаль что под linux его нету, очень мне его там не хватает :(

Каджиту подошел Nomacs в качестве замены. Но по богатству функционала, конечно, он серьезно недотягивает.

 Готовые сравнения производительности многим упростили бы жизнь.

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

Мне кажется это решаемая проблема. Есть несколько организаций проводящих тщательные сравнения бытовой техники, автомобилей, гаджетов. Consumer reports например. Вроде бы в большинстве случаев они не берут деньги от производителей обозреваемых устройств чтобы избежать конфликта интересов.

Почему бы не появиться аналогичному ресурсу для сравнения софта?

Ещё ж и фактор операционки. Когда две лучшие программы написаны под разные системы — всё, вилы.

Только вот ни кто не стремится произвести деление MS на две независимые конторы для начала конкуренции за потребителя. Хотя рядом находится тот же Гугл и его тоже ни кто не трогает.

Про VS это у вас какой-то глюк был. У меня как-то контекстные меню открывались по 15-20 секунд в том же хелоуворлде. Сброс всех настроек пробелму решил.

Это был фреш инсталл, просто после "тормозного электрона", видеть инпутлаг уровня нажал на три буквы, напечаталась первая это уже перебор.

AutoCAD... Я не знал, что 1050Ti это базовый уровень графики, ведь 60 кадров в думе этернал... на 2к. Пролаг на 1.5 секунды после каждой новой точки при рисовании линий, если не поставить карточку как базовый режим с угловатыми кругами. И это в пустом (!) проекте, без ничего... Что оно там столько времени делает?

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

  • Что там с современным программным обеспечение?

  • Всё в говне сэр!

Это же старое ПО, оно небось как 3Ds Max легаси с 90-х тянет, потому что переписывать долго, дорого и выхлоп в плане продаж с этого нулевой.

Согласен и вот подтверждение.

На вашем скрине в новости от 2012 года квартальная выручка составила 592млн, а в 2022 - 346млн. За 10 лет стало хуже исходя из неполных заголовков.

В чём же тогда проблема?

Наверное в С#

А что не так с C#?

Что же там за говнокод, который не юзает аппаратное ускорение, а если и юзает, то отрисовка вершин так много времни занимает?

А всё просто - аппаратное ускорение там выключено по умолчанию. И какая бы видеокарта у вас не была, пока вы не активируете галочку в настройках, у вас всё будет рендерится на процессоре.

" аппаратное ускорение там выключено по умолчанию " для чего так сделано?

Предположу что это легаси с тех времен, когда эта фича была только добавлена и не все компы умели в аппаратное ускорение. Но я могу ошибаться.

Но аппаратное ускорение это же, блин, критически важная штука, особенно в программе, которая как то связана с графикой. Если есть возможность, оно должно быть включено по дефолту.

Почему вообще отображение обычного МЕНЮ требует аппаратного ускорения*?

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

НЛО прилетело и опубликовало эту надпись здесь

О, 2022 год таки настал, перестали Гейтса всюду пихать )

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

Фикс этого чЮда я читал раз пять.

А у меня на прошлом компьютере Nvidia geforce experience весь жёсткий диск сканировала в поиске установленных игр. Это в дополнение к службе поиска Windows. Хорошо, в настройках это отключается.

Да ладно ещё сканирование, эта сволочь играм настройки графики меняет. Точнее, в моём случае, зачем-то скручивает до минимальных (хорошего же, блин, мнения Nvidia о своих видеокартах!).

А зачем geforce experience вообще ставить? Для записи видео? Для OBS оно не нужно.

НЛО прилетело и опубликовало эту надпись здесь

Оно само ставится вместе с дровами, если не уследить.

Только с GameReady дровами, с обычными, по крайней мере раньше, не ставилось.

Ух ты, там ещё и разные комплектации дров?..

Был ещё скрипт для удаления других необязательных компонентов.

А зачем geforce experience вообще ставить?

Что бы не лазить на сайт нвидиа каждый раз, как новая игра выходит. Дефолтные настройки большинству игр тоже нормальные ставит, сильно менять не приходится. Единственная проблема, когда эта сволочь ставить 4к разрешение для последующего даунскейла, но в мультимониторной конфигурации полноэкранный режим часто с ума сходит, пытаясь рисовать на 2-х мониторах сразу, а не скейлить на одном.

Дефолтные настройки большинству игр тоже нормальные ставит, сильно менять не приходится

Видимо, Скайрим в это большинство игр не попадает...

Скайрим настройки сам себе ставит, по крайней мере раньше ставил, при первом запуске, причем очень криво. Корявые преднастройки были у меня в Х4, Dark Souls, Greedfall, и еще в паре игр, там подбирал вручную, со старым добрым Afterburner'ом.

Сам себе он именно что при первом запуске ставит, а geforce experience сбрасывает настройки в самый минимум каждый раз как дотянется.

Странно, у меня он настройки меняет только при первом обнаружении игры и если руками ткнуть "Optimize" на карточке игры. Если в игре перекрутить настройки по своему, то не трогает.

Так это ведь основная функция этой программы - находить установленные игры и проставлять для них настройки оптимальные (по мнению nVidia) для вашей видеокарты. Если вам это не надо, то особого смысла ставить её нет.

Притом сканирует очень тупым образом - добавляя после первого сканирования в список "проверять эти папки потом периодически" все папки в названиях которых находит ключевые слова типа "game", "steam", "origin" и т.п.

Тут хоть речь о стороннем софте. А ведь совсем недавно в Windows была (или ещё есть?) служба Prefetch/Superfetch, которая загружала часто используемые программы в свободную память. В результате жесткий диск использовался постоянно, время загрузки системы и всех программ увеличивалось в несколько раз. И всё грузилось тем дольше, чем дольше была установлена система. Когда я кому-то отключал Superfetch они не узнавали свой компьютер, настолько разительно возрастала производительность.

Это не та штука которая кеширует данные в ОЗУ? Когда повторно запускаешь программу обращения к диску отсутствует. Помню, что такой функционал был в Windows 7. Не могу вспомнить, чтобы я когда либо наблюдал Prefetch/Superfetch в диспетчере задач.

Хуже. Она ведет статистику использования программ и заранее загружает их в память сразу после запуска системы. Хотели как лучше, а получилось как всегда. И это служба, она работает под именем svchost.exe

стоит системный NVMe SSD. Superfetch в Виндовс 11 успевает забить кэшем все мои 32 гига озу пока я проводу пальцем по датчику отпечатков после загрузки системы. файла подкачки нет, быстрый запуск отключен.

А зачем вы файл подкачки отключили? Это же совет времён виндоуз 95, актуальность на том же уровне.

Сам себе злой буратино получается. Вы таки будете поражены, но файл подкачки используется даже при 80% свободной оперативки! Или вы диск экономите на R/W операции?

файл подкачки используется даже при 80% свободной оперативки

Эмм… а чем и нахрена он используется при 80% свободной оперативки? Желательно не слоганами из рекламного буклета, а выкладками.

В освободившуюся память можно закешировать более актуальные в данный момент файловые страницы, например

Щито? О_о
А остальные 80% свободной (по условию) памяти для этого не подходят, надо обязательно диск дернуть?

Полагаю, под "свободной" имелась ввиду "доступная для выделения" память, т.к. на практике интересен именно этот параметр, + реально свободная память — простаивающая впустую память. Память занятая файловыми кешами не свободна (ведь там кеши), но доступна (кеши можно в любой момент очистить, ценой замедления следующего обращения к файлу)

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

Но тогда получается еще интереснее страньше: ради файлов, к которым, возможно, обращение будет одноразовое — вытесняются данные программ.
Впрочем, похоже, memory mapped files все еще именно так и работают в виндах, несмотря на некоторые улучшения.

Операционка ведь не от балды страницы двигает, у неё есть статистика как по работе программ, так и по файлам, можно уже гонять какие то эвристики

Скинуть на диск кусок свернутой программы, чтобы ускорить интенсивную работу с файлами выглядит вполне осмысленным действием

Ну, когда при ~2.7GB занятой процессом памяти и ~2.9GB типа свободной 64-битный скайрим падал так же весело, как и 32-бит (у которого можно было еще списать на неспособность адресовать память больше 4GB), но это лечилось глобальным дропом всех примапленых файлов через rammap (и последующим тормозиловом, естественно) — каджит посчитал это форменным издевательством и окончательно перешел на более другие системы.


А про хитрые алгоритмы и ускорения в уши льют еще со времен… древних.

Хм, а более другие системы — это какие? На линуксе эта проблема давным-давно существует же, её на винду портировали именно с линукса.

На линукс.
Как эту проблему найти? Вот, как-то, пяток виртуалок, и всякого софта до кучи, браузер месяц не закрывался, ARC там себе что-то отъел (до 8 гигов ограничен, да) но проблем, возникающих именно из-за выдавливания кешем приложений — этот не встречал.
Или вы имели ввиду, что механизм отображения файлов на страничную память был подсмотрен и реализован по-своему?

Проблемы начинаются когда программу развернули, а страницы из файлового кеша никак не хотят уходить. Не раз наблюдал такую картину: всё тормозит и лагает, включая диспетчер процессов, диск нагружен системным процессом, а процессор проводит всё время в режиме ядра. В общем, все ресурсы компьютера брошены на своп. При этом памяти занято 4 гига из 8, остальное забито файловым кешем. Запустишь rammap -Et — и все тормоза исчезают.

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

я не уверен, что за служба это делает, но у меня в процессах на вин10 (рабочий комп, настраивал не я) всегда запущены 2 кальулятора, 2 phone link (хз что это никогда не запускал), 5 microsoft edge (используется изредка в качестве просмотрщика пдф), 2 video application (понятия не имею - не смотрю видео на рабочем компе).

эти процессы отмечены зеленым листиком в графе "состояние". И если их убить, то через некоторое время все они всплывут снова. В этом состоянии они вроде как не жрут процессор, но оперативки сколько-то занимают. Зачем - непонятно.

Ты чёт делаешь не так. Мне вон в соседней теме говорят, что мой древний 4790к ещё вполне себе для кодинга.

Игравая мусорка 5 от слоне тоже вечно багами страдает:
https://3dnews.ru/1025941/

Так что ничего удивительного.

Описано примерно то, что испытывал я и из-за чего ушел с винды на мак и с андроид на iOS. И было это в 2012 году. Ничего не поменялось.

Сейчас удивление вызывают нормально работающие программы.

Каждый раз не могу поверить в скорость работы касс самообслуживания во Вкусвилле, когда терминал просит карту сразу после нажатия оплатить, а не через 5 секунд как у всех остальных.

И это не какой-то бесполезный корпоративный портал, а интерфейс с которым ежедневно работают сотни людей и тормоза в нём крадут время у каждого.

Я немного поэкспериментировал и выяснил, что в первый раз, когда я начинал запись после запуска Записи голоса, её реакции иногда предшествовала долгая задержка. Двадцатисекундная задержка при записи сорокасекундного клипа — довольно низкий КПД. Это расстроило меня настолько, что я захотел разобраться, почему так получается, и запустил трассировку ETW.

Может быть, для начала, нужно антивирус запустить?

Так он в Win встроенный, получше всяких Avast Free будет.

Да и масштаб проблемы совсем уже не вирусный.

Не получше. Качество детекта у MS всегда было "не очень"

 масштаб проблемы совсем уже не вирусный.

Скорее всего, там проблема не в приложении, если 20 секунд задержки, а в засранности компа.

Так автор уже смирился, что виноват пользователь. Если бы он писал олос как нормальный человек, на i9, на пустом терабайтном PCIE 5 SSD, с 64 памяти и свежеустановленной ОС, никаких проблем бы не было..

Что вообще за понятие такое - "засранный комп"? Комп - это мой рабочий кабинет. Моя мастерская. И да, у меня там МНОГО всего, иначе зачем мне терабайчтные PCIE5 SSD и 64 Гб памяти? SoundRec запускать (который работал в Win3.1 в окружении слабее на три порядка)?

У автора поста 32Гб ОЗУ и SSD, 20 секунд зависаний даже броди там майнеры — не будет в контексте реакции на кнопку записи голоса 20 секунд. Не может. Ведь у меня даже при билде крестов во все потоки ядер и неироничных 100% cpu, кнопочки юай отрабатывают быстро.

Это не cpu bound задача, это каллбек, она не может тормозить сама по себе. Ну не получится его засрать.

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

Еще со времен Windows 95 не храню ничего в Моих документах и на Рабочем столе. И вообще под данные держу отдельный диск.

И вообще под данные держу отдельный диск.
Аналогично, но есть софт, который кроме Моих документов ничего не хочет признавать, поэтому переношу весь профиль пользователя с системного на отдельный диск.

Есть софт который привязан к реестру.

Да, но не понял к чему Вы.

Я об ограничениях, программу нельзя просто перенести на другой пк, на флешку, в другой каталог. Я об этом.

Я про личные данные, а не про программы. Про профиль, который обычно в C:\Users\ лежит.

"Мои документы" можно перенести в другое место в их "Свойствах", у меня 99% программ с этим отлично работают. Правда, много программ пишут гигабайты в %APPDATA%, который остается на системном диске.

пишут гигабайты в %APPDATA%, который остается на системном диске.
И поэтому в том числе переношу весь профиль, а не отдельные папки. При этом работает 100% (мне сбои не попадались) программ.

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

Если бы такие мелкие сервисные утилиты отдали на OpenSource, то такую мелочь давно бы поправили. Так-то есть другие приличные программы записи и обработки звука/видео либо из OpenSource, либо бесплатные.

За пример использования профилировщика ETW спасибо, надо будет глянуть.

Все эти штатные утилиты были в прошлых версиях винды. И работали там моментально, т.к. написано было на С++ и без всех этих свистоперделок и рюшечек в интерфейсе.

  • Из-за адской тормознутости всех новых "Метро-приложений" пришлось на Win 10 ставить кучу твиков, возращающих старый "Просмотр изображений", калькулятор, запись звука, и прочее.
    Чёрт! Да даже paint.net, написанный на томже самом C#, что и встроенный, запускается мнгновенно, работает без тормозов и обладат в разы большим функционалом, чем штатный недо-paint!

paint.net ... запускается мнгновенно

Нет. У меня запуск занимает 6-7 секунд (MS Paint запускается мгновенно). Это, кстати, основная причина, по которой я пользуюсь MS Paint намного чаще.

Для современного пользователя 6-7 секунд - это уже мгновенно. Хорошо хоть мода на неубираемые сплеш скрины на время загрузки приложения прошла. А то помню заказчики прям требовали их "шобы как у взрослых".

У меня NVME.
И когда я говорю "Моментально" - это значит, что в пределах 1-2 секунд.

А вот когда я говорю "Медленно" - это реально медленно, заметно дольше 5 секунд (До 10 в случае с Paint 3D).
И это на NVME Samsung Evo 980 (+i5 10600KF)!
А теперь представьте, на сколько медленные штатные приложения, если система стоит на обычном HDD...

Про старый ноут с полу-мёртвым HDD на 5400 об/мин вообще молчу...

Не верю. Ради интереса скачал portable версию Paint.net (последнюю). Хотел засечь кустарным способом - секундомером на телефоне. Не успел. То есть запуск произошел примерно за время моей реакции (около 250-300мс).

Система обычная, Win7 + SATA SSD, процессор 2014 г. выпуска (Haswell).

старый "Просмотр изображений"

"Фотографии" хороши тем, что умеют RAW'ы кушать из коробки. Для меня было неприятным открытием, что старый "Просмотр изображений" так не умеет. На этом мой опыт LTSB/LTSC винды закончился.

Ну кстати, раньше они этого из коробки тоже не умели. По крайней мере для Win10 поддержка RAW была как дополнение в MS Store, можно было поставить вручную, если знать о его существовании. Это сейчас в Win11 оно автоматом стоит.

Чёрт! Да даже paint.net, написанный на томже самом C#, что и
встроенный, запускается мнгновенно, работает без тормозов и обладат в
разы большим функционалом, чем штатный недо-paint!

Так для себя же пишется.

Если бы такие мелкие сервисные утилиты отдали на OpenSource

То туда сразу же бы понапихали бекдоров.

вы так говорите, будто бэкдоры бывают только в открытом коде.

вообще бэкдоры чаще встречаются в проприетарщине чем в опенсорсе

Ну калькулятор уже на github лежит, можно править

С помощью "батника" от Westlife винда худеет на полсотни процессов.

А есть какой-нибудь Tweaker, на подобие XP Tweaker, PowerToys XP?

Есть, и далеко не один. Одна проблема — можно что-нибудь непредсказуемо сломать, и потом долго разбираться, почему система ведёт себя странно.

Я так сканер отпечатка пальца сломал.переставлять систему лень.вхожу по пину

До тех пор, пока разработчики будут считать, что именно их уникальная программа должна в обязательном порядке иметь сервис (а лучше несколько), который постоянно висит в памяти, жрет процессорное время и ресурсы машины, и, естественно, устанавливается автоматически без ведома пользователя - ничего не изменится.

Уровень bloatware в современном ПО просто зашкаливает, покупать ноутбук с OEM операционкой от вендора - это гарантированно поиметь +10-20 перманентно работающих сервисов, делающих непонятно что и постоянно общающихся с сетью. Этакие официальные вирусы, на которые не реагируют антивирусы.

Позвольте придраться к терминологии. Вирусы - это программы, распространяющиеся путем заражения другого ПО. Неправильно называть ими всё подряд.

Придираться, так по полной :)
В обиходе «вирусами» называют всё вредоносное ПО, хотя на самом деле это лишь один его вид.

Яндекс браузер создает сервис + 6 (!) точек автозапуска: 1 в реестре и 5 в планировщике заданий. Видимо, чтоб наверняка.

Лучшие практики со времён Яндекс Панели!

это они у мейл.ру научились.

Я с таким борюсь при помощи anvir task manager.очень полезный менеджер

Стоит добавить, что в open-source похожие проблемы. Обнаружил, что после запуска диск отвечает очень плохо минут 5-10. Виновник - mlocate, зачем-то кеширующий список файлов каждый день (DE: Xfce 4.16). Благо, не сильно много зависимостей за собой утянул при удалении.

LibreOffice тоже с каждой версией все тормознее и тормознее.

Не только LibreOffice. Все DE, возможно кроме OpenBox. KDE, Gnome, упомянутый Xfce. Повышаются требования к ЦП и ОЗУ.

icewm не меняется сто лет, и легковесен

в мире опенсорса есть выбор для любого вкуса, надо только поискать

Этим меня Open Source и завлёк, правда сейчас в основном на Windows, так как удалёнка. Еще не скоро мы пересядем с иглы майков:(

кто "мы"?
лично я от мелкомягкого софта уже наверное лет 10 как успешно отказался, что дома что на работе. у меня просто нету столько нервов чтобы с ним работать.

Больше на работе, где бы я не работал, везде юзают продукцию майков. Я С# программист:)

В современном мире C# программист к windows не привязан, .net core отлично работает везде. Я сам C# программист, работаю, стыдно признаться, на маке.

Это я знаю. Но все зависит от воли начальства от их решения. Ещё требуется определенное время для перехода на linux. Процесс идёт, но хочется побыстрее. Мак это ПК, было бы странно, если бы на нем нельзя было программировать.

Видимо, DE — это вещи, делающиеся по-заказу. Когда что-то делается явно для себя, например i3, то оно не распухает. У меня i3 мгновенно отрабатывает на 15 летнем Core 2 Duo. Версия новая (я их регулярно пакетирую). И никакой деградации я не замечаю (возможно она есть, но вот уже сколько лет незаметна).

Gnome на Wayland у меня работает в недо-4К (3000х2000) с идеально плавными анимациями и моментальной отзывчивостью на 0.6 ГГц. И да, это ещё и тачскрин.

Так что у вас либо устаревший опыт, либо готовить не умеете)

«в open-source похожие проблемы» — эх… видать индусы и до open source добрались…

А еще пытаются мигрировать кодовую базу на С#, чему я и многие другие активно сопротивляются.

Ха-ха :( Индусы хотя бы это делают за деньги..

  reference->image->x = (RGBABitmap**)malloc(sizeof(RGBABitmap) * 0.0);
for(i = 0.0; i < xLabels->stringArrayLength; i = i + 1.0){
    if(xLabelPriorities->numberArray[(int)(i)] == p){

Вот что курил автор этих строк? Что побудило его использовать double для итераций по массиву?

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

Ну это библиотека для рисования графиков, слишком затейливо с помощью нее что-то ломать. Скорее всего, она была написана студентом-физиком на basic, а потом её как смогли переписали на все прочие языки.

Да и в первой строке тоже: даже я, ни разу не программист, знаю, что вызывать malloc без проверки на null — под строгим запретом.

Ну дабл же круче! Он же не до каких-то жалких 32767, там максимальное значение просто космическое число! Зачем какой-то ограниченый инт, если есть дабл!

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

Только это не совсем число, чтобы сложить два байта придется из них сделать инты https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.11.1

PS: если что рядом с жавой просто стояла, мне асм ближе.

Только это не совсем число

Логично, кстати. 0xff + 0xff сколько будет? А 0xff * 0xff?

-1 + -1 = -2 = 0xfe и -1*-1=1=0x01? А в чем принципиальное отличие от 0xffff_ffff + 0xffff_ffff ? Ок, я поняла о чем вы. Пусть будет отличие 0x7fff_ffff + 0x7fff_ffff в инте против 0x7f+0x7f в байте )

Просто зачем байты с misaligned address в памяти для загрузки данных в 32/64 битные регистры?

-1 + -1 = -2

Или всё же 255 + 255?

Согласно приведенной выше спецификации класс байт содержит знаковое число, от -2^7 до 2^7-1. Поэтому -1.

Байт это единица хранения данных. А как вы его собираетесь интерпретировать, как число, как символ ASCII (упсь, на '0' можно делить или нет?), как регистр управления последовательным портом в микроконтроллере (тут арифметические действия совсем бессмысленные) - действительно ли это необходимо тащить в спецификацию языка?

Мы про жаву говорим, там своя машина исполнения, в ней байты для управления микроконтроллером не нужны.

Ну и что? Какая разница как там реализована трансляция байт-кода. Это одна из главных фишек жавы - разрыв между железом и программой.

Но вы в целом правы - отсутствие аппаратно поддерживаемых overflow тоже причина отказаться от байта как полноценного численного типа.

НЛО прилетело и опубликовало эту надпись здесь

Подход, где нужно явно указывать, как интерпретировать значение байта, не так и плох.

НЛО прилетело и опубликовало эту надпись здесь

Но только это не про C.

Да, про java, где явно нужно указать, в что нужно конвертировать Byte. Громоздко, но надёжно.

А что там нетривиального? Достаточно немножко понимать как работает процессор и что там в конце на уровне железа все довольно примитивно и ограничено, и развлечения с поддержкой signed/unsigned на уровне железа мало кому интересны.

НЛО прилетело и опубликовало эту надпись здесь

А то, что размерность того же int implement depended вас не смущает? И ведь это далеко не единственное implement depended стандарта, а простые тесты gcc и llvm на одном и том же процессоре взаимно не проходят.

НЛО прилетело и опубликовало эту надпись здесь

неопределённая размерность байта

char же?

НЛО прилетело и опубликовало эту надпись здесь

Как хорошо, что есть языки, в которых все это жестко зафиксировано!

А есть микроконтроллеры, где для первого компилятора выбрали не Си? Не голенький асм, а что-то более универсально выскоуровневое, но не Си?

В целом Си и С++ сохраняют размерность указаных данных, это одна из причин их популярности в низкоуровневых приложениях, где все эти байты-биты критически важны. Но вот как поступят оптимизации компилятора? Есть подозрение, что в конкретно этом примере переменных и сложения не будет совсем. Вот если вынести переменные наружу, да еще указать их как volatile, тогда да, деваться некуда, будет байтовая переменная. Но не удивлюсь, если при выделении памяти оставит рядом по 3 неиспользуемых байта, просто для выравнивания адресов.

Скажите пожалуйста, почему придётся?

mlocate кэширует файлы для того чтобы при использовании поиска не сканить весь диск а быстренько дать ответ из бд, и что-то я не припомню дистрибутива в котором mlocate шёл бы из коробке так что скорее всего вы его доставили сами

В Kubuntu идёт из коробки с добавлением себя в `/etc/cron.daily`:
cdimage.ubuntu.com/kubuntu/focal/daily-live/current/focal-desktop-amd64.manifest
packages.ubuntu.com/focal/amd64/mlocate/filelist
Вероятно, я что-то поставил и оно потянуло зависимость.

а в серьёзных дистрибутивах оно уже давно не в cron а через systemd таймеры...

НЛО прилетело и опубликовало эту надпись здесь

серьёзнее некуда

НЛО прилетело и опубликовало эту надпись здесь

Рад за вас, ну или сочувствую, предлагаю на выбор. В общем не знаю я что вы хотите этим сказать

НЛО прилетело и опубликовало эту надпись здесь

Не похоже что виновник mlocate, похоже что виновник тот, кто настроил запуск updatedb каждый день и не настроил /etc/updatedb.conf.

зачем-то кеширующий список файлов каждый день

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

Нужно было создать pdf файл, скачал pdf24. Прописывается в автозауск, зачем? Когда закрываешь через трей, выводит бесящую надпись, вы точно хотите выйти из программы. Это было последним раздражающим фактором. Сделал дело, снес.

Очевидно, это нужно, чтобы пользователь думал, что оно запускается мгновенно при нажатии на иконку, а не 10 секунд. Не оптимизировать же софт, в конце-то конов.

Я под такой шлак виртуальную машину держу. Поставил, попользовался, откатил на старый снапшот. Или не откатил, все равно не жалко, основную систему не засоряет.

Аналогично, очень удобно!

Обновил десктоп на i5-11400. Прирост таки есть. Но провел следующий тест. Открыл каталог WIndows32 в Double Commander и начал быстро скролить вверх и вниз. Собственно вот

5-6% процентов загрузки ЦПУ многовато для такой задачи. GPU в это момент грузиться на 6%. Аналогичный тест на Athlon X4 640 грузит одно ядро под 100%.

Надо бы все таки посмотреть стек вывозов, что же там такое происходит.

Иконки небось генерируются для каждого файла :)

юзайте FAR ;)

Решил протестить древний Windows Commander. Возможны слёзы умиления и повышение артериального давления на фоне нахлынувшей ностальгии:)

Запускаю на Windows 10

Да и современный так же мало

Просто произошло развитие понятия расширения и типа файла. Сценарий использования таков, что пользователю вообще не нужно задумываться над тем, что у него есть какие-то там файлы или что-то подобное, это все особенности технической реализации. Для пользователя есть объекты "картинка", "видео", "документ". ДОступ к ним через соотвествующее приложение.

Но реализация получилась ни то, ни се. Ни до полноценных объектов не доросли, и базовые операции прибили. Поэтому всем, кто работает с чем-то большим чем "картинка" и "документ" необходимо ставить приложения с двадцатилетней историей.

пользователю вообще не нужно задумываться над тем, что у него есть какие-то там файлы или что-то подобное
О да, мечта корпорации — пусть человек даже не пытается думать что у него хоть что-то есть)

Total Commander (он сейчас так называется) последней версии 10.51 кушает вообще 4.3 мегабайта и при скроллинге грузит процессор на 0.5%. Думаю оптимизация free pascal помогла, старый был ещё на дельфи написан.

Виктор Котов: Насколько мне известно, Вы используете Delphi (кстати, какую версию?). Но сейчас появились новые языки программирования (C#, .Net и т.д.). Нет ли планов сменить язык и среду программирования? Какой язык Вы будете использовать в будущем?

Кристиан Гислер: Для Total Commander я все еще пользуюсь Delphi 2.0, хотя у меня есть лицензионная Delphi 7, которую я использую для других проектов. Delphi 2.0 идеальна для меня, потому что она работает очень быстро и выдает очень компактный код. Кроме того, последние версии Delphi создают код, который несовместим с 16-разрядной Delphi. Маленький размер программы важен для меня еще и потому, что я отправляю заказы покупателям на дискетах, но в будущем я планирую перейти на компакт-диски. Также маленький размер важен для скачивания в Интернет. Вот почему ".Net" абсолютно неприемлема для shareware-программистов: пользователям придется скачивать кроме программы еще и 23 мегабайтный дистрибутив ".Net framework" для того чтобы запустить программу.

2004 год, программа должна помещаться на дискету.

2022 год, программа должна запускаться.

Вообще то программа в 2022 должна приносить бабло, то что она запускается — побочный эффект /j

Вообще-то в 2022 программа или даже новая версия ОС должна выйти раньше конкурентов, а то что оно криво работает или вообще падает вместе с компьютером — не беда, в обновлениях поправим.
вообще падает вместе с компьютером

… Падает со стола, из-за вибраций в разогнанной до предела системе охлаждения.

" Маленький размер программы важен для меня еще и потому, что я отправляю заказы покупателям на дискетах, но в будущем я планирую перейти на компакт-диски. Также маленький размер важен для скачивания в Интернет. Вот почему ".Net" абсолютно неприемлема для shareware-программистов: пользователям придется скачивать кроме программы еще и 23 мегабайтный дистрибутив ".Net framework" для того чтобы запустить программу " сейчас вот это вообще не актуально

Ну как не актуально. Регулярно встречаются программы, которые требуют какую-то новую версию .Net Runtime, которую приходится искать на сайте микрософта, качать и ставить. Размер не важен, но вот потраченное время...

Справедливости ради, это же верно и для нативных приложений, требующих новых версий Visual C++ Redist.

Ну с .NET 6 уже можно паковать вот прямо все-все в один файл. Удобно и вроде работает. Как для Windows так и для Linux. Т.е. тащить за собой фреймворк не надо. Но размеру ну и скорости запуска примитивнейшего приложения не стоит удивляться. Оно все распаковывает в "temp" и уже оттуда все подгружает.

С .NET 6 "Оно все распаковывает в "temp" неверно.

Single file build как раз таки и распаковывает. И запускает из распакованной папки, а не с места где лежит оригинальный executable.
Они для этого даже специальную функцию добавили чтобы получать имя оригинального файла, кстати, а не процесса который действительно исполняется.

Это было в 3 версии. Сейчас уже не так. Функция нужна еще, вроде да. Но папка темп уже нет

https://learn.microsoft.com/en-us/dotnet/core/deploying/single-file/overview?tabs=cli

Previously in .NET Core 3.0, when a user runs your single file app, .NET Core host first extracts all files to a directory before running the application. .NET 5 improves this experience by directly running the code without the need to extract the files from the app.

У меня, к слову, на вин 11 с ним беда. Там прикрутили этот модный терминал, и фар в нем иногда отрисовывается кривовато. Ещё и при запуске по иконке на панели задач уходит во вкладку терминала, и в его значок. Ещё раз кликнул -- держи ещё один новый фар. На 10 такого не было :(

ConEmu используете? Фар без него сейчас уже не фар

Нет, не использую, спасибо за наводку!

Можно представить как к этому конкретному багу пришли во время разработки:

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

Кодер (на минимальной ставке): "stackoverflow.com", "Ctrl-C", "Ctrl-V", "шлёп", "закрыть задачу".

Менеджер: Работает? Всё, в продакшн, сроки горят. Кстати, зайди потом в отдел кадров...

И тестер торопился домой, работает, багов нет. В прод.

Тестера уволили ещё до этой задачки

Не хочу быть конспирологом, возможно тестера вообще не было:)

сам кодер и был тестером. Компилируется? Да.. с ворнингами, но компилируется же!

Значит, всё в порядке.

Бабло в очередной раз победил здравый смысл.

НЛО прилетело и опубликовало эту надпись здесь

Я прошу прощения за такой заголовок, потому что современное ПО может
быть медленным по множеству разных причин. Слепое использование одного
объяснения без малейшего расследования — это программный аналог карго-культа. В этом посте рассматривается один пример того, почему современное ПО может быть мучительно медленным.

Этот пример, как и многие другие легко укладывается в определение "программисты нарукожопили". Расследование не меняет этого факта, а лишь раскрывает детали.

Культ-карго будет, если для увеличения производительности, без изучения причин, будет использоваться один и тот же метод/блок кода.

Я прошу прощения за такой заголовок, потому что современное ПО можетбыть медленным по множеству разных причин.

Вообще не парьтесь на этот счёт. Я писал заголовки в более агрессивной манере. претензий не было. Я бы конечно заголовок переделал:) Так сказать, полностью отразив всю боль использования современного ПО.

Над этим модулем работали лучше индийские программисты подразделения MS ?

НЛО прилетело и опубликовало эту надпись здесь

Так...

  1. Собираем статистику, умножаем на количество ПК

  2. Пустую трату электричества пересчитываем в эмиссию CO2

  3. Жалуемся в СпортЛото

  4. ...

  5. Profit!

А что вы хотите от софта, который написан вот примерно такими профессионалами, чей код я постараюсь частично процитировать ниже?

if (c=='a') { return 'a';} else

if (c=='b') { return 'b'; } else

if (c=='c') { return 'c'; } else

...и таких строк ещё много - для всех ASCII символов. В общем, идею вы поняли.

Пфф... а как вам такое? Я в свое время когда на это наткнулся в исходниках, в процессе правок кода - долго думал...

	public static boolean parseBoolean(final String s)
	{
		switch(s.length())
		{
			case 1:
			{
				final char ch0 = s.charAt(0);
				if(ch0 == 'y' || ch0 == 'Y' || ch0 == '1')
					return true;

				if(ch0 == 'n' || ch0 == 'N' || ch0 == '0')
					return false;

				break;
			}
			case 2:
			{
				final char ch0 = s.charAt(0);
				final char ch1 = s.charAt(1);
				if((ch0 == 'o' || ch0 == 'O') && (ch1 == 'n' || ch1 == 'N'))
					return true;

				if((ch0 == 'n' || ch0 == 'N') && (ch1 == 'o' || ch1 == 'O'))
					return false;

				break;
			}
			case 3:
			{
				final char ch0 = s.charAt(0);
				final char ch1 = s.charAt(1);
				final char ch2 = s.charAt(2);
				if((ch0 == 'y' || ch0 == 'Y') && (ch1 == 'e' || ch1 == 'E') && (ch2 == 's' || ch2 == 'S'))
					return true;

				if((ch0 == 'o' || ch0 == 'O') && (ch1 == 'f' || ch1 == 'F') && (ch2 == 'f' || ch2 == 'F'))
					return false;

				break;
			}
			case 4:
			{
				final char ch0 = s.charAt(0);
				final char ch1 = s.charAt(1);
				final char ch2 = s.charAt(2);
				final char ch3 = s.charAt(3);
				if((ch0 == 't' || ch0 == 'T') && (ch1 == 'r' || ch1 == 'R') && (ch2 == 'u' || ch2 == 'U') && (ch3 == 'e' || ch3 == 'E'))
					return true;

				break;
			}
			case 5:
				final char ch0 = s.charAt(0);
				final char ch1 = s.charAt(1);
				final char ch2 = s.charAt(2);
				final char ch3 = s.charAt(3);
				final char ch4 = s.charAt(4);
				if((ch0 == 'f' || ch0 == 'F') && (ch1 == 'a' || ch1 == 'A') && (ch2 == 'l' || ch2 == 'L') && (ch3 == 's' || ch3 == 'S') && (ch4 == 'e' || ch4 == 'E'))
					return false;

				break;
		}

		throw new IllegalArgumentException("For input string: \"" + s + '"');
	}
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Эм.. А еще можно где-то так.

пфф, правильный подход - создать bool хешмап на (26 * 2)^5 вариантов, return hm.get(s)

Вот вы смеётесь, но, кажется, так и бывает. Программист использует tolower для проверки аргумента (обычно пустая строка), tolwer загружает локаль с диска. У какого-то странного человека настройки локали загружаются с сетевой шары с пингом 2с. Новая статья на хабр о криворуких программистах готова!

И хоть бы кто-то задался вопросом: а нахера вообще позволять писать как попало? Чтобы потом всяким линтерам и форматтерам было чем заняться?

НЛО прилетело и опубликовало эту надпись здесь

Локали должны храниться там же, где и корень. Разве они не будут подгружены первым же запустившимся скриптом?

Ну, у нас это делается вот так: str.Equals("false", StringComparison.OrdinalIgnoreCase). В Java наверняка должен быть столь же простой способ...

НЛО прилетело и опубликовало эту надпись здесь

Так вот в том то и дело что тот же стандартный метод Boolean.valueOf(String s) как раз так и проверяет, просто как

return s.equalsIgnoreCase("true");

т.е. просто и лаконично и этого бы хватило за глаза.
К чему было городить то извращение, что я выше привел - я так и не понял.
Метод если что использовался чисто для распарса булевых параметров из конфигурационных файлов и при этом там в качестве значений используются только true/false, но никак не 1/0, on/off и т.п.

Все что говнокоженного выше - не приведение в lowercase. Если система подразумевает модульность и заполнение конфига левыми людьми - вполне себе неплохой вариант думать про Y/N 1/0, Yes/No и т.п., сам так извращаюсь.

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

	public static boolean parseBoolean(String s)
	{
		if (s.equalsIgnoreCase("true") || s.equalsIgnoreCase("yes") || s.equalsIgnoreCase("on") || s.equalsIgnoreCase("y") || s.equals("1"))
			return true;
		else if (s.equalsIgnoreCase("false") || s.equalsIgnoreCase("no") || s.equalsIgnoreCase("off") || s.equalsIgnoreCase("n") || s.equals("0"))
			return false;

		throw new IllegalArgumentException("For input string: \"" + s + "\"");
	}

Даже если такое будет работать чуть медленнее чем тот код - в том месте где это использовалось это вобще не критично.

Тот код, что я приводил примером ранее, если что взят из одной из веток java-эмулятора Lineage II. Ну и да там с качеством кода зачастую все достаточно печально, т.к. в процессе развития исходники зачастую проходят через множество людей, с разной степенью кривизны рук и каждый пишет так как видит "лучше".

Изначально же про производительность говорили, надо было хотя бы в начале функции сделать что-то вроде

String s_lo = s.toLowerCase();

и использовать обычное сравнение.

strcasecmp ;)

Но в мире java свои интересные конкурсы ;)

Можно вручную сделать небольшой конечный автомат, который и будет выдавать искомое. Но только вот понять такую функцию будет совершенно невозможно.

Еще можно при помощи gperf сгенерить не менее непонятное выражение, сравнив результат которого один раз с числом тоже получим искомое.

НЛО прилетело и опубликовало эту надпись здесь

А можно взять compile-time регулярку

Там выше я в сарказм немного не смог. Насчет того как написать оптимально, но совершенно непонятно. На практике я бы switch c нужными строками в качестве вариантов выполнения написал и пускай компилятор/среда выполнения разбирается, как это индексирование по конечному набору коротких строк оптимизировать. Что они должны бы уметь - теория уже немало лет известна.

Оно хотя бы понятно было бы, что вот это - это у нас true, а вот это - false.

Это плохой код. Ну кто так называет переменные? ch0, ch3... Имена переменных должны быть длинными и понятными. Например, DlinnoePonyatnoeImyaPeremennoy1, DlinnoePonyatnoeImyaPeremennoy2,...

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

К тому же, когда столько всяких разных проверок, это делает код БЕЗОПАСНЫМ!

По моему, это очевидная экономия средств. У вас есть выбор - либо нанять отдел дорогих программистов на плюсах, которые сделают качественное ПО, но стоят очень дорого, либо нанять столько же индусов за копейки которые сделают это на самом модном фреймворке. И плевать, что этот фреймворк тоже основан на другом фреймворке написанном другими индусами. Главное, что при отчёте инвесторам мы отчитаемся о экономии средств.

Так и множатся уровни виртуализации. Отсюда и скорость падает, когда каждый фреймворк собирает для себя статистику и ведёт свои кэши.

Такая экономия средств допустима для малого и, может быть, среднего бизнеса. Но когда доходы превышают расходы в несколько раз, думаю, можно уже позаботиться и о качестве продукта.

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

При таких объёмах и фактическом доминировании на рынке, о качестве думают в последнюю очередь.

Вы неявно заметаете под ковёр то, что у нас капиталистическая экономика. А значит, главная цель любого бизнеса — это прибыль. Качество продукта в случае околомонопольного положения коррелирует с прибылью достаточно слабо.

НЛО прилетело и опубликовало эту надпись здесь

Но на собесе будь добр обойти дерево любым из возможных способов.

Видимо, они обошли гуськом и их всех сразу приняли.

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

Могло быть ещё хуже? Куда уж хуже:)

1) Находим дерево.

2) Обходим его, дружно держась за руки.

3) ????

4) Профит!

Кстати, 40к файлов для одной папки - это очень много для винды... Торможения на 40 секунд - это еще легко отделались!

почему для винды?
Для любой ОС, если работать с такой папкой в GUI.
А вот для прямого обращения - NTFS на самом деле весьма неплохая файловая система.

Для любой ОС, если работать с такой папкой в GUI.

Потомушто как поступает кодер? Есть контрол, который умеет работать со списком файлов - загрузили в него список, 2 строчки кода и фича готова. А то что список готовится не мгновенно, и что со скроллируемым списком в 40 000 элементов всё равно невозможно работать - про это думать некогда, нужно прыгать.

НЛО прилетело и опубликовало эту надпись здесь
Пальцем в небо: потому что некоторые алгоритмы (та же быстрая сортировка при неудачных входных данных) работают за квадратичное время?
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Если эти обьекты автоматически и неявно для программиста сортируются (или индексируются), например - это проблема для любого компьютера.

Потомушто как поступает кодер? Есть контрол, который умеет работать со списком файлов - загрузили в него список, 2 строчки кода и фича готова.

Чего?
Это файловая система. Пока пользователь думал что нажать, а потом нажал сортировку, в каталоге могло появиться еще сто новых файлов. Поэтому все менеджеры и перечитывают список.
У меня 200 тысяч файлов лет 20 назад минут 20 считывался под NT

У файлового менеджера основная задача - список файлов показывать, даже если он длиной 200000. Правда, этот список бесполезен чуть более чем полностью - на экран он не помещается, и скроллить его невозможно. А в приложении звукозаписи, скорее всего, каждый элемент списка в потрохах ещё и метаданные парсит по индийской методике. Имхо, GUI для списка в 100 элементов и для 100 000 элементов, для начала, нужно проектировать по разному.

  1. При выполнении операции, не позволяющей пользователю работать с приложением, честнее использовать шкалу прогресса или курсор ожидания. UI Записи голоса всегда реагировал на взаимодействия, но на самом деле это было ложью — кнопка записи должна быть отключена, пока приложение не готово.

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

НЛО прилетело и опубликовало эту надпись здесь

Проблема как раз в том, что разные потоки там и есть

Ну вот для шкалы сканера файлов надо было бы еще 1 делать.

Так что жмёшь, жмёшь на кнопки, они вроде бы нажимаются, а на самом деле ничего не происходит.

Не очень хороший подход имхо, но значит менеджер одобрил.

А вы видели сколько занимает памяти калькулятор в windows 10 ?

windows 95 - целая ОС - занимала меньше !

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

Это вы хорошо подметили.

Предположу -- разрабу было лень писать код, поэтому запустил windows 95 в ВМ, запустил калькулятор на фулскрин и все это добро упаковав в экзешник сдал в прод.

Ну так оно работает и считает по правилам. Вы знаете сколько там всяких правил оказывается?! И порядок действий соблюдай, и скобочки контролируй, и за переполнениями и исключениями следи! После того, как QA в **тый раз вернуло задачу пришлось так сделать.

PS: а хорошо, что тесты подошли от прошлой версии калькулятора!

Мы такие калькуляторы с порядком действий и скобочками писали в 10-м классе. Дельфи выдаёт полтора мегабайта полный стэндэлон.

А переполнение и деление на ноль проверяете? Что там у вас с точностью вещественной арифметики?

Деление на ноль я проверял (как и всякие отрицательные аргументы логарифма), переполнение — не помню, вроде нет, но воткнуть бигинт и забыть об этом вроде несложно, одноклассники даже свои реализации длинных чисел предлагали. Переполнение флоата чуть геморнее, но тоже решается несложно. А точность флоатов в соответствии с IEEE, они явно понимают это немножко лучше меня.

Благо, калькулятор — опенсорс, так что можете исправить положение :)

Хорошо бы если бы так, но в Win10 еще недавно, если калькулятор оставить висеть в фоне с результатом вычисления, то через некоторое время можно было обнаружить вместо результата 0.

Сейчас вроде поправили.

Не только медленное, но и крайне убогое функционально и по юзабилити.
Причина одна — нынче его пишут «нормальные люди» для «нормальных людей», а не профи для профи…

Ответ простой:

Потому что эти утилиты вроде Voice Recorder писались студентами. Это не шутка и не утрирование. На презентации Windows 8 и WinRT было сказано что эти утилиты были специально написаны с нуля на WinRT, хотя не было большого смысла переписывать. И для переписывания набрали студентов (interns) чтобы показать что это очень легко.

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

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

Лет 5 как Linux дорос до домашнего применения. Проблемы могут быть лишь в не поддерживаемом железе и вероятность найти такое железо, крайне мала:) Но я не играю в современные игры, потому не знаю насколько это проблемно. Возможностей Wine мне хватает.

На ноуте? ха-ха. Опыт настраивания на нескольких машинах нескольких дистрибутивов.

У меня дома 2 ноута и 2 ПК, на всех стоит доп системой Lubuntu и даже печать работает. Чудеса.

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

НЛО прилетело и опубликовало эту надпись здесь

Эппл живет на своих эппловских ноутах. Благодаря минимальному разнообразию железа живет хорошо. Да и вообще эппл сильно против разнообразия железа. И к поддержке стороннего зоопарка переферии относится насторожено и требовательно, чтобы было или "работает без проблем", или "не работает совсем" и не было "да что за ерунда происходит с этой штуковиной" (ну согласитесь - с линуксом нормально потратить несколько часов своего времени, прежде чем смириться что вот именно эта логитеховская блютусная клавиатура не работает в линуксе, ни так, ни сяк, ни наперкосяк. С эпплом просто возьмут другую модель клавиатуры, желательно производства эппл. А если не работает в виндовсе - то это просто брак)

Поставил домашним Kubuntu из коробки, ноут и два системника. Полет нормальный, подмена даже не была особо замечена. Главное показать "куда кликнуть, чтобы интернет запустить" )

Потому что вы всем этим занимались, и в случае любого вопроса тоже вы будете заниматься, и задач сложнее "запустить инет" не возникает. Это же не ваша мама (или кому вы объясняли куда кликать) взяла в магазине готовый ноут с линуксом, ввела пароль от вайфая и оно все заработало и проблем не было, это знающий человек донастроил так, чтобы осталось кликнуть. На самом деле это достаточно высокая квалификация даже для эникея. Да даже объяснять куда кликать для инета пришлось! Представте, что вы поехали в командировку в уганду на пол года, а вас российский родственник уровня "объясни куда кликать" попросил вот прям срочно без ограничения по деньгам что-то выбрать, чтобы видео в одноклассниках смотреть и мемуары писать. Посоветуете кубунту?

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

Решение всех остальный задач "как сделать ..." под линуксом обычно начинаются с "выполните в терминале 'sudo ....' " и далее откровенное шаманство понять и запомнить которое практически невозможно.

Ну в моем случаи кубунта встала прямо из коробки, если бы конечно было какое-то специфичное железо, все было бы ни так весело. По моим наблюдениям настроенный линукс сломать сложнее винды. Конечно, если стоит вопрос поддержки, то ни все так однозначно.

За последние несколько лет видела несколько вариантов, всегда были подводные камни и проблемы.

Ну вот года три назад своя эпопея. Второй домашний ноут, делл, задача - видео да интернет. Возраст, когда хотелось ковыряться и настраивать прошел, хочется просто включить и пользоваться. Первый дистрибутив. По отзывам - ноль проблем, все из коробки. Эй, а что со спящим режимом и внешним монитором?! Да это не тот дистрибутив! Вот следующий "ноль проблем, работает из коробки". Опять спящий режим? Понятно, ждать не стоит, настроили. Пришло обновление. В новой версии ядра не работает вайфай на ноуте, совсем, баг известен. Системе неделя, там кроме нескольких картинок ничего нет. Сносится, ставится следующий "ноль проблем, работает из коробки". В обновлении сам себе ломает граб (баг уже известен), грузится только оемный виндовс. ОК. Понятно. Объединить разделы диска.

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

1) "Но если ваш сценарий использования далек от "запустить браузер,
посмотреть киношку" и в любом случае придется много чего настраивать, и
главное есть кто всем этим будет заниматься - линукс хорош. "

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

Вы себе же противоречите.

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

Пример: возьмите любой комп/ноут с оемной виндой. То, что он заработает после нескольких эникеев и ввода паролей не вызывает сомнения. А вот вставляя флешку с линкусом всегда есть немного драйва "а заработает ли". Будет ли "ого, печать сразу заработала" под виндой? Нет, это само сабой разумеется. А под линуксом обращает на себя внимание, ну надо же!

"Ага. Даже под запустить браузер и посмотреть киношку надо настраивать. Начиная с выбора дистрибутива. ... Пример: возьмите любой комп/ноут с оемной виндой."

Сначала вы ведёте речь о запуске браузера, который надо настраивать.
Затем перескочили на установку системы на компьютер
Пример у вас и вовсе про предустановленную систему.

Это у вас три софистических приёма:
- доведение до абсурда
- подмена темы
- переменные условия

Начну с примера.
Пример: возьмите любой компьютер или ноутбук с предустановленным GNU/Linux, примеры ноутбуков в продаже

Мой сын, ему тогда было 7, без каких-либо сложностей стал сразу смотреть мультики с Youtube на Nettop Acer Veriton N4660G с предустановленным Endless Linux. Он и подключал этот неттоп к телевизору сам, всего лишь переткнул два кабеля и включил в розетку.

Продолжим выбором дистрибутива.
Выбор дистрибутива ОС означает, что ОС на устройстве не установлена производителем. Большинство современных компьютеров (ноутбуков, неттопов) продаются без дисковода.
В настоящее время продажи windows в России прекращены, но где-то ещзё есть остатки, там Windwos 10, windows 11, windows 8.1. Выбор, однако!
Если говорим о скачивании с торрентов, во-первых, выбор ещё шире, от Window 7 как минимум, да и версий windows 10 существенно больше одной, и во-вторых, до торрентов ещё нужно суметь добраться и суметь оттуда скачать.
И неизвестно, какая из этих ОС будет нормально работать на конкретном устройстве (не для всех из них есть драйверы).
Далее. как вы думаете, что будет делать условный домохозяин(ка), купив дистрибутив windows, и обнаружив, что там DVD, а привода нет. И если это нетбук, его даже вставить некуда, не говоря о потере гарантии в результате разборки устройства.
Если речь о скачивании, то, скачав ISO, он сначала не будет понимать, что делать, и только обратившись к более-менее специалисту или чайнику-соседу-приятелю-другу, узнает, что нужно записать файл на флешку. Записав его на флешку, наш персонаж внезапно обнаружит, что система с флешки не загружается - потому что записывать нужно специальной программой, а инструкция в комплекте отсутствует.
Ну и потом будет танец с бубном по поиску и установке драйверов.
Теперь берём линукс.
У всех дистрибутивов линукса образ флешки скачивается с официального сайта. У всех популярных дистрибутивов на сайте есть подробная инструкция по её записи на носитель на той же странице, где есть ссылка на скачивание. Скачав образ и программу, записав на флешку и установив в компьютер, человек получает рабочую систему. А может и просто в live-системе с флешки работать.

И, наконец, настройка браузера.
Вы удивитесь - браузер в свежеустановленной Windows запустится только после того, как вы ответите там на несколько заковыристых вопросов.
В Linux предлагаемый в зависимости от дистрибутива Firefox, Chromium или Opera лишних вопросов не задаёт, а сразу открывает начальную страницу и страницу с информацией.

Начальную страницу-то оно может быть и покажет, а вот дальше.

Вчера потратил минимум 3 часа на настройку аппаратного ускорения видео и не победил. Firefox запускается и работает, но выдаёт, что любое декодирование blocklisted by gfxInfo. Хром отказывается ускорять какие-либо форматы видео, кроме h264, хотя драйвер их поддерживает. Chromium вообще отказывается включать ускорение в сборке без специальных фиксов. В результате плюнул и перезагрузился в винду, где тот же firefox просто поддерживает это всё сразу после установки.

Ситуация в Arch и Ubuntu одинаковая - в обоих я максимум получил поддержку декодирования только маленькой части форматов( например ни vp9, ни hevc не работают ). Что примечательно, mpv те же форматы отлично открывает с ускорением, т.е. списать всё на баги драйвера нельзя.

Всё действо происходило на ноутбуке с ryzen cezanne и amdgpu драйвером, от которого в восторге всё комьюнити Linux.

Не поймите неправильно, для разработчика Linux отличная система, но вот для домашнего использования "поставил и забыл" - нет.

С линуксом никогда не знаешь на 100% это не работает, потому что там не так настроено/прописано и надо выполнить вон те 100500 команд в консоли, или оно в принципе не будет работать.

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

Ситуация в Arch и Ubuntu одинаковая

Арчу надо доустановить gstreamer-vaapi libva-mesa-driver libva-vdpau-driver libva-utils было, чтобы завелось декодирование в лисе.
Потому что в арче ты можешь настроить все — и ты будешь настраивать всё!


По убунте сказать нечего, после повального засовывания всего в снап для каджита убунта умерла как десктопная система.

gstreamer-vaapi libva-mesa-driver libva-vdpau-driver libva-utils

Установлены. Там браузерам что-то не нравится с моей карточкой и/или драйвером, что они запихивают их в чёрные списки. А вариантов полностью игнорировать эти списки - нет. Есть кучка разных флагов/настроек каждый из которых игнорирует их только для какой-то отдельной фичи.

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

Вспомнил, в лисе еще отключал встроенное декодирование, чтобы ютьюб пошел в 4к не на проце: в about.config по ffvpx поиск.
Для всех хромых набор флагов, вроде, одинаковый: --ignore-gpu-blacklist --enable-gpu-rasterization --enable-native-gpu-buffers
Фалькону, правда, не помогло: староват. Vivaldi кушает раза в три меньше него по cpu, но раз в пять больше, чем лиса.


UPD:
Falcon ~600%
Vivaldi ~200%
Firefox ~30–60%

помотреть ютуб сейчас можно с любого утюга.

Если 90% задач пользователь может сделать из условного firefox, то ему вообще все равно какая ОС стоит.

В настоящее время продажи windows в России прекращены, но где-то ещзё есть остатки, там Windwos 10, windows 11, windows 8.1. Выбор, однако!Если говорим о скачивании с торрентов, во-первых, выбор ещё шире, от Window 7 как минимум, да и версий windows 10 существенно больше одной, и во-вторых, до торрентов ещё нужно суметь добраться и суметь оттуда скачать.

Давайте тогда уж по честному рассматривать полное разнообразие всех версий линукса. Со всеми архитектурами заодно. Правда тогда счёт будет сильно не в пользу линукса.

Вы удивитесь - браузер в свежеустановленной Windows запустится только после того, как вы ответите там на несколько заковыристых вопросов.

Каких?

Это для вас "ПО медленное", а для индустрии — населению под те же самые задачи каждые два года новые железки продают. Понимать надо.

У меня подобные проблемы с MS Word, причём разных версий, от 2010 до 2019. Открываю документ, начинаю с ним работать. Постепенно начинает тормозить и спустя полчаса каждое нажатие символа или клавиши курсора занимает у него от 0,5 до 3 секунд. Нажал кнопку и ждёшь, пока он этот символ вставит в текст и выведет его на экран. Перезапуск всей программы "с нуля" восстанавливает скорость, но опять ненадолго. Словно сохраняет все-все мои действия. И это на ноуте 8750H с 64 ГБ памяти и SSD на борту. Как лечить непонятно. Остальные программы, в том числе и LibreOffice, таких проблем не имеют.

проверка на другом компе, чистая установка с нуля. Лечение проблем известное
Может майнер, может диск концы отдает.

На трёх разных машинах (один стационарный и 2 ноута) и на разных дистрибутивах Office повторилось. Лишь 2 момента одинаковые: лицензионный Kaspersky и каждый раз новая купленная официально лицензия Office, а установщик скачивал каждый раз с сайта Microsoft. Это всё сбивает с толку.

НЛО прилетело и опубликовало эту надпись здесь

Спасибо, попробую проверить.

Интересный вы баг словили. У меня в организации работают все на 2010 и с файлами по 300-500 страниц, такого не видел. Если найдете в чем была проблема - создайте пост на хабре или мб хотя-б тут отпишитесь пожалуйста.

Решился на эксперименты, начал искать причину тормозов, когда после открытия документов даже простое движение курсора по тексту начинает всё больше и больше тормозить. На ноуте стоит только одна версия MS Word, других не ставил никогда.

В сети на сайте поддержки Microsoft мне на глаза попалось предложение с запуском редактора в безопасном режиме с ключом "/safe", это дало направление для поиска, так как с ним тормоза пропали. В том же сообщении было написано, на что же влияет этот самый ключ. Так я вышел на надстройки.

В надстройках нашлись как объекты COM, так и "действия". Начала постепенно каждую строку отключать. Оказалось, что причиной тормозов оказалась COM-надстройка от Flir Report Studio - приложения, с помощью которого создаются отчёты по результатам обследования с помощью тепловизоров Flir.

Да, у меня стоит и Abbyy FineReader, но его надстройка не мешает работе Word. Во всяком случае, там том коротком промежутке времени, что я отводил для стресс-теста. Пока отключил только Flir Report Studio, буду следить дальше.

Т.е. проблема в кривом аддоне

Ну, во-первых он и сохраняет все ваши действия с определенной частотой - фоновое сохранение.

Если на одной ОС установлены разные версии ворда, то в шаблонах, скорее всего, сплошная каша и это замедляет работу каждой из версий в опреденной степени, особенно самой старой. Итого, удаляем все версии, лезем в реестр ищем остатки, лезем в скрытые папки пользователей и тоже ищем остатки. После этого ставим одну версию на одну ОС.

Если на одной ОС стоит одновременно ворд и, например, Абби лингво, файнридер, промт (и это только самые массовые доп проги), то черти что творится и в шаблонах, и в надстройках. Например, одну и ту же функцию проферки орфографии одновременно пытаются делать и ворд, и Абби, и промт, и даже Вин 11 (вроде есть у нее встроенная служба, чи функция). Лезем в настройки ворда, в пункт надстройки и отключаем там все, что нам не нужно, и в винде тоже.

Плюс, есть нюансы по типу, если документ создавался на ворде 2019, в нем есть сжатые(по меркам 2019-й версии картинки), то открыв такой документ в ворде 2010, получим, скорее всего, торможение при приближении к этим картинкам. Старая версия в плане картинок, формул и еще хрен знает чего работает совершенно по иному. В смысле ей на то время(а это, ребзя, 12 годиков тому) попросту не требовались такие возможности.

Ну, это как предположения. Основанные на личном опыте и опыте разной степени знакомых.

Давно этому не удивляюсь... Как-то имел удовольствие общаться с людьми работавшими в MS в разное время на разных позициях на разных проектах, в том числе и на винде, в том числе и в разработке. Увы, но многогранное и емкое слово "бардак" практически полностью передает состояние разработки в данной корпорации. Казалось, что такая крупная контора, с такими ресурсами, настолько притягательная для карьеры... Вот где-где, а у там-то все должно быть по уму, но.... нет.

Оставлю это здесь, весь ответ на статью в одной картинке.

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

Между «Как было реализовано прораммистами» и «Как было внедрено» не хватает «Как было протестировано» )

Не хватает потому что не тестировали :^)

Почему у RuntimeBroker сканирование занимает в 5-10 раз больше времени? В этой папке у меня всего около 44 тысяч документов, что за фильтрация используется, которая добавляет на каждый файл лишние полмиллиона тактов?

Вот поэтому я сразу сортирую файлы по подкаталогам и для каждой программы по возможности назначаю свою папку. Чтобы не было этой помойки из 44000 файлов в папке Мои документы, да ещё с именами типа 45a3d23ec4b299ad.pdf

я сразу сортирую файлы по подкаталогам и для каждой программы по возможности назначаю свою папку

Делаете работу, с которой лучше справился бы компьютер ;) Увы же, если продолжать ездить на древних абстракциях, в которых данные это файлы, а файлы хранятся в файловой системе с каталогами, так и будет. К революции типа использования дополнительных атрибутов или базы данных вместо файловой системы мы (и 100500 уже существующих программ) не готовы.

Делаете работу, с которой лучше справился бы компьютер

Покажете программу или компьютер, который за вас и правильно расставляет эти самые дополнительные атрибуты и ведет базу данных — вообще никогда не требуя вмешательства и реорганизации?


базы данных вместо файловой системы

Ваши представления о файловых системах застыли на уровне FAT, похоже.
С тех пор прошло уже 40 лет, обновите их.


100500 уже существующих программ не готовы.

Программе вообще все равно, что закодировано в строке-идентификаторе ресурса, если это поддерживает сискол.

Кодировать-то вручную будете? Проблема тут не столько в сисколах, сколько в диалогах выбора файла

А теперь представьте, что путь — это набор тегов. Разделитель — /.
В чем остается проблема с диалогом выбора?
Не говоря уже о том, что диалог выбора ну никак не тянет на 100500 уже существующих программ.


Любая сложная ФС — это уже база данных, все что нужно — это ручками расставить симлинки; и будет один-в-один то, о чем проповедуют. По поведению, не по реализации.
Проблема в том, что эту дополнительную информацию апологеты предоставлять не хотят, они вообще игнорируют эту необходимость и хотят: ВЖУХ! — и магия.
А с магией в реальности проблемки: не работает она.

А теперь представьте, что путь — это набор тегов. Разделитель — /.

В чем остается проблема с диалогом выбора?

/горы/автомобили/

/море/корабли/

Куда положить фото, на котором паром перевозит автомобиль, и половину фотки занимает гора? ;) Можно накидать симлинков, конечно же. Это удобно (нет). Можно наделать хардлинков - современные файловые системы это умеют. Какой из фоторедакторов умеет в хардлинки?

Чтоб два раза не вставать, каджит ответ по обоим подветкам в этом комментарием.


Нейросети, говорят, умеют отличать котиков от автобусов

Но требуют или суперкомпьютер, или, при тех же вводных, не умеют отличать ни собак от автобусов, ни котиков от собак.
Мимо.


google находит картинку по текстовому описанию

А это вариант с суперкомпьютером. Для локального использования — снова мимо.
Хотя некоторое количество информации можно извлечь из метаданных. Конечно, если у вас не истероидная безопачназть и вы не отключаете GPS и не дропаете метаданные.


Для пользователя файловая система — это окошко File Open/File Save и немного Explorer.exe

Каджит — кедераст, для него интерфейс к файловой системе — xdg-portal-kde.
Открытие документа выглядит как: выбираем базовый тег (на панели сбоку — видео, картинки, музыка, документы, etc…) ⇒ рекурсивно выбираем из уточняющегося по мере погружения набора дополнительных тегов, до тех пор, пока желаемый документ не окажется в пределах видимости ⇒ открываем документ.
В виндах базовые теги называются Библиотеки.
Это то, о чем говорят большевики?


Можно накидать симлинков, конечно же. Это удобно (нет)

Теги у вас магически сами из воздуха появляются? На этом спотыкаются все фанатики тегов, им не хватает просто какой-то зауряднейшей магии, чтобы жить вечно проставить теги.
Если нет, то накидывать теги придется точно также, как линки — ручками. Осталось за малым, накидать на пайтоне удобный интерфейс для линков. Какие именно *-линки — это детали реализации, у них у всех свои трейдоффы.


Какой из фоторедакторов умеет в хардлинки?

В том и суть хардлинка, что программа работает с ним как с обычным файлом, ей не нужно знать что это хардлинк.
Ну а если ваша программа удаляет/переименовывает документ при сохранении, то это порушит как линки, так и теги, ВНЕЗАПНО. Но с этим тоже можно бороться, в виндах для этого есть минифильтры.


Итого:
Декларируется: по датацентру в каждый ноутбук, а ватты для работы и специалисты для обслуживания пусть гномики достают.
Надо: написать один минифильтр и одну гуёвую приблуду.


Причем эта говорильня длиться только на памяти каджита лет 15, хотели бы пользоваться — за столько лет давно сделали бы, а не трындели бесплодно.

по датацентру в каждый ноутбук

В ноутбуке уже датаценр 30-летней давности.

Тогда что вам мешает показать действующий прототип?

Покажете программу или компьютер, который за вас и правильно расставляет эти самые дополнительные атрибуты и ведет базу данных

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

Ваши представления о файловых системах застыли на уровне FAT, похоже.

Для пользователя файловая система - это окошко File Open/File Save и немного Explorer.exe. За последние 40 лет разница только косметическая - стиль иконок меняется, а концептуально - те же папки и файлы.

Для пользователя последнее время: запустить "галерею", выбрать папку среди "все картинки, загружено, камера, вотсап, скриншоты, прочее". Или "открыть офис" и выбрать среди последнее/ загружено/пдф/документы/таблицы/итд. Если объекты более менее тегированы, как книги или музыка, то можно вообще делать "папки" по авторам, по жанрам, по названиям, по сериям/альбомам, и т.д. И совершенно безразлично, как там оно физически разложено по папочкам и где эти папочки лежат, и лежат ли вообще физически на устройстве или где-то в облаке обитают.

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

Найти картинку, которую видел в прошлом году, в такой помойке практически невозможно.

Или "открыть офис" и выбрать среди последнее/ загружено/пдф/документы/таблицы/итд

Это работает, пока у вас в коллекции 20 документов ;) Найти в этой помойке даташит, скачанный в прошлом году.. Проще скачать ещё раз.

Если объекты более менее тегированы, как книги или музыка, то можно
вообще делать "папки" по авторам, по жанрам, по названиям, по
сериям/альбомам, и т.д

Это если кто-то не ленится и проставляет теги, причем правильно.

О, вы начали понимать, что между помойкой в папке "Разобрать" и помойкой в теге "разобрать" нет никакой принципиальной разницы )

Немного есть ;) Проставить 50 тегов легче чем разбросать по файловой системе 50 линков. Но в любом случае это мартышкин труд ручная работа.

Так в том-то и фикус, что сперва надо их поставить — а лень-матушка поперед родилась. Поэтому нет никакой разницы, где разводить бардак, если убираться изначально не планировалось никогда.

Потому что создание уникальной новой картинки в картинкопомойке на устройстве для большинства пользователей нажатие двух клавиш. Здесь даже добавление одного маленького нажатия - существенное осложнение процесса. А вот если кнопочек уже нажимается много (даже относительно, например пост в <запрещенная в россии соцсеть>), то теги ставить не так сложно, многие их прописывают. Да, там все равно помойка, но скорее из-за самого содержания, и ее можно фильтровать. Но самая большая проблема в том, что нет никакой физической связи между картинкой и ее тегами, это связь существует только в рамках приложения, и за пределы этого приложения не выходит. Скачивая картинку из <запрещенная соцсеть> теги к ней никогда не идут в комплекте, хотя кто-то уже потрудился и проставил их.

PS. про exif знаю. Но он захвачен профессиональными техническими сведениями, теги типа "кот" и "лампа" туда не пишут. А зачем вообще сортировать картинки по режиму ISO и балансу белого?

то теги ставить не так сложно, многие их прописывают

Конечно. Но это вопрос представления, а не реализации — дело лишь за удобным инструментом. И что-то подсказывает каджиту, что дергающую fsutil прилогу на PyQt набросать можно было бы за вечер.


Но самая большая проблема в том, что нет никакой физической связи между картинкой и ее тегами

Более того, на фурьке и глутамате одна и та же картинка может быть протегирована по-разному, а в одной запрещенной соцсети — вообще удалена.
У кого-то absurdres отдельным тегом, у кого-то в resolution, у иных это вообще medium::smth


А зачем вообще сортировать картинки по режиму ISO и балансу белого?

Дата и время съемки — актуально, если с камеры загружаются равки для постобработки
GPS и геомагнитный датчик — для привязки к карте


теги типа "кот" и "лампа" туда не пишут

Ну, ковыряться в свалке из сотни тысяч фото под тегом "кот" — было не идеей каджита, отнюдь )

Найти картинку, которую видел в прошлом году, в такой помойке практически невозможно.

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

такой полезной нежити нет

А жаль. Хотя, если что-то возможное не существует - значит, на самом деле оно не нужно. Нет необходимости быстро искать документ по нечёткому описанию.

Были локальные поисковики, но чего-то не стали популярными. И на самом деле такая штука нужна, которая бы сама теги расставляла но... пока это связано с огромными ресурсами, поэтому всё что сейчас работает - исключительно через интернет, задействуя целые датацентры. и несмотря на прогресс, локальные устройства для этого недостаточно мощны, и все файлы через сеть нерационально пропускать. Обычный, классический поиск работает как молоток, и будет актуален ещё очень долго. а нейросети... им нужны учебные выборки, и где-то хранить базы накопленных "знаний". Думается, это не одна сотня гигабайт.

Но яблоко же не стесняется анализировать все фотографии в датацентрах на наличие "запрещенки"? И в соцсетях при медленном интернете бывает <здесь будет картинка с котиком>, при этом явно оно само определило, что там кот, так как в тегах там всякие "люблюпусечку".

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

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

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

НЛО прилетело и опубликовало эту надпись здесь

Универсальность и ускорение процесса программирования за счёт использования библиотек требует жертв. Когда то Спектрум обходился 16 К ОЗУ в которой ещё и графика умещалась!

все же то была графика уровня спектрума, сейчас это будет только для "теплой ламповости"

Команда dir /s может отсканировать мою папку с документами менее чем за две секунды. Почему у RuntimeBroker сканирование занимает в 5-10 раз больше времени?
Из личного опыта: потому что dir выполнен на компилируемом языке, а RuntimeBroker — на интерпретируемом.
Не уйду с CPP-приложений до тех пор, пока их не перестанут выпускать.

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

Похоже, в переписанной версии этого бага нет
Интересно узнать, остался ли Runtime Broker в переписанном приложении Sound Recorder?
У кого Windows 11 посмотрите, пожалуйста.

я опасаюсь за мир ПО, в котором приложения не исправляются, а переписываются.
Я больше опасаюсь за мир ПО, в котором наивысшим приоритетом при разработке приложений является только одно правило — fast time to market.

потому что dir выполнен на компилируемом языке, а RuntimeBroker — на интерпретируемом.

Потому что dir - обертка вокруг нескольких системных функций, а RuntimeBroker - НЕХ выполненная в виде отдельного процесса. Там может что угодно случиться, начиная с лагов межпоточной синхронизации.

Лаги синхронизации — это да.
Но и то, что системные функции написаны на компилируемом языке, тоже не стоит сбрасывать со счетов )
а RuntimeBroker — на интерпретируемом

Это на каком именно?

Согласен с последнем утверждением, и это безусловно играет на "утяжеление" реализации программного кода. А кроме того, кто будет покупать новое железо если старое не будет тормозить на новом ПО.

Любил Винду за то, что можно всё настроить, выключить. Софта валом. Но теперь же эти автообновления…

А вот по теме: msvc компилирую и запускаю проект на старом компе - 10 минут. На новом i9 - 30 секунд. Из которых 10 на запуск. Разыскал - антивирус. Каждый новый билд сканирует. В исключения добавил, выключил вообще все проверки. Всё равно 5 сек по менеджеру задач съедает антивирус. Правил реестр. Всё равно никак. Мне работать нужно. Дайте инструмент.

Прям презумпция виновности программиста какая-то. Мол, а не вредонос ли создаётся.

А попробуйте стать на место антивируса: непонятное приложение создаёт исполняемые файлы. Что же это, если не вирусная активность? Надо проверить... а тут ещё глупый пользователь отключает всё, и не видит что вот же он - настоящий троян который плодит себе подобных! А ну ка проверим! Хм, вроде нет сигнатуры в базах, отправим на анализ... ага попался! Сигнатура совпала! Случайность? нет не думааю...

winaero tweaker, там какой-то мегахак с наколом на то, что у тебя есть другой антивирус.

В любом случае, попробуйте еще gpedit.msc потрогать

Настало время активизма! Нужна какая-нибудь организация "Greenbyte" которая будет DDoSить компании с требованием снизить количество потребляемых их софтом количества RAM, циклов CPU и I/O операций. Меньше электричества, меньше выбросов, больше зелёных лужаек и счастливых потомков. Сплошной профит!

Публикации

Истории