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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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

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

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

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

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


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

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

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


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

  • <<<... | 27—18 | 17—8 | ...>>>
    Всего сообщений в теме: 737; страниц: 74; текущая страница: 73


    № 17   14-06-2005 11:37 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 16« (CoreWars)
    ___________________________

    Самое быстрое брать ответ из таблицы (256 значений). Если нельзя использовать заранее вычисленные данные, то вычитанием и AND'ом.

    Ага, а таблица в памяти хранится...


    № 16   14-06-2005 11:34 Ответить на это сообщение Ответить на это сообщение с цитированием
    Самое быстрое брать ответ из таблицы (256 значений). Если нельзя использовать заранее вычисленные данные, то вычитанием и AND'ом.


    № 15   14-06-2005 11:28 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 14« (Geo)
    ___________________________
    На оптимальность не претендую. Итак, вариант №1:

    inline unsigned short BitsCounter(unsigned char value)
    {
      _asm {
        mov al,value
        xor cx,cx
    noinc:
        shl al,1
        jz quit
        jno noinc
        inc cx
        jmp noinc
    quit:
        mov ax,cx
      }
    }


    № 14   14-06-2005 11:10 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 13« (Сергей Перовский)
    ___________________________
    Самое смешное, что наилучшее решение не зависит от процессора и является наилучшим независимо ни от чего. Честно говоря, я (когда мне эту задачу задали) до самого карсивого решения не догадался. Я тоже думал о сдвгах через CF и сложеннии с CF.

    В принципе, я могу решение привести, если никто не хочет поизвращаться. Так что, как скажете.

    Подсказка: "Требуется максимальная оптимизация по быстродействию. Остальные критерии несущественны".
     Geo


    № 13   14-06-2005 10:45 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 12« (Geo)
    ___________________________
    Задача отличная. Забавно, что и тут однозначного ответа нет - на разных процессорах оптимальными по быстродействию окажутся принципиально разные алгоритмы. Дело в соотношении длительности умножения и простых операций - сложений, сдвигов и т.д.


    № 12   14-06-2005 08:35 Ответить на это сообщение Ответить на это сообщение с цитированием
    Кстати, поситал вот сообщения и вспомнил прикольную задачку на оптимизацию.

    Нужно написать функцию, которая бы получала на вход байт, а возвращала бы количество битов в этом байте, установленных в 1. Требуется максимальная оптимизация по быстродействию. Остальные критерии несущественны.
     Geo


    № 11   14-06-2005 06:04 Ответить на это сообщение Ответить на это сообщение с цитированием
    Оптимизация предусматривает наличие критерия.
    Привычными для программистов являются оптимизация по памяти и по скорости. А какие еще встречаются критерии?
    Мне приходит в голову оптимизация по простоте использования, по надежности, по скорости разработки, по простоте модификации.Дополнения принимаются.
    Таким образом мы имеем дело с многокритериальной оптимизацией. Для нее существует понятие множества Паретто. Это множество решений, для которых для любой пары решений не существует предпочтения по всем критериям одновременно. Если по каким-то критериям лучше A то по другим B.
    Не вошедшие в множество Паретто варианты не являются лучшими ни в каком смысле.
    К сожалению в случае программ множество Паретто очень велико т.к. критерии сильно противоречат друг другу.
    Попробуем с этой точки зрения рассмотреть применение СУБД для небольших объемов данных.
    По быстродействию и (редкий случай совпадения) по используемой памяти впереди списки объектов. По скорости разработки и легкости модификации впереди "карманные" СУБД.
    Выбирай, но осторожно, но выбирай: или вчера большие но по пять, или сегодня по три но маленькие (с).


    № 10   14-06-2005 02:25 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 8« (sega-zero)
    ___________________________

    А что? В Longhorn вроде обещали нечто подобное - файловая система на основе БД. Правда, скорее всего именно так писАться и не будет, опять тот же апи...

    WinFS уже вывели из состава Longhorn


    № 9   12-06-2005 14:21 Ответить на это сообщение Ответить на это сообщение с цитированием
    "В споре рождается истина."
    Истина в споре не рождается. В споре рождаются синяки. А если серьезно, то это выражение звучит примерно так: "В споре рождается сомнение, а сомнение - первый шаг на пути к истине".


    № 8   12-06-2005 14:06 Ответить на это сообщение Ответить на это сообщение с цитированием
    А что? В Longhorn вроде обещали нечто подобное - файловая система на основе БД. Правда, скорее всего именно так писАться и не будет, опять тот же апи...


    <<<... | 27—18 | 17—8 | ...>>>
    Всего сообщений в теме: 737; страниц: 74; текущая страница: 73


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

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

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

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

    Перейти на конкретную страницу по номеру
      
    Время на сайте: 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» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

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