Требуется некоторое время, чтобы скомпилировать это.Есть ли более быстрый способ сделать это?
Я не думаю, что это специфично для hana
(который я не знаю и который я открываю).Компиляция шаблонного кода C ++ является сложной и медленной и занимает некоторое время (поскольку расширение шаблона C ++ завершено по Тьюрингу , это может занять произвольно большое время).
Компиляция шаблонного кода значительноулучшено в последних версиях GCC и Clang, поэтому используйте последнюю версию (например, GCC 8 в мае 2018 года), если можете.
На практике (если выЯ могу рекомендовать инициализировать большой массив POD struct
s или, в вашем случае, массив целых чисел во время компиляции, возможно, с помощью сгенерированного файла C ++ (или даже C), а также при инициализации (так что привремя выполнения) преобразуйте этот массив в hana
В противном случае оставьте инициализацию шаблона hana
в отдельном файле и примите, что компиляция занимает много времени (но во время выполнения она будет выполняться очень быстро).Возможно, ccache может быть полезным.