     "The mapping of dsl-expressions to processing functions."
     :default [5 5 4 3]
     :parse-fn #(binding [*read-eval* false] (read-string %))]
+   ["-p" "--partition-size PARTITION-SIZE"
+    "The size of the partitions that are used for the reducer-based processing."
+    :default 128
+    :parse-fn #(Integer/parseInt %)]
    ["-s" "--scenario SCENARIO"
     "The scenario that is to be used."
     :default "no-op"]

                          (direct-proc-fn in-data)
                          (.inc out-cntr))
                      (.endsWith scenario "-pmap")
                        (let [d (repeat queue-size in-data)]
                          (doall d)
                          (fn []
                            (doseq [_ (pmap direct-proc-fn d)]
                              (.inc out-cntr))))
                      (.endsWith scenario "-reducers-map")
                        (let [in-vec (vec (repeat (* 512 pipeline-length) in-data))]
                          (doall in-vec)
                          (fn []
                            (doseq [
                                    ;_ (reducers/foldcat (reducers/map direct-proc-fn in-vec))
                                    _ (reducers/fold 16 reducers/cat reducers/append! (reducers/map direct-proc-fn in-vec))
                                    ]
                              (.inc out-cntr))))
                      (.endsWith scenario "-async-pipeline")

                                 (in-fn in-data)
                                 (.inc in-cntr)))
          direct-proc-fn (create-direct-proc-fn scenario)
          collection-size (:collection-size options)
          partition-size (:partition-size options)
          in-loop (ProcessingLoop.
                    "DataGenerationLoop"
                    (cond
