LINUX.ORG.RU

Прога занимает ОЗУ в несколько раз больше, чем занимает диска

 ,


0

1

Скажу сразу, что гуглить пытался - ничего не нашёл, а что нашёл, то ссылалось на фоновую малварь. Есть «Удалятор мусора», написанный на Go. Исходник занимает 3.4 килобайта, а собранный линуксовый бинарник с отключённой отладкой и дебагом - примерно 1.7 мегабайт. Запуская удалятор, он сразу же забирает 5-6 мегабайт оперативы, а при запуске поиска файлов потребление скачком растёт с 11 до 16 мегабайт. С чем связано такое лютое потребление? Скачок при поиске может быть вызван подгрузкой библиотеки?


Ответ на: комментарий от MagicMirror

Если каждая из 10000 базовых утилит будет жрать 16М вместо ~1M то тебе уже сейчас надо бежать и покупать вместо 67Гб оперативки сразу 256.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от tiinn

Нормально. Текстовый редактор на шарпе. Загружая файлик на 100Кб, он в памяти отжирает полтора гига. ГИГА, Карл!

Дык то шарп… Там же тоже рантайм в фоне.

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

Zhbert ★★★★★
()
Ответ на: комментарий от MagicMirror

В этих 3,4Кб кода не может содержаться ни крутых эвристических алгоритмов поиска мусора, ни нейросетевого аналога, ни достаточно большой БД типовых мест с мусором. Единственное чем это может быть - скриптом удаления наиболее распостранённых локаций. А значит всё что больше /bin/sh вызывающего /bin/rm - избыточно. А если оно там начинает матрицы перемножать и jit-машины запускать - это странно.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от kirill_rrr

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

MagicMirror ★★★
()
Последнее исправление: MagicMirror (всего исправлений: 1)
Ответ на: комментарий от kirill_rrr

Ну т.е. очевидно что cool-places должны входить в программу.

Кому должны то? С гитхаба скочаются при сборке и всё.

MagicMirror ★★★
()
Последнее исправление: MagicMirror (всего исправлений: 1)
Ответ на: комментарий от MagicMirror

Достаточно не быть идиотом чтобы понять - твоё гениальное предложение - тупая отмазка в чистом виде. Иначе что помешает мне использовать каждый твой аргумент в доказательстве того, что 512b boot-сектор MBR это и есть вся операционка?

kirill_rrr ★★★★★
()
Ответ на: комментарий от MagicMirror

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

Ты не поверишь - я тоже так умею! У меня уже была виртуалка размером 20Гб с потреблением оперативки в 1,5Гб для запуска кодировщика h264. Ты ведь в курсе сколько весит кодировщик h264 и сколько памяти ему надо для работы? Ну а чо, КПД в 0,001% это норма!

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от MagicMirror

Если ты админ локалхоста то так оно и есть. Другое дело если тыой говнокод будет запускать более 1 человека. Боже упаси если более милиона человек.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от MagicMirror

Возможно поэтому прод демонстрирует поразительную импотенцию в решении задачи прокрутки текстового списка на однотонном фоне.

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

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 2)

при запуске поиска файлов потребление скачком растёт с 11 до 16 мегабайт.

Кэширует найденную и промежуточную информацию, у меня код размером в 300-500 строк и 18гб поджирает, анализируя json

One ★★★★★
()
Ответ на: комментарий от kirill_rrr

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

anonymous
()

Прога занимает ОЗУ в несколько раз больше, чем занимает диска

У хорошего программиста кода мало, но начальство этого ведь не поймёт …

anonymous
()
Ответ на: комментарий от MagicMirror

жалких 0.6% памяти доступной обычному массовому пк

Целых 0.00024 от объёма системной памяти. Ужас.

Anders Hejlsberg:

In these days, memory equals speed: the more memory you use, the slower you go, because the more times you hit the write barrier or the read barrier (and you blow your L cache, your L0 cache) and then you have to go get it from real memory. I often joke that in modern CPUs, each instruction takes zero cycles because of prediction – except when it takes a thousand cycles because you hit the memory wall and have to go fetch. So, if you can condense your data structures, you’re going to go faster.

https://old.reddit.com/r/golang/comments/1j8shzb/microsoft_rewriting_typescript_in_go/mh8khdw/

anonymous
()
Ответ на: комментарий от kirill_rrr

Перечитав небольшой спор под моим топиком, я наткнулся на это сообщение. Как обычно, хорошие мысли приходят на ночь, и теперь я воспринял его как возможность сменить подход. То-есть, через exec() кастовать нативный, легковесный, православный линуксовый rm, нацелив его на current_target по найденному пути через предварительно производящийся поиск этого таргета. И не нужен будет пакет os, а вместе с ним и пару строчек кода. Спасибо, добрый человек🙏

Tyse_EX
() автор топика
Ответ на: комментарий от MagicMirror

Сейчас что интелы, что амд сосредоточили всё развитие своих процессоров на оптимизации межпроцессорных шин, увеличении кешей до размеров где могла бы свободно работать винХР, повышении частоты памяти и оптимизации её таймингов потому что латентность уже важнее скорости!

kirill_rrr ★★★★★
()
Ответ на: комментарий от kirill_rrr

оптимизации межпроцессорных шин

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

увеличении кешей

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

частоты памяти и оптимизации её таймингов потому что латентность уже важнее скорости

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

Короче таблетки принимай, как обычно.

anonymous
()
Ответ на: комментарий от anonymous

для нынешних процессоров нужна память в 2.5+ выше по пропускной способности чем есть, чтобы они не простаивали.

Ну не знаю! Раньше достаточно было иметь 800Мгц одноканальную ddr3 чтобы 2 ядра 3,5Ггц и весьма мощная интеграшка (тянущая первый Кризис) показывали 70% своей максимальной тактовой производительности. При том что ядра - ватные а кеши микроскопические.

Короче таблетки принимай, как обычно.

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

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от anonymous

Очень заметно что ты несёшь чушь. Ещё никогда в истории цпу настолько сильно не упирались в память что неверные таймигни межядерной шины роняли производительность на 20% и интел из за этого ещё не стоял на грани разорения.

kirill_rrr ★★★★★
()
Ответ на: комментарий от kirill_rrr

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

yars068 ★★★★★
()
Ответ на: комментарий от kirill_rrr

что интелы, что амд сосредоточили всё развитие своих процессоров на оптимизации межпроцессорных шин

неверные таймигни межядерной шины роняли производительность на 20% и интел из за этого ещё не стоял на грани разорения

Путаешься в показаниях, маня

anonymous
()
Ответ на: комментарий от anonymous

Да ладно?! А у нас что, многопроцессорные материнки в ходу, или речь может идти исключительно о инфинити-шине от амд и интеловской кольцевой и её неудачного аналога в коре ультра 200?

kirill_rrr ★★★★★
()