
Центра́льный проце́ссор — электронный блок либо интегральная схема, исполняющая машинные инструкции, главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда этот компонент называют просто процессором.
Многопото́чность — свойство платформы или приложения, состоящее в том, что процесс, порождённый в операционной системе, может состоять из нескольких потоков, выполняющихся «параллельно», то есть без предписанного порядка во времени. При выполнении некоторых задач такое разделение может достичь более эффективного использования ресурсов вычислительной машины.
Многозада́чность — свойство операционной системы или среды выполнения обеспечивать возможность параллельной обработки нескольких задач. Истинная многозадачность операционной системы возможна только в распределённых вычислительных системах.
Оптимизация — модификация системы для улучшения её эффективности. Система может быть одиночной компьютерной программой, цифровым устройством, набором компьютеров или даже целой сетью.
Профилирование — сбор характеристик работы программы, таких как время выполнения отдельных фрагментов, число верно предсказанных условных переходов, число кэш-промахов и т. д. Инструмент, используемый для анализа работы, называют профилировщиком или профайлером. Обычно выполняется совместно с оптимизацией программы.

Мью́текс — примитив синхронизации, обеспечивающий взаимное исключение исполнения критических участков кода. Классический мьютекс отличается от двоичного семафора наличием эксклюзивного владельца, который и должен его освобождать. От спинлока мьютекс отличается передачей управления планировщику для переключения потоков при невозможности захвата мьютекса. Встречаются также блокировки чтения-записи, именуемые разделяемыми мьютексами и предоставляющие помимо эксклюзивной блокировки общую, позволяющую совместно владеть мьютексом, если нет эксклюзивного владельца.

Oracle Developer Studio — интегрированная среда разработки программ для языков программирования Си, C++ и Фортран, разработанная компанией Sun Microsystems. В OSS включены средства сборки, отладки, профилирования и анализа многопоточных приложений.
Оптимизирующий компилятор — компилятор, в котором используются различные методы получения более оптимального программного кода при сохранении его функциональных возможностей. Наиболее распространённые цели оптимизации: сокращение времени выполнения программы, повышение производительности, компактификация программного кода, экономия памяти, минимизация энергозатрат, уменьшение количества операций ввода-вывода.
Спин-блокировка или спинлок — низкоуровневый примитив синхронизации, применяемый в многопроцессорных системах для реализации взаимного исключения исполнения критических участков кода с использованием цикла активного ожидания. Применяется в случаях, когда ожидание захвата блокировки предполагается недолгим либо если контекст выполнения не позволяет переходить в заблокированное состояние.
Intel Parallel Studio — пакет разработки распараллеленного программного обеспечения, разработанный фирмой Intel, сочетающий в себе C/C++ компилятор и Fortran компилятор, различные библиотеки, инструменты профилирования и многое другое. В комплект поставки входят программные продукты:
- Intel Parallel Advisor,
- Intel Parallel Composer,
- Intel Parallel Inspector,
- Intel VTune Amplifier.
Visual Studio Team System Profiler — коммерческий профайлер от корпорации Microsoft, входящий в состав пакета Visual Studio Team System (VSTS) и версии Development Edition среды разработки Visual Studio. Данный инструмент может работать или в режиме семплирования, в котором через определенные промежутки времени производится запись снимков состояния программы, или в режиме измерения, в котором статистика собирается за счет измерений входных и выходных значений функций. Достоинством режима измерения является более тщательный сбор статистики, однако он вынуждает программу работать гораздо медленнее из-за выполнения дополнительного кода при измерениях.

AMD CodeAnalyst — профилировщик кода с поддержкой графического интерфейса пользователя, предназначенный для x86-совместимых машин. Несмотря на то, что CodeAnalyst разрабатывался только для работы с процессорами производства AMD, он также может ограниченно работать и с процессорами производства Intel. CodeAnalyst имеет схожий внешний вид и поведение как на платформе Linux, так и на платформе Microsoft Windows.
Intel VTune Performance Analyzer — коммерческое приложение для анализа производительности программ для компьютеров на базе x86-процессоров, причём программа имеет как графический интерфейс пользователя, так и поддержку командной строки. Программа доступна для Linux и для Microsoft Windows.

JetBrains' dotTrace — проприетарный профилировщик для отслеживания проблем производительности и узких мест использования памяти в приложениях на платформе .NET. 18 ноября 2010 года была выпущена версия dotTrace 4.0.1.
Valgrind — инструментальное программное обеспечение, предназначенное для отладки использования памяти, обнаружения утечек памяти, а также профилирования. Название valgrind взято из германо-скандинавской мифологии, где является названием главного входа в Вальгаллу.
Переключение контекста — в многозадачных ОС и средах — процесс прекращения выполнения процессором одной задачи с сохранением всей необходимой информации и состояния, необходимых для последующего продолжения с прерванного места, и восстановления и загрузки состояния задачи, к выполнению которой переходит процессор.
Узкое место — явление, при котором производительность или пропускная способность системы ограничена одним или несколькими компонентами или ресурсами. В соответствующем англоязычном термине бутылочное горлышко прослеживается аналогия с горловиной бутылки, узость которой не позволяет вылить или высыпать всё её содержимое сразу, даже если её перевернуть. При увеличении её ширины увеличивается и скорость, с которой бутылка опустошается. Относительно бизнеса узким местом является фактор, ресурс, процесс или подразделение, которое ограничивает общую производительность определённым верхним пределом даже при условии существенного увеличения производительности всех остальных компонентов.
Ассемблерная вставка — в программировании возможность компилятора встраивать низкоуровневый код, написанный на ассемблере, в программу, написанную на языке высокого уровня, например, Си или Ada. Использование ассемблерных вставок может преследовать следующие цели:
- Оптимизация: Вручную пишется ассемблерный код, реализующий наиболее критичные в отношении производительности части алгоритма. Это позволяет программисту не ограничиваться конструкциями компилятора.
- Доступ к специфичным инструкциям процессора: Некоторые процессоры поддерживают специальные инструкции, такие как сравнение с обменом и test-and-set — инструкции, которые могут быть использованы для реализации семафоров или других примитивов синхронизации и блокировок. Практически все современные процессоры имеют такие или сходные инструкции, так как они необходимы для реализации многозадачности. Специальные инструкции можно найти в системах команд следующих процессоров: SPARC VIS, Intel MMX и SSE, Motorola AltiVec.
- Системные вызовы: Языки программирования высокого уровня редко предоставляют прямую возможность делать системные вызовы, для этих целей используется ассемблерный код.
AMD CodeXL — набор инструментов разработки программного обеспечения. Включает в себя GPU debugger, GPU profiler, CPU profiler и статический OpenCL анализатор ядра.
Семафо́р — примитив синхронизации работы процессов и потоков, в основе которого лежит счётчик, над которым можно производить две атомарные операции: увеличение и уменьшение значения на единицу, при этом операция уменьшения для нулевого значения счётчика является блокирующейся. Служит для построения более сложных механизмов синхронизации и используется для синхронизации параллельно работающих задач, для защиты передачи данных через разделяемую память, для защиты критических секций, а также для управления доступом к аппаратному обеспечению.