Hi all,

I'm currently stress testing a setup with actors. What's the maximum number of running zactors? As it's using inproc no file descriptors are involved. I'm using this test:

    // mega zactor test
    zlist_t *spawned_act = zlist_new();
    for (int i=0;i<507;i++)
    {
        zactor_t *act = zactor_new(echo_actor, "Hello actor");
        assert(act);
        zlist_append(spawned_act, act);
    }
    while(zlist_size(spawned_act) > 0)
    {
        zactor_t *dstr = zlist_pop(spawned_act);
        zactor_destroy(&dstr);
    }

If I go beyond 507 actors I receive an assert:

src/zsock.c:88: zsock_new_checked: Assertion `self->handle' failed.

Which traces back to:

self->handle = zsys_socket (type, filename, line_nbr);

Which is a wrapper for creating a zmq socket.

Any ideas why there's is this limit of 507 actors?

I also tried with my own actor library which adds pub/sub sockets to the actor. I then have a maximum of 252 actors.

Rg,

Arnaud

_______________________________________________
zeromq-dev mailing list
[email protected]
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to