mesonbuild/meson

Speed-up compiler checks by parallelizing where possible

Open

#3.635 aberto em 26 de mai. de 2018

Ver no GitHub
 (53 comments) (5 reactions) (0 assignees)Python (1.465 forks)batch import
compilersenhancementhelp wantedperf

Métricas do repositório

Stars
 (4.978 stars)
Métricas de merge de PR
 (Mesclagem média 139d 13h) (51 fundiu PRs em 30d)

Description

Some compiler checks can be parallelized, for example:

  • get_supported_arguments()
  • get_supported_link_arguments()
  • cross_compute_int(): there are two branches at each guess, so we can run both at the same time, which will improve the worst-case time.

We should also add map-like API for batch-processing several has_function() and has_header() checks at once and sets values in a configuration_data() object, usually of the form:

cdata = configuration_data()
if cc.has_function(func_name, prefix: includes)
   cdata.set(func_name.to_upper().underscorify())
endif

Usually this requires lambda support (or similar) to be able to do this, but since the function in this case is almost always the same, we can hard-code it in Meson. It would be a good default in case we want to extend it later anyway.

Guia do colaborador