![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]() Цитата:
Первую свою (ещё учебную) написал в 1979. Первую не учебную в 1982. Учебную на фортране для ЕС ЭВМ, не учебную на паскале для уже и не помню как это чудище называлось, но некий аналог IBM PC. |
|
![]() |
![]() |
![]() |
#12 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]()
Вспомнил. Чудище называлось Искра 1030.
|
![]() |
![]() |
![]() |
#13 | |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 684
|
![]() Цитата:
Я сделал такую процедуру. По CPU показывает что вызов этой процедуры занимает меньше места, чем прямое SetBounds Код:
|
|
![]() |
![]() |
![]() |
#14 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Экая зараза Вас взяла, даже сложно предположить. 99.99% что Вам надо от неё избавляться, потому как упорство и прочие качества у Вас есть, но применяете не к месту.
Вот написали Вы обёртку, она "занимает" меньше места, ну да, 4 параметра меньше 5 (в оригинальном SetBounds ещё неявный Self), на одну ассемблерную инструкцию mov сэкономили, но ведь очевидно же, что внутри неё вы всё равно раздули место - поскольку внутри вызывается сама SetBounds, а на это тоже нужны ассемблерные инструкции, или её Вы тоже будете переписывать с залезанием в приватные поля класса ? Зачем понимать, сколько процедура занимает в программе места ? Вы микроконтроллер пишете или VCL-приложение ? Ну да, можно сказать сколько она занимает, курите ассемблер, опкоды, изучите что такое стек вызовов, что такое регистры, calling conventions, прологи-эпилоги функций. Всё это поможет посчитать сколько байтов реально занимает процедура. Вот только на кой чёрт оно нужно, если а) по какой-либо необходимости надо добавить параметр - и всё придётся пересчитывать и б) почти любой добавленный модуль в программе может резко увеличить размер экзешки не на байты (как в случае параметров, да и то не всегда, читайте про выравнивание по 512 байт), а на сотни кб ??? Вопросы не для ответа, а для пробивания Вашей самоуверенности в том, что такие вещи Вам нужны. А для дзена читайте https://www.gunsmoker.ru/2013/01/opt...on-basics.html Последний раз редактировалось phomm; 15.04.2024 в 19:15. |
![]() |
![]() |
![]() |
#15 | |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]() Цитата:
Чтобы прочувствовать код и потом нутром чуять, где экономия на спичках и пар в свисток, а где взаправду оптимизация? Хотя, пример с SetBounds выглядит бредовым. Вложенные вызовы процедур ведь тоже не проходят просто так, они могут сбрасывать конвейер спекулятивного выполнения, например. В компиляторах C/C++ есть оптимизация по скорости и оптимизация по краткости кода, что не одно и то же. Какова цель сих шаманств? |
|
![]() |
![]() |
![]() |
#16 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,869
|
![]()
я думал, что это я такой дотошный любитель "выкуривать" из модулей процедуры, которые не использую и заботиться об уменьшении размера приложения хотя бы на пару килобайт и без того "похудевшей" программы.
но нет, истинные мастера и маньяки своего дела, по ходу, живут тут...
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
![]() |
![]() |
![]() |
#17 | |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]() Цитата:
На самом деле сие логично, ибо ИТ нынче расползлись настолько, что стал сказываться эффект масштаба, а разработчики естественным образом разделились на тех, кто тупо потребляет, и тех, кто привык думать сам и еще пытается барахтаться. Для последних вопрос бездумного раздувания всего лежит на поверхности, ибо не только виден невооруженным глазом, но и обеспечивает наибольшее удовлетворение от проделанного при минимальных трудозатратах. В последнее время я всё чаще наталкиваюсь на мнение, что мы вплотную подошли к естественной границе экстенсивного роста, и теперь чем дальше, тем больше накладные расходы на обслуживание текущих и грядущих «пузырей» будут превышать возможный выигрыш от них. Отсюда и «нехватка» специалистов, например. Востребованность оптимизации начнет возрастать, что хорошо, но старые методы не сработают, поскольку глобальная задачи отрасли теперь — переход от экстенсивного развития к интенсивному, что требует переосмысления всего, начиная, условно, с 1970 года. |
|
![]() |
![]() |
![]() |
#18 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,810
|
![]()
При современном уровне развития компьютерной техники нет никакого смысла заниматься низкоуровневой оптимизацией. Объемы диска, оперативной памяти и мощности процессора позволяют об этом не задумываться. При том, что от оптимизации нет никакого эффекта, то есть его невозможно заметить "невооруженным глазом". Только синтетические замеры показывают эффект, а по факту нет никакой разницы. Тогда зачем тратить ресурсы (в первую очередь время) на сие бесполезное занятие?
Естественно, если вы пишете софт под какой-нибудь микроконтроллер или что-то в этом духе, то там все по старинке, так как ресурсы весьма ограничены. E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#19 | |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]() Цитата:
Ну никак не вижу необходимости подобной "оптимизации" в прикладной программе. |
|
![]() |
![]() |
![]() |
#20 | ||||
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]() Цитата:
Цитата:
— Тогда пройди вперед! ![]() Цитата:
Еще раз заострюсь. Возможно, тему стоит уже разделить. |
||||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Управление объектом | MexL | Общие вопросы C/C++ | 1 | 28.01.2019 22:42 |
Работа с объектом Request | OlgaRostov | ASP.NET | 2 | 14.12.2015 22:49 |
Проблема с COM объектом. | Son | Общие вопросы Delphi | 0 | 10.01.2013 23:01 |
слежение за объектом | Giku | Свободное общение | 12 | 18.04.2012 15:20 |
Проблема с COM объектом | resu654 | Общие вопросы Delphi | 2 | 25.05.2009 23:00 |