Форум программистов, компьютерный форум, киберфорум
Наши страницы

Проверка скорости кода. Обмен опытом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализации преобразований с геометрической фигурой (сферой) http://www.cyberforum.ru/cpp/thread1707065.html
Товарищи подскажите кто чем сможет. Надо написать программу, позволяющую делать различные преобразования со сферой (перемещение, сжатие, растяжение, изменение цвета, освещение и т. д.); управление...
C++ Можно ли просчитать дистанцию между переменными в map? values.push_back(necessaryCoor) - - - - Вектор содержит только координаты points.push_back(newPoints) - - - Вектор содержит только айди для каждой координаты fullMap.insert(pair, vector>({... http://www.cyberforum.ru/cpp/thread1706692.html
C++ Error LNK2019 при компиляции программы MPI
Здравствуйте! Это уже становится чересчур.. все решения перепробованы. Вобщем, на VS 2012 устанавливаю MS SDK MPI. В свойствах проекта -> каталоги VC++ установлены: Каталоги включения - include...
Редактирование DLL C++
Подскажите, как безопасно извлечь проверку ключа по хосту в этом тексте? От куда по куда (мне чтобы в Инжекторе работало после этого))? Если понадобится, добавлю больше текста... - тут код ...
C++ Задача http://www.cyberforum.ru/cpp/thread1704744.html
Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получить 651. Помогите пожалуйста, написать код для...
C++ Код стандартных библиотечных фунций Подскажите, пожалуйста, где можно посмотреть исходный код функций стандартных библиотек, например, math.h, string.h? Не интерфейс функций, а именно реализацию . подробнее

Показать сообщение отдельно
karat39
4 / 4 / 1
Регистрация: 09.02.2016
Сообщений: 128
11.04.2016, 12:02  [ТС]
Извините, у меня на форуме не получается комментировать в ответе чужое сообщение.

Мое мнение такое. Я его частично проверил, частично не успел. Я был удивлен, что memcpy обгоняет мой код ассембелера. И после экспериментов понял почему. Для процессора, типы данных делятся на:
1,2,4,8,10 байт. memcpy скорее всего перекидывает из памяти в память по большему значению (например 10 байт) и потом остаток побайтно (или по 2 байта или 4 байта, в зависимости от остатка). Кстати на ассм я делал по 4 байта, поэтому проиграл.
Получается, если тип данных хорошо кратен данным цифрам, то кол-во операций процессора (особенно связанные с записью в регистр) минимально. Например если мы будем перекидывать строки длиной 10 байт, memcpy тут просто будет идеален, а если 13, то уже будет работать медленней. Я его не диззасемблировал еще, но скорее всего он перекинет 10 + 2 + 1. Это как минимум еще 2 обращения к регистру ecx. КАк то так мое мнение, я его чуть позже проверю окончательно.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru