Что такое накладные расходы? Есть ли несколько накладных расходов или только один? Какие примеры?Что такое «накладные расходы»?
ответ
Деловое значение overhead Стоимость объясняет это лучше всего. Материал из Википедии:
Термина накладных расходов, как правило, используются для расходов группы, которые необходимы для продолжения функционирования в бизнеса, но не могут быть сразу , связанным с продукцией/услугами , предлагаемых 1 (например, сделать не напрямую приносят прибыль).
Накладные расходы - это «стоимость», которую вы понесете, чтобы иметь возможность выполнить операцию; вам нужно «инвестировать» некоторый ресурс для выполнения рассматриваемой операции.
Накладные расходы - это использование определенного ресурса, что является побочным эффектом того, что вы на самом деле пытаетесь достичь. например Наложение структуры - это форма накладных расходов памяти. Нажатие и выскакивание аргументов в стеке является одной из форм накладных расходов на обработку. Заголовки пакетов являются формой накладных расходов на пропускную способность. Подумайте о ресурсе, он может иметь связанные с этим накладные расходы.
я бы не сказал «нежелательными», но больше как "побочный эффект". – tenfour
@tenfour: Да, это намного лучше. Я работал над этим в ответ. –
Вот пример размера накладных расходов для классов и структур:
struct first {
char letter1;
int number;
char letter2;
};
struct second {
int number;
char letter1;
char letter2;
};
int main()
{
cout << "Size of first: " << sizeof(first) << endl;
cout << "Size of second: " << sizeof(second) << endl;
return 0;
}
Результат:
Size of first: 12
Size of second: 8
компилятор должен строить-структуру, чтобы быть выровнено по границе слова. В первой структуре окружающий символ char (по одному байту каждый) заставляет компилятор «нажимать» int down, чтобы к нему можно было получить доступ как полное слово (четыре байта). Вторая структура не требует почти столько же толчка.
Мораль истории: разместить аналогичные элементы данных рядом друг с другом.
Вот пример времени накладных расходов, связанных с более эффективного использования местности для использования кэша:
#include <stdio.h>
#define SIZE 1024
double A[SIZE][SIZE], B[SIZE][SIZE], C[SIZE][SIZE];
int main()
{
int i, j, k;
for (i = 0; i < SIZE; i++) {
for (j = 0; j < SIZE; j++) {
for (k = 0; k < SIZE; k++) {
C[i][j] += A[i][k] * B[k][j];
}
}
}
return 0;
}
Запуск этого на моей машине занимает столько времени:
real 0m35.137s
user 0m34.996s
sys 0m0.067s
Теперь я буду поменять местами J и K итераций цикла:
#include <stdio.h>
#define SIZE 1024
double A[SIZE][SIZE], B[SIZE][SIZE], C[SIZE][SIZE];
int main()
{
int i, j, k;
for (i = 0; i < SIZE; i++) {
for (k = 0; k < SIZE; k++) { // this is the only change
for (j = 0; j < SIZE; j++) {
C[i][j] += A[i][k] * B[k][j];
}
}
}
return 0;
}
среда выполнения для этого является:
real 0m5.489s
user 0m5.436s
sys 0m0.040s
Это намного быстрее, потому что итерации цикла больше в строке с порядком индексов массива. Таким образом, данные, скорее всего, будут доступны последовательно и, следовательно, будут более доступны в кеше.
- 1. Что такое «накладные расходы»?
- 2. Что такое накладные расходы контекстного переключателя?
- 3. Что такое безопасные накладные расходы для RequestAdditionalTime()?
- 4. Что такое накладные расходы Castle Record Record?
- 5. Что такое накладные расходы TPanel над TBevel
- 6. Что такое накладные расходы на пустой вектор?
- 7. Как измерить накладные расходы
- 8. Накладные расходы памяти neo4j
- 9. Что такое накладные расходы на «синхронизированный» метод async?
- 10. Что такое накладные расходы по типу Option Rust?
- 11. Что такое накладные расходы на использование словаря вместо списка?
- 12. Что такое накладные расходы, связанные с переключением режимов
- 13. Что такое накладные расходы от shared_ptr, которые являются потокобезопасными?
- 14. Что такое накладные расходы на процесс в Windows?
- 15. Что такое накладные расходы DATE или DATE_FORMAT в разделе WHERE?
- 16. Что такое накладные расходы, связанные с переключением контекста?
- 17. Что такое служебные накладные расходы Popen в python
- 18. Что такое накладные расходы на создание Log4j Logger
- 19. Что такое накладные расходы на использование последней записи Intel?
- 20. Xcode7 Что такое «Накладные расходы» для измерителя профилирования энергии?
- 21. Что такое накладные расходы на форвард-не-потребители в Hornetq?
- 22. Что такое накладные расходы на отражение в GetMethods
- 23. Накладные расходы на реку?
- 24. Накладные расходы метода
- 25. Минимизировать накладные расходы индексации
- 26. Накладные расходы общих объектов
- 27. Накладные расходы ConcurrentHashMap
- 28. Накладные расходы интерфейса
- 29. Накладные расходы на Python
- 30. Накладные расходы DLL
Google Определение Накладные: http://www.google.com/search?hl=en&safe=off&defl=en&q=define:overhead&sa=X&ei=x1C7TOyFOIP-8Ab18pmHDw&ved=0CBIQkAE –