Oi,
Desculpe se a pergunta é boba, mas é possível construir H2O com otimização guiada por perfil?
Cumprimentos,
PGO é um recurso de compilador e, sim, você pode.
Obrigado @meritozh pela sua resposta.
Por acaso, você sabe fazer isso?
Eu tentei isso:
env CXXFLAGS='-march=native -fprofile-dir=/src/h2o/pgo -fprofile-generate=/src/h2o/pgo' cmake -DWITH_MRUBY=on
make
Depois de instalar, parar / iniciar H2O, acessar uma página, parar H2O, eu esperava que os arquivos fossem gravados na pasta / src / h2o / pgo (para alimentar o fprofile-use na próxima compilação). Mas a pasta pgo permanece vazia.
Use sinalizadores CMAKE_C_FLAGS
, seu c , não c ++ . h2o use cmake, então você deve modificar _CMakeLists.txt_, use cmake variáveis embutidas para sobrescrever o comportamento padrão. E lembre-se, limpe todos os arquivos gerados pelo cmake primeiro.
O que @meritozh diz. Embora IIRC você não precise modificar CMakeLists.txt. O CMakeLists.txt de H2O herda a variável de ambiente CMAKE_C_FLAGS
ao ser definido (consulte https://github.com/h2o/h2o/blob/master/CMakeLists.txt#L206).
Obrigado @meritozh e @kazuho !
Comentários muito úteis
Use sinalizadores
CMAKE_C_FLAGS
, seu c , não c ++ . h2o use cmake, então você deve modificar _CMakeLists.txt_, use cmake variáveis embutidas para sobrescrever o comportamento padrão. E lembre-se, limpe todos os arquivos gerados pelo cmake primeiro.