Вопросы к Поиску с Алисой
Использование std::complex может влиять на производительность арифметических операций в C++. www.digitalmars.com
Отсутствие отдельного мнимого типа в C++ означает, что при операциях с мнимыми числами выполняется много дополнительных вычислений для нулевой действительной части. www.digitalmars.com Например, при сложении двух мнимых чисел в C++ происходит два сложения, так как добавляются и реальные части. www.digitalmars.com При умножении вместо одного умножения выполняется четыре умножения и два сложения. www.digitalmars.com
Также, по данным с сайта Stack Overflow, при использовании перегруженного оператора |* для умножения двух значений std::complex операция может выполняться медленнее, чем при написании операции вручную. stackoverflow.com Это связано с тем, что оператору нужно проверять наличие NaN во входных данных, так как по-особому определяется комплексная бесконечность. stackoverflow.com
Однако стоит учитывать, что производительность зависит от конкретных условий и может отличаться в разных системах.