Multiple .create_agent performance issue

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Multiple .create_agent performance issue

Frolov Vyacheslav
Hi All,

There is a performance issue with creating transient agents with different names.

I've attached example that shows the performance degration after creating/killing 150000 agents:

[test] Started 1*10000 agents in 12628ms
[test] Started 2*10000 agents in 8874ms
[test] Started 3*10000 agents in 8652ms
[test] Started 4*10000 agents in 8776ms
[test] Started 5*10000 agents in 9718ms
[test] Started 6*10000 agents in 8347ms
[test] Started 7*10000 agents in 8382ms
[test] Started 8*10000 agents in 8433ms
[test] Started 9*10000 agents in 8443ms
[test] Started 10*10000 agents in 9513ms
[test] Started 11*10000 agents in 9087ms
[test] Started 12*10000 agents in 9172ms
[test] Started 13*10000 agents in 10027ms
[test] Started 14*10000 agents in 9762ms
[test] Started 15*10000 agents in 179870ms
[test] Started 16*10000 agents in 201946ms
[test] Started 17*10000 agents in 224414ms
[test] Started 18*10000 agents in 234145ms
[test] Started 19*10000 agents in 262085ms
[test] Started 20*10000 agents in 248960ms

For comparison, if create agents with periodic names (comment "I1 = I" and uncomment "I1 = NUM") then there is no performance degration:

[test] Started 1*10000 agents in 12590ms
[test] Started 2*10000 agents in 8763ms
[test] Started 3*10000 agents in 8549ms
[test] Started 4*10000 agents in 8586ms
[test] Started 5*10000 agents in 8566ms
[test] Started 6*10000 agents in 8560ms
[test] Started 7*10000 agents in 8561ms
[test] Started 8*10000 agents in 8576ms
[test] Started 9*10000 agents in 8589ms
[test] Started 10*10000 agents in 8571ms
[test] Started 11*10000 agents in 8650ms
[test] Started 12*10000 agents in 8580ms
[test] Started 13*10000 agents in 8593ms
[test] Started 14*10000 agents in 9476ms
[test] Started 15*10000 agents in 7925ms
[test] Started 16*10000 agents in 7923ms
[test] Started 17*10000 agents in 7959ms
[test] Started 18*10000 agents in 7987ms
[test] Started 19*10000 agents in 7870ms
[test] Started 20*10000 agents in 7897ms
[test] Started 21*10000 agents in 8027ms
[test] Started 22*10000 agents in 8019ms
[test] Started 23*10000 agents in 8019ms
[test] Started 24*10000 agents in 8253ms
[test] Started 25*10000 agents in 8197ms
[test] Started 26*10000 agents in 8196ms
[test] Started 27*10000 agents in 8204ms
[test] Started 28*10000 agents in 8237ms
[test] Started 29*10000 agents in 8972ms
[test] Started 30*10000 agents in 8131ms
[test] Started 31*10000 agents in 8110ms
[test] Started 32*10000 agents in 8108ms
[test] Started 33*10000 agents in 8297ms
[test] Started 34*10000 agents in 8126ms
[test] Started 35*10000 agents in 8227ms
[test] Started 36*10000 agents in 8134ms
[test] Started 37*10000 agents in 8214ms
[test] Started 38*10000 agents in 8254ms
[test] Started 39*10000 agents in 8180ms
[test] Started 40*10000 agents in 8264ms

Possible it's because TransitionSystem::setLogger creates logger for each new agent name:

       logger = Logger.getLogger(TransitionSystem.class.getName() + "." + arch.getAgName());


This email is sponsored by Windows:

Build for Windows Store.
Jason-users mailing list
[hidden email]

test.asl (722 bytes) Download Attachment
agent.asl (126 bytes) Download Attachment
my1.mas2j (154 bytes) Download Attachment