Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2015, 22:11   #11
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,815
По умолчанию

ну, упаковщик убирает же что-то из EXE-шника, но при этом всё работает.значит, мой код Delphi несёт в себе что-то лишнее. разве нет?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 25.01.2015, 22:18   #12
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

ага, все что написали - лишнее.
lomastr_ вне форума Ответить с цитированием
Старый 25.01.2015, 23:34   #13
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,781
По умолчанию

Можно хирургическим путем пальцы растопырить -- эффект тот же будет. Писать руками на ассемблере и копировать подстрочник компилятора -- несколько разные вещи.
Vapaamies вне форума Ответить с цитированием
Старый 26.01.2015, 07:43   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
значит, мой код Delphi несёт в себе что-то лишнее. разве нет?
Нет. Не несет. На стадии оптимизации лишнего не бывает. После оптимизации - да, часть кода может быть проигнорированна, но это не значит что тебя спасет ассемблер.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.01.2015, 09:33   #15
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
так вот если я теперь возьму и сделаю ассемблерную вставку в код Delphi - как раз из этого листа CPU - разве это не будет работать быстро? он же уже оптимизирован. или лучше не заморачиваться?
Он не будет работать
В компилированном коде все связано и много чего навязано самим компилятором. Вам неоткуда будет взять так много нужной информации.

Ассемблер нужно использовать тогда, когда:
1. Описать это высокоуровневым кодом невозможно(все преобразования исполнены на ассемблере, гляньте в System.pas).
2. Заранее знаете, что компилятор генерирует уж очень угловатый и нагруженный код.
3. Когда вам очень важна скорость выполнения всяких вспомогательных функций.

Компилятор генерирует очень большую кол-во оптимизаций и проверок, а иногда это не надо, и вы точно, очень точно уверены что там будет то, что ожидает компилятор. То можно писать и асм
Человек_Борща вне форума Ответить с цитированием
Старый 26.01.2015, 11:13   #16
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,815
По умолчанию

весь код на ассемблер переиначивать, я так понял, не катит...
ну, скажем, если я написал некую грузанутую процедуру, которую приходится много раз вызывать в программе по таймеру. то её можно как раз в виде ассемблерной вставки в Delphi использовать? ну, скажем, процедура поиска файлов в папке. или уж лучше оставить как есть в виде Delphi?
кто из форумчан так делал?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 26.01.2015, 11:16   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ну, скажем, процедура поиска файлов в папке.
Ассемблер ничего тебе не даст, ибо твоя процедура заканчивается на вызове WinAPI. И ничего тормознутого в ней не будет такого, чтоб чисто асм подключать.
Т.е. тут уже вопрос в КПД кода, а не в его скорости.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.01.2015, 11:17   #18
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
ну, скажем, если я написал некую грузанутую процедуру, которую приходится много раз вызывать в программе по таймеру. то её можно как раз в виде ассемблерной вставки в Delphi использовать?
Что от этого изменится? Единственно - затруднит, если не сделает невозможным, сопровождение программы. По коду исходников делфи пробежаться и посмотреть для чего и когда делаются вставки и все вопросы отпадут
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.01.2015, 11:26   #19
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,815
По умолчанию

ну, я лазил по исходникам. Windows.pas, SysUtils.pas, Message.pas, Regedit.pas ковырял. из них самая грузанутая процедура на ассемблере - перевод числа из одного формата в другой IntToStr(), кажись, и все остальные с ней связанные. а остальное на Pascal'e наворочено.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 26.01.2015, 11:43   #20
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
самая грузанутая процедура на ассемблере
Ты это как понял? По количеству команд в процедуре?
Или ты замерял тики при ее выполнении?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ассемблер в Delphi, адрес переменной Obert Помощь студентам 7 12.06.2011 16:18
Ассемблер в Delphi Вячеславик Помощь студентам 3 11.05.2010 14:35
Компилирование проекта на Delphi в ассемблер Legat Общие вопросы Delphi 3 10.04.2009 16:07
Ассемблер в Delphi Roof Помощь студентам 7 21.12.2008 00:21