ОК, здесь моя ситуация:
-  У меня есть функция - пусть скажем U64 calc (U64 x)- которая принимает 64-разрядный целочисленный параметр, выполняет некоторую интенсивную работу с ЦП и возвращает 64-битное значение
-  Теперь, учитывая, что я знаю ВСЕ возможные входные данные (xs) этой функции заранее (хотя есть еще 16000), я подумал, что было бы лучше предварительно рассчитать их, а затем получить их по требованию (из массив-подобная структура).
-  Идеальная ситуация заключалась бы в том, чтобы сохранить их все в некотором массиве U64 CALC[]и получить их по индексу (сноваx)
- И вот проблема: я могу знать, каковы возможные входы для моей функции calc, но они наиболее определенно НЕ последовательные (например, не от 1 до 16000, а значения, которые могут идти как низкие как 0 и до нескольких триллионов - всегда с 64-битным диапазоном)
например.
  X        CALC[X]
-----------------------
  123123   123123123
  12312    12312312
  897523   986123
  etc.
И вот мой вопрос:
- Как вы их сохранили?
- Какое обходное решение вы предпочитаете?
-  Теперь, учитывая, что эти значения (от CALC) должны будут поступать от нескольких тысяч до миллионов, в секунду, что было бы лучшим решением по производительности?
Примечание. Я не упоминаю ничего, о чем я думал, и не пытался, чтобы не отвечать на вопросы в некоторых дискуссиях типа A vs B и в основном не влиял ни на кого...
