Fortran 混合本机可执行文件和llvm位代码库
形势 我有一个程序(用fortran编写),包括:Fortran 混合本机可执行文件和llvm位代码库,fortran,llvm,jit,Fortran,Llvm,Jit,形势 我有一个程序(用fortran编写),包括: 每次运行程序时使用的一组核心例程 由用户在开始时选择的大量备用例程集合,每次运行仅使用其中一个 用户可以合理地为后续运行选择不同的备选方案 大部分构建时间都花在编译备选方案上,当我知道每次只使用一个备选方案时,这令人沮丧。大部分运行时间都花在替代例程中,该例程很短,但调用了很多次 创意 将所有核心例程编译为本机可执行文件以及llvm位代码库的所有备选方案。在运行时,仅自动编译和链接选定的备选方案。这将有望节省大量的构建时间,并略微降低运行速度
如果您知道在编译时将使用哪些备选方案,那么最好修改您的构建系统,以便您可以选择应该编译哪些备选方案。但是如果您在运行时做出决定,那么我不明白为什么构建时间对您来说是个问题。用户是在运行时还是在编译时选择替代过程?如果是运行时,那么构建时应该没有问题,因为您只做了一次,并且每次运行没有额外的开销。如果他们必须重新编译以选择备用过程,那么这不是运行时选择,而是编译时选择。您能否确切说明用户如何选择备选方案?用户会编写一个文件,指定每次运行的配置。备选方案的选择就在那里。编译时间对于调试和测试来说很烦人。如果你能找到llvm编译器。。。我听说有人开始创建flang,但那只是开始阶段。然后解决方案是修改您的构建系统,使其只编译请求的备选方案。如果您知道在编译时将使用哪些备选方案,然后最好修改您的构建系统,以便您可以选择应该编译哪些备选方案。但是如果您在运行时做出决定,那么我不明白为什么构建时间对您来说是个问题。用户是在运行时还是在编译时选择替代过程?如果是运行时,那么构建时应该没有问题,因为您只做了一次,并且每次运行没有额外的开销。如果他们必须重新编译以选择备用过程,那么这不是运行时选择,而是编译时选择。您能否确切说明用户如何选择备选方案?用户会编写一个文件,指定每次运行的配置。备选方案的选择就在那里。编译时间对于调试和测试来说很烦人。如果你能找到llvm编译器。。。我听说有人开始创建flang,但那只是开始阶段。然后解决方案是修改您的构建系统,使其只编译请求的替代方案。