Тест производительности типа float128?

Кто-нибудь сталкивался с типом float128?

Я хотел бы узнать о его производительности по сравнению с double и другими высокоточными типами, такими как boost::multiprecision:cpp_dec_float? Есть ли уже готовый тест?


person zell    schedule 04.01.2015    source источник
comment
__float128 в gcc, по крайней мере, на x86_64, является программным числом с плавающей запятой четверной точности. Это... не быстро. Я бы переключился на MPFR, прежде чем использовать эту штуку.   -  person tmyklebu    schedule 05.01.2015


Ответы (1)


Судя по всему, float128 намного медленнее, чем double. Например, до 100 раз медленнее, но точное замедление, конечно, будет зависеть от операций.

Умножение двух матриц 256x256 дает 100x помедленнее.

В документе Эталонный анализ MPFR-эмуляции арифметики Binary128 цитируется 250x замедление для суммирования, замедление в 120 раз для произведения, замедление в 400 раз для скалярного произведения.

В другой статье Twofolds in C и C++ говорится, что суммирование __float128 в 150 раз (25x умножить на 6x) медленнее, чем double суммирование.

person Ecir Hana    schedule 01.02.2017
comment
Спасибо за данные. - person zell; 16.02.2017