Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Гродненский Форум
21 Июль 2025, 05:19:13
Новости, реклама:
   Главная   Новости Гродно Помощь Игры Календарь Войти Регистрация   Меню
Страниц  : 1 2 3 5 Далее»  Все   Вниз
  Печать  
Автор Тема: Re: Языки программирование  (Прочитано 20819 раз)
0 Пользователей и 1 Гость смотрят эту тему.
maxposedon
Настоящий гродненец
****

Репутация: +26/-0
Offline Offline

Сообщений: 696


empty

Просмотр профиля
« Ответ #90 : 09 Апрель 2006, 22:34:24 »

вот пример...
основная часть кода strlen из glibc(всякие NULL проверки я опустил)

 /* Instead of the traditional loop which tests each character,
     we will test a longword at a time.  The tricky part is testing
     if *any of the four* bytes in the longword in question are zero.  */
     .....
         const char *cp = (const char *) (longword_ptr - 1);

          if (cp[0] == 0)
            return cp - str;
          if (cp[1] == 0)
            return cp - str + 1;
          if (cp[2] == 0)
            return cp - str + 2;
          if (cp[3] == 0)
            return cp - str + 3;
          if (sizeof (longword) > 4)
            {
              if (cp[4] == 0)
                return cp - str + 4;
              if (cp[5] == 0)
                return cp - str + 5;
              if (cp[6] == 0)
                return cp - str + 6;
              if (cp[7] == 0)
                return cp - str + 7;
            }
        }

можно заметить что код ОЧЕНЬ похож на тот asm-овский
и я УВЕРЕН что кампилятор згенерирует код как минимум не хуже
но тут перед вами ПРИМЕР ПРИЕМУЩЕСТВА C кода
ВСЕ k8 процессоры (athlon64,>sempron3000) ОПТИМИЗИРОВАНЫ под передачу данных пачками по 64bit (ДАЖЕ в 32-битном режиме), ТВОЙ asm код бы на ето "забил" и работал бы медленние
« Последнее редактирование: 09 Апрель 2006, 22:40:46 от maxposedon » Записан
Страниц  : 1 2 3 5 Далее»  Все   Вверх
  Печать  
 
Перейти в:  

Войти
Войдите, чтобы добавить комментарий

Войдите через социальную сеть

Имя пользователя:
Пароль:
Продолжительность сессии (в минутах):
Запомнить:
Забыли пароль?

Контакт
Powered by MySQL Powered by PHP Мобильная версия
Powered by SMF 1.1.20
SMF © 2006-2025, Simple Machines
Simple Audio Video Embedder
| Sitemap
Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0,083 секунд. Запросов: 20.