Re: [patch 1/2] fork_connector: add a fork connector

Evgeniy Polyakov
2005-03-30T14:15:15Z

Sorry for long delay - I was quite far from my test machines.
Here are results:

fork connector with turned off disk writes and direct connector's
methods calls.

pcix$ ./fork_test 100000
Average per process fork+exit time is 505 usecs [diff=50567251, max=100000].
pcix$ ./fork_test 100000
Average per process fork+exit time is 512 usecs [diff=51248174, max=100000].
pcix$ ./fork_test 100000
Average per process fork+exit time is 504 usecs [diff=50469379, max=100000].

fork connector with turned on disk writes and direct connector's
methods calls.
Each disk write has about 80 bytes which are:
time(&tm);
fprintf(out,
"%.24s : [%x.%x] [seq=%08x, ack=%08x] %s.\n",
ctime(&tm), data->id.idx, data->id.val,
data->seq, data->ack, (char *)data->data);

pcix$ ./fork_test 100000
Average per process fork+exit time is 539 usecs [diff=53944663, max=100000].
pcix$ ./fork_test 100000
Average per process fork+exit time is 523 usecs [diff=52378314, max=100000].
pcix$ ./fork_test 100000
Average per process fork+exit time is 540 usecs [diff=54078648, max=100000].

CBUS results.

Writing disabled:

pcix$ ./fork_test 100000
Average per process fork+exit time is 451 usecs [diff=45194377, max=100000].
pcix$ ./fork_test 100000
Average per process fork+exit time is 454 usecs [diff=45416470, max=100000].
pcix$ ./fork_test 100000
Average per process fork+exit time is 448 usecs [diff=44863153, max=100000].
pcix$ ./fork_test 100000
Average per process fork+exit time is 453 usecs [diff=45312870, max=100000].
pcix$

Writing enabled like described above:

pcix$ ./fork_test 100000
Average per process fork+exit time is 456 usecs [diff=45680384, max=100000].
pcix$ ./fork_test 100000
Average per process fork+exit time is 455 usecs [diff=45590682, max=100000].
pcix$ ./fork_test 100000
Average per process fork+exit time is 453 usecs [diff=45376436, max=100000].
pcix$

fork connector is not compiled in:

Average per process fork+exit time is 452 usecs [diff=45280538, max=100000].
pcix$ ./fork_test 100000
Average per process fork+exit time is 446 usecs [diff=44687388, max=100000].
pcix$ ./fork_test 100000
Average per process fork+exit time is 445 usecs [diff=44505999, max=100000].
pcix$ ./fork_test 100000

With 80 bytes write per fork with CBUS it takes from 0.5% to 2.5%.
So it still can be used for accounting :)

--
Evgeniy Polyakov