Люди приводили в пример скорость развития компов. Комп начала 2000-х под управлением Windows Me (требовала 32 МБ и 200 МБ (не ГБ а МБ) диска) — и комп 2010 года под управлением Windows 7 (минимум 2 Гб ОЗУ и 20 Гб диска) — небо и земля. Разница по памяти — в 60 раз. По диску — в 100 раз.
А вот разница между компом 2014 и 2024 — уже почти нет ее. Ну может в 2 раза только — раньше ставили от 4 Гб ОЗУ, теперь от 8 Гб на минималке. Т.е. уже даже не в 5 раз. Ну разве что SSD подешевели.
А что телефоны? В 2014 достаточно было 2 Гб ОЗУ и 32 Гб диска — сейчас нужно минимум 6 Гб ОЗУ и 128 Гб диска. Ну в 4 раза примерно, уже не так стремительно. Некоторые считают, что сейчас можно брать телефон на 10 лет, что в 2034 особо ничего не изменится, т.к. все уже есть и особо развивать некуда.
А что сильно отличается? Вот видеокарты смотрю — там, похоже, движуха только начинается.
Здравствуйте, Shmj, Вы писали: S>Вопрос такой. S>Люди приводили в пример скорость развития компов. Комп начала 2000-х под управлением Windows Me (требовала 32 МБ и 200 МБ (не ГБ а МБ) диска) — и комп 2010 года под управлением Windows 7 (минимум 2 Гб ОЗУ и 20 Гб диска) — небо и земля. Разница по памяти — в 20 раз. По диску — в 100 раз.
1. Продолжает расти объем ОП, как на компьютерах, так и на девайсах.
2. Продолжается рост объема SSD и флеш-карт.
3. Продолжается, хотя и медленнее, рост объема HDD
4. Продолжается увеличение количества ядер процессора
5. Продолжается рост скорости и объема памяти видеокарт.
6. Почти не растет скорость процессора
7. Практически не растет скорость HDD
With best regards
Pavel Dvorkin
Re[2]: Что наиболее быстро развивается? Замедлились ли телефоны?
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, Shmj, Вы писали:
PD>1. Продолжает расти объем ОП, как на компьютерах, так и на девайсах. PD>7. Практически не растет скорость HDD
Вопрос в другом!
Продолжает расти объем ОП
Зачем? Вот скажите мне, зачем современным приложениям, столько памяти?
Особенно на телефонках. Где по сути вся реальная работа, вся реальная нагрузка идет на какой-либо удаленный сервер, который и делает всю полезную работу!
Зачем интерфейсным по сути приложениям вот столько нужно памяти?
Примеров тому масса.
Здравствуйте, Carc, Вы писали:
C>Зачем? Вот скажите мне, зачем современным приложениям, столько памяти?
Просто разучились писать приложения компактно.
Вот простой примерю
С ICQ я впервые познакомился на машине, на которой была Windows NT 4 (или 9x, точно уже не помню) с 8 или 16 Мбайт памяти. Сколько именно она занимала — не знаю, но думаю, сотни Кбайт, иначе я бы ее выкинул просто.
Сейчас на моей машине
Телеграм —
Активный частный набор (то есть то, что в ОП, не в свопе) 70 Мбайт
Выделенная память — 436 Мбайт
WhatsApp
Активный частный набор 90 Мбайт
Выделенная память — 152 Мбайт
А между тем и с тем ,и с другим я в основном работаю так же, как с ICQ тогда, то есть обмениваюсь короткими сообщениями
У них есть много чего другого по сравнения с ICQ 25 летней давности ? Не спорю. Но пусть все это другое сидит на диске, пока не потребуется.
Notepad (пустой) занял примерно 2 Мбайта. На моей машине того времени он бы четверть памяти занял!
C>Особенно на телефонках. Где по сути вся реальная работа, вся реальная нагрузка идет на какой-либо удаленный сервер, который и делает всю полезную работу! C>Зачем интерфейсным по сути приложениям вот столько нужно памяти?
А черт его знает. Но на моем прежнем смартфоне было 4 Гб, а новый купил (года 2 назад) уже с 6. А сейчас и 6 — так себе.
C>память всегда была и остается до сих пор наиболее критическим ресурсом компьютеров
Законы машинного программирования
...
4. Любая программа стремится занять всю доступную память.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>С ICQ я впервые познакомился на машине, на которой была Windows NT 4 (или 9x, точно уже не помню) с 8 или 16 Мбайт памяти. Сколько именно она занимала — не знаю, но думаю, сотни Кбайт, иначе я бы ее выкинул просто.
Только её кучу раз переделывали. Лет 15 назад официальный клиент ICQ был очень прожорливый и 20 МБ точно потреблял.
Потому народ массово сидел на сторонней поделке в виде qip, который был компактнее.
PD>А между тем и с тем ,и с другим я в основном работаю так же, как с ICQ тогда, то есть обмениваюсь короткими сообщениями
ICQ и сейчас существует.
У меня вот сейчас для официального клиента показатели:
Активный частный набор 26 МБ
Выделенная память — 140 МБ
После небольшой переписки активный частный набор стал 44 МБ.
PD>Notepad (пустой) занял примерно 2 Мбайта. На моей машине того времени он бы четверть памяти занял!
Так и битность системы наверно 64, а не 32 и строки наверно в Unicode хранятся.
Не думаю, что блокнот как-то переписывали кривыми руками, чтобы больше ресурсов потреблял.
Просто пересобирают под актуальные системы и вот результат.
PD>А черт его знает. Но на моем прежнем смартфоне было 4 Гб, а новый купил (года 2 назад) уже с 6. А сейчас и 6 — так себе.
У меня на 4 Гб прекрасно все мессенджеры работают и сайты открываются, никаких тормозов и проблем.
Re[4]: Что наиболее быстро развивается? Замедлились ли телефоны?
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, Carc, Вы писали:
C>>Зачем? Вот скажите мне, зачем современным приложениям, столько памяти?
PD>Просто разучились писать приложения компактно.
Может просто и не умели!?!
Как можно разучиться тому, чего и вовсе не умели, да и попросту не знали и слыхом не ведали?
C>>память всегда была и остается до сих пор наиболее критическим ресурсом компьютеров
PD>Законы машинного программирования PD>... PD>4. Любая программа стремится занять всю доступную память. PD>https://psj.nsu.ru/razn/humour/two.html
Слово пропущено...
"Любая рукожопая программа стремится занять всю...".
Здравствуйте, Carc, Вы писали:
C>Вопрос в другом! C>
C>Продолжает расти объем ОП
C>Зачем? Вот скажите мне, зачем современным приложениям, столько памяти? C>Особенно на телефонках. Где по сути вся реальная работа, вся реальная нагрузка идет на какой-либо удаленный сервер, который и делает всю полезную работу! C>Зачем интерфейсным по сути приложениям вот столько нужно памяти? C>Примеров тому масса.
Безразлично, сколько памяти занимает приложение. Важно то, что даже занимая столько памяти, оно всё равно тормозит. И чем дальше "прогресс" тем это заметнее.
Уже практически норма, когда реакция приложения на ввод одной буквы с клавиатуры больше 300мс.
такого себе не позволяли даже XT c 256кб..
Все проблемы от жадности и глупости
Re: Что наиболее быстро развивается? Замедлились ли телефоны?
Здравствуйте, Shmj, Вы писали:
S>Ну может в 2 раза только — раньше ставили от 4 Гб ОЗУ, теперь от 8 Гб на минималке. Т.е. уже даже не в 5 раз.
Ты в курсе, что у памяти есть ещё скорость, а не только объём?
S>Ну разве что SSD подешевели.
Ну, ещё в массы ушли SSD под m.2, которые в разы быстрее, чем SATA SSD.
S>А что телефоны? В 2014 достаточно было 2 Гб ОЗУ и 32 Гб диска — сейчас нужно минимум 6 Гб ОЗУ и 128 Гб диска.
Кому нужно? Я спокойно 4 года сижу с 4 Гб и 128 Гб (под музыку столько нужно, а так бы и 32 Гб хватило) и менять буду когда уже физически развалится либо аккумулятор в ноль деградирует.
S>А что сильно отличается? Вот видеокарты смотрю — там, похоже, движуха только начинается.
Какая движуха? Люди вполне себе на 10-летних картах играют. Китайцы заполонили рынок рефабами и старьё в новой обёртке продают за относительно недорого.
Re[5]: Что наиболее быстро развивается? Замедлились ли телефоны?
Здравствуйте, karbofos42, Вы писали:
K>Только её кучу раз переделывали. Лет 15 назад официальный клиент ICQ был очень прожорливый и 20 МБ точно потреблял.
Ну а когда я с ней работал, у меня всего 8 или 16 было. И едва ли я позволил бы ей хотя бы 3 занять — мне работать надо.
K>Потому народ массово сидел на сторонней поделке в виде qip, который был компактнее.
Не имел с ним дела. Мне и ICQ хватало тогда.
PD>>А между тем и с тем ,и с другим я в основном работаю так же, как с ICQ тогда, то есть обмениваюсь короткими сообщениями
K>ICQ и сейчас существует.
Я знаю.
K>Активный частный набор 26 МБ K>Выделенная память — 140 МБ K>После небольшой переписки активный частный набор стал 44 МБ.
Итого в результате обмена нескольких Кбайт (небольшая переписка) добавилось 18 Мбайт.
Что и требовалось доказать.
PD>>Notepad (пустой) занял примерно 2 Мбайта. На моей машине того времени он бы четверть памяти занял!
K>Так и битность системы наверно 64, а не 32 и строки наверно в Unicode хранятся.
Ну и что ? Пусть Unicode, значит, в 2 раза больше. Всего в 2
K>Не думаю, что блокнот как-то переписывали кривыми руками, чтобы больше ресурсов потреблял.
Ничего там не переписывали. Notepad — это просто multiline edit с привешенным меню.
K>Просто пересобирают под актуальные системы и вот результат.
Именно. И этот multiline edit потребляет во много раз больше памяти
PD>>А черт его знает. Но на моем прежнем смартфоне было 4 Гб, а новый купил (года 2 назад) уже с 6. А сейчас и 6 — так себе.
K>У меня на 4 Гб прекрасно все мессенджеры работают и сайты открываются, никаких тормозов и проблем.
Да и у меня на 4 на старом смартфоне все было хорошо. купил новый из-за экрана, ну а уж раз покупать — взял на 6, кто его знает, сколько памяти будут новые версии жрать.
With best regards
Pavel Dvorkin
Re[5]: Что наиболее быстро развивается? Замедлились ли телефоны?
Здравствуйте, Stanislaw K, Вы писали:
SK>Уже практически норма, когда реакция приложения на ввод одной буквы с клавиатуры больше 300мс.
Когда для обработки нажатия клавиши надо привлечь 3 фабрики, 2 фасада и 4 адаптера и гонять между ними данные, то ничего удивительного.
SK>такого себе не позволяли даже XT c 256кб..
А тогда их не было, или, по крайней мере, о них особо не знали.
With best regards
Pavel Dvorkin
Re[4]: Что наиболее быстро развивается? Замедлились ли телефоны?
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Активный частный набор (то есть то, что в ОП, не в свопе) 70 Мбайт
15 лет не пользовался Windows, но если не ошибаюсь Active Working Set отличается от Working Set не только тем что последний выгружается на диск.
Скорее всего,
Active Working Set — это RSS, resident set size, the non-swapped physical memory that a task has used.
Working Set — это VSZ, virtual memory size of the process.
Память пользовательских процессов включает в себя:
code/stack/data
heap
file mappings
shared memory
в Linux еще vDSO/vsyscall/vvar
Эти страницы могут находиться в RAM или предоставляться ОС при обращении процесса: всевозможная виртуальная память, copy-on-write в том числе для shared-pages и zero-page(если память выделена через zmalloc); userfaultfd; при обращении к файлам драйверов; на диске в свопе/file-mappings.
Например, для Telegram: VSZ 190Gb, RSS 526Mb, всего 2459 участков.
ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
...
roman 3350437 1.2 1.6 190023936 526996 ? SLl Feb20 43:47 /snap/telegram-desktop/5581/usr/bin/telegram-desktop --
wc -l /proc/3350437/maps
2459 /proc/3350437/maps
Если сравнить, процесс виртуальной машины qemu/kvm(в idle-состоянии centos8 16gb): VSZ 18Gb, RSS 2.5Gb, всего 835 участков.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, Carc, Вы писали:
PD>>>Просто разучились писать приложения компактно. C>>Может просто и не умели!?!
PD>Умели. Когда на машине 8 Мбайт, неумевшие уложиться в несколько сот Кбайт просто исчезали из отрасли.
Я не к тому мысль вёл. То, что раньше умели , я и не сомневался никогда.
Да только те, что умели, явно не создают современные приложения.
Новомодные "хипстеры" из подходов к разработке по моему знают только "хлоп, шлёп, хренакс и в продакшн".
Какое уж тут профилирование, требования к ресурсам, да и заканчивая обычной UX, Use-case аналитикой, code-review, да usability в придачу.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, Carc, Вы писали:
PD>>>Просто разучились писать приложения компактно. C>>Может просто и не умели!?!
PD>Умели. Когда на машине 8 Мбайт, неумевшие уложиться в несколько сот Кбайт просто исчезали из отрасли.
Я в курсе, и более чем в курсе.
а) самому доводилось... 95-ая винда, 16 метров, 300 МБ HDD, а надо чтобы "работало и всё тут". Что ж вы хотели, это ж бубльгум минздрав 99-го года...
б) учился у людей которые еще БЭСМ-6 и PDP портировали, да до ума доводили Unix System V.
Как-то уже приводил здесь ссылку: "История одного байта"
Еще раз оговорюсь: мопед не мой!.
И еще раз, по слогам: "не ма-ё! Афф-тар ни-я!!!" (а то тут в привате как-то намекали уже).
Был найдено на просторах этих ихних интернетов, в далеких началах еще аж нулевых... Ни то в 2002-ом, ни то в 2003-ем..
Оригинал потом потерялся, хорошо что в архивах, в оффлайне остался. Вот и выложил себе на память, да потомкам на заметку
Здравствуйте, lpd, Вы писали:
lpd>Active Working Set — это RSS, resident set size, the non-swapped physical memory that a task has used.
Это количество ОП, которые процесс реально сейчас занимает. Сейчас эти страницы в ОП. В дальнейшем возможно, что окажутся в свопе.
lpd>Working Set — это VSZ, virtual memory size of the process.
Нет. Последнее в терминах Task Manager и есть VM Size или Выделенная память
Я привел значения обоих
Телеграм —
Активный частный набор (то есть то, что в ОП, не в свопе) 70 Мбайт
Выделенная память — 436 Мбайт
Это значит, что он выделил 436 Мб с помощью VirtualAllov. Из них 70 Мб сейчас в ОП, а остальное на диске в свопе или mmf
Здравствуйте, Carc, Вы писали:
PD>>Умели. Когда на машине 8 Мбайт, неумевшие уложиться в несколько сот Кбайт просто исчезали из отрасли. C>Я в курсе, и более чем в курсе.
C>а) самому доводилось... 95-ая винда, 16 метров, 300 МБ HDD, а надо чтобы "работало и всё тут". Что ж вы хотели, это ж бубльгум минздрав 99-го года... C>б) учился у людей которые еще БЭСМ-6 и PDP портировали, да до ума доводили Unix System V.
Мне довелось участвовать в одном проекте, где мне прощалось все. Нарушение всех принципов ООП (их, впрочем, нарушить было несложно, так как писалось на С). Непонятные структуры данных. Копипастинг вместо рефакторинга. И т.д.
В общем все. Код был ужасный, но мне никто и слова не сказал.
Не прощалось лишь одно — недостаточно высокое быстродействие. Ради этого я и возился 3 года.
With best regards
Pavel Dvorkin
Re[5]: Что наиболее быстро развивается? Замедлились ли телефоны?
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Когда для обработки нажатия клавиши надо привлечь 3 фабрики, 2 фасада и 4 адаптера и гонять между ними данные, то ничего удивительного.
Добавление фич всегда приводит к росту сложности архитектуры и соотв. потреблаемых ресурсов.
В данном случае целое — не есть сумма компонентов, а нечто большее.
Re[6]: Что наиболее быстро развивается? Замедлились ли телефоны?
Здравствуйте, student__, Вы писали:
__>Добавление фич всегда приводит к росту сложности архитектуры и соотв. потреблаемых ресурсов.
Хорошая архитектура тем и отличается от плохой, что добавление фич ее не портит. При слабосвязанной архитектуре это возможно, если изначально заложены хорошие идеи.
Потребление ресурсов при этом растет, конечно, но пропорционально (примерно) количеству фич, а не то, что мы видим.
With best regards
Pavel Dvorkin
Re[6]: Что наиболее быстро развивается? Замедлились ли телефоны?
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Не имел с ним дела. Мне и ICQ хватало тогда.
Ну, у меня был комп с 256 МБ оперативы. Официальный клиент в жрал что-то около 20 МБ. QIP раза в 4 меньше, ещё и субъективно удобнее был.
PD>Итого в результате обмена нескольких Кбайт (небольшая переписка) добавилось 18 Мбайт.
Кроме переписки там и история сообщений подгрузилась с картинками, превьюшками ссылок и т.п.
PD>Что и требовалось доказать.
Ну, да. Наглядная иллюстрация подхода "Но пусть все это другое сидит на диске, пока не потребуется.".
PD>Ничего там не переписывали. Notepad — это просто multiline edit с привешенным меню.
Если не переписывали, а стало жрать больше памяти, значит дело не в том, что разучились писать.
Компиляторы может память не жалеют, в ОС поменяли планировщик памяти или ещё что привело к повышенному потреблению.
Итого имеем стандартный Notepad, который написан под WinAPI и использует стандартные библиотеки и контролы, но у него за годы выросло потребление памяти в разы.
А те же мессенджеры используют Qt или ещё что-то для кроссплатформенности, т.к. нужно и винду и линукс и в веб ещё засунуть.
В той же ICQ не было никакого оформления сообщений (смайлики просто через замену символов работали). Сейчас и картинки можно со стикерами и markdown.
Мало кому заплатят денег под нативную реализацию для всех платформ. Обычно берётся что-то универсальное с кучей лишнего.
Думаю, что основное там — это библиотеки для GUI и т.п. Иначе не знаю чего там в ICQ напихали, что exe занимает больше 100 МБ. Хотя Qt отдельно 26 МБ лежит.
20 лет назад кроссплатформа не так важна была и людям платили за разработку на WTL, MFC или голом WinAPI.
Сейчас на меня как на идиота посмотрят, если что-то из этого предложу.
А если я те же самые окошки создам в Qt и подключу эту библиотеку, то и памяти куда больше улетит автоматически. Кривизна моих рук уже малую роль тут сыграет.
Нужно, чтобы железо было дорогим, а программисты дешёвыми, тогда опять перестанут использовать универсальное и прожорливое и начнут дёргать нативное.
Можно ещё игрушки вспомнить. Раньше рисовали текстурку со шрифтом и вот набор символов одинаковой ширины, мало памяти занимает, быстро и оптимально (ещё забавная локализация с потерей знаков препинания и т.п.)
Сейчас такой оптимизацией никто заниматься не будет не потому что не умеют и не знают, а потому что результат плохой будет и современное железо позволяет о таком не задумываться.