On Tue, 25 Aug 2015, SF Markus Elfring wrote:
> >> Does the parallelisation support need any more fine-tuning? > >> * How often is task preparation required before further data processing > >> can be performed in parallel? > >> > >> * Which programming interfaces do you prefer for the storage > >> of collected data in the fork-join work flow? > > > > No idea what either of these questions mean, but the whole point is that > > there is no join. > > This view needs an adjustment. > > A fork-join work flow is implemented by the Coccinelle software for > its main programs with the help of the application programming interface > "parmap", > isn't it? > https://rdicosmo.github.io/parmap/ Parmap only forks. It can join what is returned explicitly. The problem is that the scripting language environment is separate from the environment of Coccinelle itself. So there is no easy way to get the right values into the right variables. Coccinelle doesn't know anything about the variables of the ocaml or python scripts. > The manual contains the following information for this approach. > * Preparation for spawning subprocesses: > "This option furthermore creates a temporary directory in the directory > from which spatch is executed that has the name of the semantic patch > (without its extension) and that contains stdout and stderr files > generated by the various processes." > > * Actions for joining: > "When the semantic patch completes, the contents of these files are printed > to standard output and standard error, respectively, and the directory > is removed." Yes but stndard output is a global thing. > > I propose to reactivate the support for the SmPL rules "initialize" and > "finalize" > for all uses cases without unwanted software limitations. There is no way that Coccinelle can tell what is a "use case with an unwanted software limitation. Coccinelle doesn't know what the scripting code does. I would prefer not to promise a behavior that is not implemented. As I said before, if an unshared initialize and finalize are acceptable to you, then just use the preexisting parallelism solution, which is still supported. julia _______________________________________________ Cocci mailing list [email protected] https://systeme.lip6.fr/mailman/listinfo/cocci
