2017-06-24 6 views
0

私は春のステートマシンを使ってゲームを開発しました。ピーク時には約5000のステートマシンが作成され、各ステートマシンは約25ステートになります。しかし、パフォーマンステストから、多くのオブジェクトが作成され、メモリが消費され、GCパフォーマンスが低下することがわかりました。 私の選択肢として、ObjectStateのように変更できないオブジェクトもあります。すべてのステートマシンで再利用できます。しかし、それはそれぞれのために作成されます。春のステートマシンのメモリcomsume

スプリングステートマシンの性能問題ですか?それとも私の誤った使い方ですか?

10: 104192 10002432 org.springframework.statemachine.state.ObjectState 
15: 208398 6668736 org.springframework.statemachine.support.OrderedCompositeItem 
17: 397839 6365424 org.springframework.core.annotation.AnnotationAwareOrderComparator 
18: 189440 6062080 org.springframework.statemachine.listener.OrderedComposite 
26: 71040 4546560 org.springframework.statemachine.trigger.TimerTrigger 
27: 89984 4319232 org.springframework.statemachine.transition.DefaultExternalTransition 
30: 203648 3258368 org.springframework.statemachine.action.CompositeActionListener 
42: 71040 1704960 org.springframework.statemachine.support.DefaultStateMachineExecutor$2 
45: 104192 1667072 org.springframework.statemachine.support.AbstractStateMachine$4 
46: 104192 1667072 org.springframework.statemachine.state.CompositeStateListener 

答えて

2

これはすべてのマシンで作成されています。それらが一度作成されてから、間違いなくゴミを減らすために、他のインスタンス間で何らかの形で共有されるのは面白い考えです。これについてgh問題を作成してもよろしいですか?

関連する問題