Bindings generation spawns sub processes for each idl files, but fork/exec pattern is very slow on Windows. To reduce the process generation, control script can pass several files at once to the process. Here is a statistics for 796 idl files: Current imprementation: 386 secs Batching 10 files: 63 secs Aggressive approach: 36 secs (rest of files / number of process)
Created attachment 327472 [details] patch
Created attachment 327708 [details] fix
I'm ok with this as long as Sam doesn't object.
Comment on attachment 327708 [details] fix View in context: https://bugs.webkit.org/attachment.cgi?id=327708&action=review > Source/WebCore/bindings/scripts/generate-bindings-all.pl:167 > + my $batchCount = 30; > + # my $batchCount = int(($totalCount - $currentCount) / $numOfJobs) || 1; Let's not comment out a line. Also, the second line isn't quite right either. As it is it strangely gives smaller batches as work progresses. Let's do something more like $totalCount / $numOfJobs.
Created attachment 328537 [details] fixed fixed as Alex reviewed.
Comment on attachment 328537 [details] fixed Clearing flags on attachment: 328537 Committed r225565: <https://trac.webkit.org/changeset/225565>
All reviewed patches have been landed. Closing bug.
<rdar://problem/35896591>