1
0
mirror of https://github.com/gsi-upm/soil synced 2024-11-14 23:42:29 +00:00
soil/benchmarks/noop/soilent_async_pqueue.py

28 lines
637 B
Python
Raw Normal View History

2023-05-03 10:07:55 +00:00
from soil import Agent, Environment
2023-05-19 14:19:50 +00:00
from soil.time import SoilentPQueueActivation
2023-05-03 10:07:55 +00:00
class NoopAgent(Agent):
num_calls = 0
async def step(self):
while True:
self.num_calls += 1
await self.delay()
class NoopEnvironment(Environment):
num_agents = 100
2023-05-19 14:19:50 +00:00
schedule_class = SoilentPQueueActivation
2023-05-03 10:07:55 +00:00
def init(self):
self.add_agents(NoopAgent, k=self.num_agents)
self.add_agent_reporter("num_calls")
if __name__ == "__main__":
from _config import *
res = run_sim(model=NoopEnvironment)
for r in res:
2023-05-19 14:19:50 +00:00
assert isinstance(r.schedule, SoilentPQueueActivation)