2015-11-12 111 views
0

我們正在嘗試改進我們在OptaPlanner中實施的計劃問題的性能。我們的模型有約45,000個鏈變量,在分析應用程序後,似乎主要的瓶頸是克隆。大約90%的CPU運行時間被FieldAccessingSolutionCloner方法調用消耗。解決方案克隆性能提示

我們已經努力使我們的對象模型更加輕便減少Maps和PlanningEntities內設置的數量,改變字段元在可能的情況,但是從自己的經驗OptaPlanner您有關於如何加快克隆任何意見性能?

+0

部分重複[此郵件列表問題](https://groups.google.com/forum/#!topic/optaplanner-dev/zBAc2Bz1eAQ) –

+0

是的,我的同事也在尋找潛在的解決方案。我們最終做了一個有着巨大差異的定製克隆人。 – Alastair

+1

增量解決方案克隆理念https://issues.jboss.org/browse/PLANNER-818 https://stackoverflow.com/questions/44170732/solution-cloning-happening-at-steps-that-produce-a-new-最好的得分數在一個排 –

回答

2

您是否試過編寫定製克隆器?請參閱文檔。 默認的需要依賴反射,因此速度較慢。

而且,你的域模型的結構影響你需要多少克隆(不管你去定製與否): 如果您刪除的解決方案和規劃實體類,做你的其他領域類仍然編譯? 如果是,那麼克隆是最小的。如果不是,那不是。