@@ -321,9 +321,8 @@ private void completeNoViterbi(final int position,
321321 ) {
322322 if (states == null || states .size () <= 0 ) return ;
323323
324-
325324 final DeferredStateScoreComputations newStates = new DeferredStateScoreComputations (stateSets .grammar .semiring );
326- Stream < StateInformationTriple > stream = states .stream ()
325+ List < Complete . Delta > deltas = states .stream ()
327326 // For all states
328327 // i: Y<sub>j</sub> → value· [a",y"]
329328 // j: X<sub>k</suv> → l·Zm [a',y']
@@ -333,13 +332,10 @@ private void completeNoViterbi(final int position,
333332
334333 // WARNING: shared mutated mutability
335334 .sequential ()
336- .map (completedState -> new StateInformationTriple (null , completedState , addInnerScores .getOrCreate (completedState , stateSets .innerScores .getAtom (completedState ))));
337-
338- /* Safe to parallelize here */
339- if (parallelizeComplete ) stream = stream .parallel ();
340-
341- List <Complete .Delta > deltas = stream
335+ .map (completedState -> new StateInformationTriple (null , completedState , addInnerScores .getOrCreate (completedState , stateSets .innerScores .getAtom (completedState ))))
336+ // TODO can/want parallelize this?
342337 .flatMap (stateSets .activeStates ::streamAllStatesToAdvance )
338+ .sequential ()
343339 .map (stateInformation -> completeNoViterbiForTriple (
344340 position ,
345341 addInnerScores .getOrCreate (stateInformation .stateToAdvance , stateSets .innerScores .getAtom (stateInformation .stateToAdvance )),
@@ -396,9 +392,7 @@ private void computeViterbiScoresForCompletedState(
396392 int completedPos = completedState .position ;
397393 final Set <State > statesToAdvance = stateSets .activeStates .getStatesActiveOnNonTerminal (Yl , completedState .ruleStartPosition , completedPos );
398394 if (statesToAdvance != null && statesToAdvance .size () > 0 ) {
399- Stream <State > stream = statesToAdvance .stream ();
400- /* Safe to parallelize here */
401- if (parallelizeComplete ) stream = stream .parallel ();
395+ Stream <State > stream = (parallelizeComplete ? statesToAdvance .parallelStream () : statesToAdvance .stream ());
402396 Collection <Complete .ViterbiDelta > newStates = stream
403397 .map ((stateToAdvance ) -> computeViterbiForState (completedState , completedViterbi , stateToAdvance ))
404398 .filter (d -> d != null )
0 commit comments