На своїх курсах чисельного аналізу я навчився аналізувати ефективність алгоритмів, підраховуючи кількість потрібних їм операцій з плаваючою комою (флопи), залежно від розміру задачі. Наприклад, у тексті Трефетена та Бау про числовій лінійній алгебрі є навіть тривимірні зображення підрахунків флопу.
Зараз модно говорити, що "флопи безкоштовні", тому що затримка пам'яті для отримання нічого, що не є в кеші, набагато більша, ніж вартість флопа. Але ми все ще навчаємо студентів рахувати флопи, принаймні на курсах з числового аналізу. Чи повинні ми навчити їх рахувати доступ до пам'яті? Чи потрібно писати нові підручники? Або доступ до пам'яті занадто машинний, щоб витрачати час на це? Якою буде довготривала тенденція щодо того, чи є flops чи доступ до пам'яті вузьким місцем?
Примітка: деякі відповіді нижче, здається, відповідають на інше запитання на кшталт "Чи слід нав'язливо переписати свою реалізацію, щоб зберегти кілька флопів або поліпшити кеш-ефективність?" Але те, про що я запитую, більше відповідає рядкам " Чи корисніше оцінювати алгоритмічну складність з точки зору арифметичних операцій чи доступу до пам'яті ?"