There are some possibilities for parallelization using go routines:
the slicer can parallelize the slice process for each layer
the slicer can also parallelize the makePolygons and GenerateLayerParts per layer
the modifier processes each modifier after each other, but some modifiers itself could parallelize the execution per layer, if they only use and modify data from one layer.
maybe the gcode generation could also be parallelized per layer and then the resulting gcode parts could be combined at the end.
There are some possibilities for parallelization using go routines: