Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  02:21[Войти] | [Зарегистрироваться]
Обсуждение темы:
Вопросы оптимизации кода

Тема открыта по просьбе жителей Королевства и посвящена обсуждению вопросов оптимизации кода. Выставляйте свои лучшие и худшие тексты и не стесняйтесь их обсуждать. В споре рождается истина. Или, по крайней мере, оптимизация.

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 737 сообщений

Добавить свое сообщение

Отслеживать это обсуждение


Смотрите также обсуждения:
Тестирование проекта. Отладка.
  • Подводные камни
  • Централизованная обработка ошибок
  • Бета-тестирование
  • Давайте учиться на ошибках.
  • Почему программисты допускают ошибки?
  • Автоматизированные тесты для GUI
  • О системах контроля ошибок

  • <<<... | 727—718 | 717—708 | ...>>>
    Всего сообщений в теме: 737; страниц: 74; текущая страница: 2


    № 727   06-02-2012 04:09 Ответить на это сообщение Ответить на это сообщение с цитированием
    В принципе, поэкспериментировав с пересылкой данных, через eax,mm0,xmm0 пришел к выводу, что передача данных упирается в скорость шины памяти, и от выравнивания мало что зависит, т.к. при обработке массива, даже если он не выровнен, то "лишние" байты закачанные в кэш, все равно потребуются при следующей операции чтения.
    Использование mm0, кстати, дает 15-20% ускорения по сравнению с eax. Использование xmm0 уже не дает ничего, что с выравниваем, что без выравнивания, отсюда и написанный выше вывод.

    Однако, по существу вопроса - оптимизация нужна и использование MMX и SSE2.

    На Круглом столе, к сожалению, вопросов про эти наоборы команд ничтожно мало, неужели никто не оптимизирует.

    Как там с поддержкой AVX и регистров YMM в Delphi XE, никто не знает?


    № 726   03-02-2012 06:25 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 724« (fargo2)
    ___________________________

    Косвенно к вопросу оптимизации. Касается обмена данными с процессором

    Недавно опытным путем выяснил, что при включенном ALIGN=8, Delphi 7 не желает выравнивать содержимое массивов типа array of byte по границе 8.

    Интересно, появился ли в новых версиях Delphi принудительный ALIGN=16 и воздействует ли он на array of byte?


    Директива ALIGN задаёт максимальное значение выравнивания. Каждый тип (как встроенный, так и определённый программистом) имеет собственный Align. Для байтов и массивов байтов Align=1, поэтому директива ALIGN на их выравнивание влиять не должна.

    ЗЫЖ Сто лет сюда не заходил, заглянул - никого...


    № 725   27-01-2012 05:07 Ответить на это сообщение Ответить на это сообщение с цитированием
    Естественно, имеется ввиду первый элемент массива!,

    а не каждый элемент в массиве.


    № 724   24-01-2012 01:15 Ответить на это сообщение Ответить на это сообщение с цитированием
    Косвенно к вопросу оптимизации. Касается обмена данными с процессором

    Недавно опытным путем выяснил, что при включенном ALIGN=8, Delphi 7 не желает выравнивать содержимое массивов типа array of byte по границе 8.

    Интересно, появился ли в новых версиях Delphi принудительный ALIGN=16 и воздействует ли он на array of byte?


    № 723   25-11-2009 06:17 Ответить на это сообщение Ответить на это сообщение с цитированием
    всем доброго дня)Подскажите, пожалуйста, где можно прочитать про (Производительность ПО.Методики измерения производительности .Программные измерительные мониторы)..долго и упорно искал в интернете..но нашел слишком мало информации...пожалуйста помогите))


    № 722   16-06-2009 02:40 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 720« (Игорь)
    ___________________________
    Игорь, чтобы задать вопрос, перейдите по ссылке: http://delphikingdom.com/table/add.asp

    Geo - ;)


    № 721   16-06-2009 02:00 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 720« (Игорь)
    ___________________________
    Вопросы задаются на Круглом Столе, а не здесь.
     Geo


    № 720   16-06-2009 01:29 Ответить на это сообщение Ответить на это сообщение с цитированием
    Здравствутйе.
    В делфи есть иконка Timage существует ли механизм маштабирования нарисованноно изображения
    Подскажите
    Заранее благодарю


    № 719   27-05-2009 00:09 Ответить на это сообщение Ответить на это сообщение с цитированием
    >>>ПРОЦЕДУРА Оболочка;
    >>>НАЧАЛО
    >>>ВЫЗОВ ПРОЦЕДУРЫ Имя;
    >>>КОНЕЦ;
    >>>Итого имеем один вход и один выход.

    Можно и без оболочки. Обычно от альтернативных выходов можно избавиться с помощью другой формы записи условной конструкции.
    Например, "неправильную" процедуру типа:
    ПРОЦЕДУРА Имя;
    НАЧАЛО
      ЕСЛИ условие ТО ВЫХОД
    что-то...
    КОНЕЦ
    можно переписать так:
    ПРОЦЕДУРА Имя;
    НАЧАЛО
      ЕСЛИ НЕ условие ТО
      что-то...
      КОНЕЦ ЕСЛИ
    КОНЕЦ

    >>>Какое же это ветвление?
    >>>Это выполнение по условию.

    Игра словами. Ветвление - это структура в записи алгоритма, которая обеспечивает выбор и выполнение операций в зависимости от результата проверки определенных условий.


    № 718   25-05-2009 06:27 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 717« (Как слышно? Прием!)
    ___________________________
    Это смотря какие теоретики :)
    Первый серьезный язык, моделирующий паралельные процессы, - СИМУЛа 67 имел операторы Activate, Passivate. Сохранялась точка алгоритма, из которой управление передавалось другому процессу. В нее происходил возврат при активации. Если прочертить на тексте стрелками все передачи управления между процессами, получим знакомую картину "спагетти". Activate, Passivate - аналоги GOTO для параллельных процессов.
    Достаточно очевидно, что ничего, не описываемого моделью конечного автомата все равно не реализовать при таком подходе. И моделирование параллельных процессов перешло к аналогу структурного программирования - ансамблю конечных автоматов, обменивающихся сигналами.
    Тогда речь шла о моделировании параллельных процессов на одном исполнителе, но идея управляющего списка легко модифицируется на произвольное число исполнителей.


    <<<... | 727—718 | 717—708 | ...>>>
    Всего сообщений в теме: 737; страниц: 74; текущая страница: 2


    Добавить свое сообщение

    Отслеживать это обсуждение

    Дополнительная навигация:
    Количество сообщений на странице

    Порядок сортировки сообщений
    Новое сообщение вверху списка (сетевая хронология)
    Первое сообщение вверху списка (обычная хронология)

    Перейти на конкретную страницу по номеру
      
    Время на сайте: GMT минус 5 часов

    Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
    Функция может не работать в некоторых версиях броузеров.

    Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
    Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

     
    © При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

    Яндекс цитирования