Сегодня нужно было изменить кое-что в коде одном и задумался вот о чём. Я вообще ни разу не программист, но вот допусти в картах к игре есть команда "message" после которой которой идёт выскакивающее текстовое сообщение для игрока. Почему бы не сократить команду до msg? Сразу 4 байта из файла можно убрать, если на карте 5 сообщений и в игре 50 карт, то мы получаем мегабайт экономии. А теперь представьте, что такого рода сокращения использовать везде, где можно, плюс удалить все обрывки старого кода, все лишние пробелы заменить на ¶-ебанину, как с абзацами ворда. Можно размер какой-нибудь игрушки сократить на сотни мегабайт и повысить производительность. Я помню по урокам информатики в школе и ВУЗе, что раньше всех дрочили экономить место и за каждый байт боролись. Понимаю, что стандартизация, общие оси для программирования, но это же не оправдание. Почему сейчас всем похуй? Даже если ручками сложно, можно же какую-то нейросеть написать для этой цели. Неужели никто не хочет с нихуя сократить размер своей программы на 20-30%, да ещё и повысить производительность?
>>245247771 (OP) Просто сейчас до кодинга докатились 10 icq долбаебы, которые думать не умеют даже, а из-за того что пока прогресс в плане расширения пространств и производительности движется доольно быстро - всем поебать. Ну и рыночек в последние годы лохов наплодил, которые готовы покупать откровенное говно и просить еще, поэтому все думают о том, как наебать гоев быстрее, чем конкуренты, а не как сделать хороший продукт, чтоб люди сами потянулись.
>>245247771 (OP) Ты в курсе что весь код компилируется, и никаких названий и переменных нет. В браузере код минифицируется и при передаче исопльзуется gzip который сжимает повторяющиеся слова.
>>245247771 (OP) > Оптимизируют то что даёт прироста производительности например 30% после изменения,а не 0.1%. + нужно ж пилить новые фичи,времени нет.
>>245248560 Так разве не быстрее короткое слово идентифицировать и сократить? Явно быстрее, чем каждый раз длинное считывать. Разница будет в 1,5 миллисекунды, но всё таки.
Это результат вхождения в айти овощей после курсов. Уровень железа растет, уровень программистов падает. И на это всем глубоко похуй. Раньше хеловорлд на си весил полкилобайта, сейчас хеловорлд на яве тащит за собой 10 мегабайт мусора. Абстракция на абстракции, обертка на обертке. А результат один и тот же. Пока не упремся в предел производительности железа - так и будет продолжаться.
>>245248673 Тебе же написали что не только в браузере, а вообще когда код компилится, то у переменных нет названий, поэтому от размера названий не зависит размер программы. Неужели ты думаешь, что до таких очевидных вещей никто до тебя не дошел?
>>245248907 Тогда какого хуя в треде уже 3 человека написали, что дело не в этом, а в некомпетентности прогеров? Они тупые и не знают о чём пишут? Или ты тупой? Пока 1 vs 3.
>>245248771 Если происходит чтение с файла то разница будет в микросекундах. Если в коде скомпилированной программы то имена переменных удаляются во время компиляции.
>>245248673 В прогах тупо перестали байтоебить. Сама ява и питон очень способствуют раздуванию кода. Зато то что сейчас пишут за 2 недели на них, на сишке/асме писали бы год. И не факт, что осилили бы. Просто потому что затеряешься в коде. Да, асм очень быстрый. Да, сишка очень удобна. Но когда ты пишешь приложение, важно в первую очередь быстрее его выкатить в продакшен. Иначе за тебя это сделают твои конкуренты.
>>245247771 (OP) Какая вообще разница сколько код занимает, если большая часть игры - это звук в неебически избыточном битрейте, 100500к-текстурки и овердохуяполигональные модели? мимо-не-погромизд
>>245249074 Ебать, какие же дегенераты тут сидят, оп долбаёб нихуя не понимая высрал какую-то хуйню, другие долбаёбы его поддержали, ты сука понимаешь что когда код транслируется в двоичный, то нет там названий, только абстрактные указатели на какие-то ячейки памяти?
>>245249242 Куда он транслируется? Какие ячейки? Что ты несёшь? Куда названия деваются, если это переменные из программного кода. В зависимости от того на чём ты пишешь, там может быть миллион говно кода остаться...
Господа погромисты, расскажите секреты гуманитарию? Я тут вкатился в блохчейн погромирование Шутка, просто ставлю ноды крипто-проектов по гайдам, т.к. за это дают токены и вот что ч нихуя не могу понять - я отправляю допустим node connect.js и терминал выполняет те команды, которые соответственно прописаны в connect.js. Я так понимаю, что непосредственно node.js выступает движком или как это обозвать, то есть именно благодаря тому, что в самом node.js прописано, что, допустим connect - означает подключение к сети, соответственно эта команда подключает к сети. Но как это работает на более хуй знает, "машинном" уровне? Как сам Node.js научили понимать, что коннект - это коннект? А сенд - это отправит и так далее? Он сам работает на каком-то более низкоуровневом языке? Как тогда самый самый низкоуровневый язык научили понимать, что от него хотят?
>>245249222 Речь не только про игры, же. Да и вопрос не в этом. В том, что можно в разных местах сократить и получить на выходе дополнительное свободное место на винте. Даже 50МБ с игры уже дохуя, же.
>>245247771 (OP) Для того чтобы штопать все более дорогие и больше обьема оперативки и видеокарты и процессоры, все ради денег. А по уму ты прав, но если будет офигенная оптимизация никто не будет покупать новые комплектующие ибо и на старом железе пойдет, барыги замедляют прогресс.
>>245249596 >реальный адрес появляется только после того как ОС загрузит программу в память и тут работают в паре загрузчик ОС и компилятор Т.е. избыточный код будет грузиться дольше и занимать больше места на винте. Что сказать хотел?
>>245249570 >Даже 50МБ с игры уже дохуя, же. С какой игры? С поебени с шебм? хули этого пидора не дотравили кстати? Возможно, но с нее столько не наберется. А с игр весящих десятки гигов - вообще поебать
>>245247771 (OP) >Почему сейчас всем похуй? Почти во всех нормальных конторах дрочат на сложность алгоритмов и space complexity. Используют message вместо msg потому что могут. Современный обычный PC это не заметит. Ну а ебаные усложённые сайты со свистоперделками это требование капитализма, где пытаются продать любой ненужный пук под соусом инновации. /thread
>>245247771 (OP) Поддерживать эту ебанину станет дороже, а от сокращения размера программы на 20-30% никаких бизнес-задач не выполнишь, зато человекочасы потратишь.
>>245250065 Ты понимаешь что в 1 мегабайте хранится миллион символов? Даже если скомпилированное приложение сохраняло бы имена переменных то такие сокращения с message на msg ускорило бы запуск приложения только на наносекунды.
Когда ты студен и у тебя мало денег, ты тоже экономишь каждую копейку.
Я например никогда не заказывал доставку, всегда брал самовывоз. Сейчас же мне в лом тащится хуй знает куда. Лучше заплачу немного больше, деньги есть.
Также и в технологий. Нахуй никому не упала твоя экономися на спичках, мощности уже другие.
>>245247771 (OP) Думал что это очередной НЕКОМПЕТЕНТНЫХ ВКАТУНОВ ТРЕД, а оказалось обычный жирный троллинг на ночном. Названия переменных ни на что не влияют, по крайней мере в десктопной разработке, каждый ~~дрочи~~ называет как хочет (как удобно (как принято в команде)).
>>245250267 Аллллллллло ебать, разуй глаза, тебе уже несколько раз сказали, названия в уже готовой программе убираются, остаётся только адрес переменной
>>245247771 (OP) Когда создаëшь хуëво названные(сокращение) переменные , ты уменьшаешь читабельность кода и другим программистам намного тяжелее читать этот говнокод , проëбывая часы работы на мартышкин труд.
>>245247771 (OP) Напомнило как я очень давно ковырял проект на С который был написан еще во времена древних греков лол. Там все так и было как ты говришь включая имена файлов типа scnfle.c в формате 8.3 - господи какой же это был пиздец. Самый важный скилл программера это умение ЧИТАТЬ и разбираться в том что написано и как оно работает. С твоим подходом как ты предлагаешь программистам разбирать код? Представь, что хер который везде все посокращал уволился и пришел новый - сколько времени ему понадобиться чтобы вьехать во всю эту ебанину?
>>245247771 (OP) >Неужели никто не хочет с нихуя сократить размер своей программы на 20-30% Чтобы сократить программу на 20-30%, то нужно, чтобы она состояла на 40-50% из слов, которые можно сократить, а это ебанись, что за ёба-программа должна быть.
Сейчас сжатие автоматизировано. Тот же фотошоп тебе сохранит jpg\png в минимальном размере, посчитав глубину цвета и убрав лишние нули, которые никогда не станут единицами. Да даже в ёбаном пакете, который я отправлю на сервер когда нажму "отправить" будет 3 вида сжатия! Ну ты же у нас самый умный на дваче ууууу...
>>245247771 (OP) Чем проще код и понятнее-читабельнее, тем лучше код. Сокращения могут быть трактованы неоднозначно при различных обстоятельствах. Сокращения снижают читабельность - а пограммист больше читает чужого кода, чем пишет своего, во много раз больше. Сокращения льшь превозмогание каких-либо аппаратных ограничений на заре какой-либо технологии. Все движется к естественнному интерфейсу коммуникации макак - речи. Сокращения в речи макак, как и слэнг - мусор, девиация на уровне одной генерации макак и в определенный период их жизни либо - т.е. очень кратковременно. Повышение производительности сейчас уже достигается не экономией байтиков (да - было время задрачивал опкоды x86 - че там покороче), а хитровыебанными алгоритмами с применением сложной математики. Или например инлайн подстановка функций оптимизирующими компиляторами - процу быстрее много раз сожрать большой непрерывный кусок кода, чем много раз дергать маленькие из разных мест.
>>245249529 Все операции в конечном итоге - это операции сложения и вычитания битов. Читай про языки высокого и низкого уровня. А потом про компиляторы/интерпретаторы
>>245251146 Ассемблер - такой же язык программирования, как и эти ваши ЖСы и Пистоны. И там точно так же никто в здравом уме не бросается оптимизировать все подряд. А только те же самые 20% кода, которые в итоге дадут 80% прироста производительности.
>>245251228 >Сразу на машинном коде* Зачем, чтобы пострадать? Мнемоники большинства ассемблеров транслируются в машинный код один-к-одному. В машкодах имеет смысл писать только в том случае, если под текущую архитектуру еще нет ассемблера, а нужно срочно бутстрапнуться и писать свой нет времени.
1. Современные компиляторы оптимизируют сами. Как минимум обращения к памяти на теории компиляторов мы сокращали, говно на псевдоассемблере месили. 2. Для усложнения реинжиниринга код специально структурно говнят. Пруфов нет, но это и не важно, потому что самое главное... ...А самое главное - то, что всем похуй. Когда ресурсов много, о мелочах не беспокоишься.
>>245247771 (OP) очевидно что HDD/SSD лобби проплачивает разработчикам раздутые размеры игр. Каждый разработчик софта хотя-бы раз получал на е-мейл предложение раздуть софт за деньги. Причем видно это настолько выгодно, что даже за увеличение на ОДИН МЕГАБАЙТ они предлагают пятизначные суммы
>>245247771 (OP) >Сразу 4 байта из файла можно убрать, если на карте 5 сообщений и в игре 50 карт, то мы получаем мегабайт экономии. Килобайт вообще-то. Ты у мамы математик?
>>245251910 да я знаю что оп пишет хуйню, но интересно было прочитать >>245251915 Ладно тебе, тут всё-таки бывают очень полезные вещи. Редко, но бывают
Как устроена ячейка оперативной памяти? Допустим, ячейка, хранящая 1 бит. Это один гейт или несколько, и какие? Можете нарисовать схематично? Какие у нее входы-выходы, как происходит процесс чтения, записи? Если есть какой-либо научпоп на эту тему, или тем более на тему общения цп-рам - буду благодарен. Только не в духе "цп обращается тыры-пыры", а прям "цп генерирует такой сигнал, адресация сигнала в конкретную ячейку происходит по первым Х битам сигнала"
>>245253016 >Как устроена ячейка оперативной памяти? Допустим, ячейка, хранящая 1 бит. Это один гейт или несколько, и какие? Один гейт и один конденсатор, если речь идет о DRAM. Если же речь идет о кеш-памяти процессора, то там вот такая штука: https://en.wikipedia.org/wiki/Flip-flop_(electronics) >Если есть какой-либо научпоп на эту тему, или тем более на тему общения цп-рам - буду благодарен. Очевидный пикрелейтед.
>>245253222 >таненбаум архитектура компьютера Там воды столько, что я чуть не захлебнулся, когда пытался начать читать.
>>245247771 (OP) Какая зависимость между размером сборки\бандла и производительностью? Я тебе могу написать код на 3 строки, который твой проц на 100% загрузит