On Sat, 14 May 2011, SF Markus Elfring wrote: > > Fine-grained parallelism is complicated, > > I agree that it would need additional development efforts. > > > > and just running Coccinelle separately on separate files already gives > > a big performance improvement. > > Are there any more developers or software testers who would like to improve > the run time characteristics of your tools even further? > > > > If someone wants to look into it, however, I would be willing to help with > > the integration into the rest of the implementation. > > Would you like to identify any processing tasks that are candidates for > improved parallelisation?
I don't know. The problem is that there are often dependencies between things. For example, parsing is slow, so perhaps one could parallelize the parsing of header files. But if the point of parsing the header file is to obtain typedef information, then perhaps parallisation is not possible. On the other hand, if it is only to obtain type information, then the header files could be parsed in parallel, because the type checking is after the complete parsing. If one knew in advance that only type information was needed, perhaps that would be an easy opportunity for parallelisation. Each rule is evaluated with respect to each incoming environment of inherited metavariables. These applications really are independent of each other and there can be many of them. The problem is that the processing of a single rule might be very small, and thus not worth forking a process for. But perhaps they could be grouped in some way. Iteration could be done in parallel. But there would need to be some coordination of the worklist that is accumulated, to avoid generating multiple copies of the same job. If individual rules are completely independent, then their application could be parallelized, but probably this does not happen very often in a very useful way. julia _______________________________________________ Cocci mailing list [email protected] http://lists.diku.dk/mailman/listinfo/cocci (Web access from inside DIKUs LAN only)
