ChuanqiXu9 wrote:

Please understand the concerning for maintainabilities. It really scares to see 
a patch with 5k lines of change for a brand new  feature. Especially the human 
resources for clang/C++ core developers are really limited. We have to be 
careful. 

Back to the patch itself, the most concerning/confusing point is, to my 
experience, the bottleneck of a build process generally comes from the compiler 
itself instead of the build system or the communications between compiler and 
build system. In complex real world projects I've seen, most compilation time 
is spent on template instantiations and middle/back end optimizations.

Amdahl's law tells us, the  overall speedup of an optimization to a subsystem 
is limited to the ratio of subsystem to the whole system. My concern/problem 
is, is it worthy to introduce such a big feature to optimize the cold part of 
the whole process? **especially the new model is not widely proved**. 

The prove consists two parts:
- We need to see the proportion of the cost of build system itself and the cost 
of communications between build system and compilers within the entire build 
process for a big/complex projects.
- Then it is how good the new model is.

---

Besides the new model, for HMake, I'm really appreciating what you have done. 
But to be honest, HMake needs more users/ successful cases to show it is good 
so that more tools can support the new model it raised. Build systems are not 
hard but very complex. Due to the complexity, converting a build system is not 
easy. No one I know fevers to write build scripts. So I feel it is hard for 
HMake to get new users today. Then it is an egg and chicken problem if HMake 
really needs the patch. I'm sorry for that. But as I said, we have to be 
careful. 

If HMake is really really good, and the changes in clang are necessary, I do 
think you can make it with a plugin or with a fork, then it is a simpler 

https://github.com/llvm/llvm-project/pull/147682
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to