mesonbuild/meson

Speed-up compiler checks by parallelizing where possible

Open

#3,635 opened on 2018年5月26日

GitHub で見る
 (53 comments) (5 reactions) (0 assignees)Python (1,465 forks)batch import
compilersenhancementhelp wantedperf

Repository metrics

Stars
 (4,978 stars)
PR merge metrics
 (平均マージ 139d 13h) (30d で 51 merged PRs)

説明

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.

コントリビューターガイド