RFC: pch support

Steven Edwards winehacker at gmail.com
Wed Jan 11 23:08:11 CST 2006

Alexandre did not like the needed changes required to add support for
this but I figured I would throw it out for debate anyway in case
anyone else can make him change his mind (duck). The issue is he does
not like needing a single header per-program or per dll. After doing
some research it seems to me that even MSVC does not support multiple
PCH files per project so I don't know how it could be fixed in gcc to
do it Microsoft has not figured it out.

ccache works great for speeding up compiles but seems to still have
issue with some header changes. Also the ReactOS guys really want to
add pch support to the Wine dlls that are shared so the job falls to
me to sell it to Wine.

Below are the benchmarks from my box and a patch. Simply patch your
tree and then ./configure and cd to the regedit folder and do a 'time
make','make clean','make pch', and 'time make' if you want to see the
speedup on your box. I expect we could get a 2x speedup in fresh
compiles of Wine with pch support

Regedit compile without pch

real    0m5.632s
user    0m5.000s
sys     0m0.524s

Regedit compile with pch

real    0m2.797s
user    0m2.352s
sys     0m0.428s

Steven Edwards - ReactOS and Wine developer

"There is one thing stronger than all the armies in the world, and
that is an idea whose time has come." - Victor Hugo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gch.diff
Type: text/x-patch
Size: 10104 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20060112/49d1a72e/gch-0001.diff

More information about the wine-devel mailing list