Быстрый поиск ДВОРДА в большом массиве двордов.

Тема в разделе "WASM.A&O", создана пользователем intel_x128, 6 май 2011.

  1. intel_x128

    intel_x128 New Member

    Публикаций:
    0
    Регистрация:
    17 май 2009
    Сообщения:
    345
    Приложение х32 для Win32.
    Остановился на битовой карте.
    Обнаружил, что все указатели выровнены на 4 байта.
    Т.е. размер битовой карты где-то 4 Гб / 8*4 = 128 метров.
    Работает очень быстро.
    Всем огромное-огромное спасибо, особенно Booster-у и qqwe!
     
  2. Atlantic

    Atlantic Member

    Публикаций:
    0
    Регистрация:
    22 июн 2005
    Сообщения:
    322
    Адрес:
    Швеция
    intel_x128
    А старший бит может быть ненулевым? Если всегда нулевой, тогда еще в 2 раза можно сократить размер. И еще быстрей будет.
     
  3. asmdev

    asmdev New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2006
    Сообщения:
    12
    А почему старший? Почему один? Почему указатель знаковое число? Почему указатель не выровнен на 4 или 8 байт? Почему не используется битовая карта + список? Почему используется C/C++ на асм форуме? (может SSE2 pcmpeqd+pmovmskb)