|
Boost : |
From: Robert Zeh (razeh_at_[hidden])
Date: 2005-03-30 21:28:47
After consulting with Doug Gregor I've done some more work on signals
performance. The patch I've attached removes the pImpl idiom in
named_slot_map and iterator_facade.
The signals regression tests still past.
The performance numbers look better. Here are the speed test numbers
from the current boost CVS.
===== 1000 Total Calls =====
Num Slots Calls/Slot Boost Lite
--------- ---------- ------- -------
1 1000 0.0306 0.0003
10 100 0.0087 0.0001
50 20 0.0067 0.0001
100 10 0.0065 0.0001
250 4 0.0064 0.0001
500 2 0.0064 0.0001
1000 1 0.0069 0.0003
===== 10000 Total Calls =====
Num Slots Calls/Slot Boost Lite
--------- ---------- ------- -------
1 10000 0.2996 0.0027
10 1000 0.0848 0.0010
50 200 0.0669 0.0010
100 100 0.0645 0.0008
250 40 0.0666 0.0008
500 20 0.0677 0.0010
1000 10 0.0697 0.0010
5000 2 0.0679 0.0031
10000 1 0.0758 0.0034
===== 100000 Total Calls =====
Num Slots Calls/Slot Boost Lite
--------- ---------- ------- -------
1 100000 3.0874 0.0270
10 10000 0.8717 0.0098
50 2000 0.6830 0.0082
100 1000 0.6758 0.0075
250 400 0.6560 0.0075
500 200 0.6682 0.0082
1000 100 0.7176 0.0164
5000 20 0.7018 0.0445
10000 10 0.7027 0.0369
50000 2 0.7033 0.0345
100000 1 0.7202 0.0346
===== 1000000 Total Calls =====
Num Slots Calls/Slot Boost Lite
--------- ---------- ------- -------
1 1000000 29.9847 0.2791
10 100000 8.6300 0.0956
50 20000 6.8220 0.0792
100 10000 6.5083 0.0778
250 4000 6.3998 0.0744
500 2000 6.6824 0.0845
1000 1000 7.2043 0.2038
5000 200 7.0582 0.3525
10000 100 7.1081 0.3722
50000 20 7.1853 0.4216
100000 10 7.2921 0.4401
500000 2 7.8380 0.3574
And the numbers after the pImpl removal:
===== 1000 Total Calls =====
Num Slots Calls/Slot Boost Lite
--------- ---------- ------- -------
1 1000 0.0025 0.0003
10 100 0.0008 0.0001
50 20 0.0006 0.0001
100 10 0.0006 0.0001
250 4 0.0006 0.0001
500 2 0.0006 0.0001
1000 1 0.0011 0.0003
===== 10000 Total Calls =====
Num Slots Calls/Slot Boost Lite
--------- ---------- ------- -------
1 10000 0.0255 0.0026
10 1000 0.0074 0.0009
50 200 0.0060 0.0008
100 100 0.0056 0.0007
250 40 0.0057 0.0007
500 20 0.0064 0.0009
1000 10 0.0107 0.0009
5000 2 0.0114 0.0031
10000 1 0.0120 0.0034
===== 100000 Total Calls =====
Num Slots Calls/Slot Boost Lite
--------- ---------- ------- -------
1 100000 0.2454 0.0260
10 10000 0.0733 0.0090
50 2000 0.0580 0.0074
100 1000 0.0599 0.0071
250 400 0.0576 0.0073
500 200 0.0626 0.0079
1000 100 0.1244 0.0152
5000 20 0.1374 0.0371
10000 10 0.1293 0.0367
50000 2 0.1182 0.0321
100000 1 0.1319 0.0341
===== 1000000 Total Calls =====
Num Slots Calls/Slot Boost Lite
--------- ---------- ------- -------
1 1000000 2.4575 0.2629
10 100000 0.7389 0.0912
50 20000 0.6037 0.0759
100 10000 0.5682 0.0819
250 4000 0.5722 0.0721
500 2000 0.6760 0.0866
1000 1000 1.2747 0.1984
5000 200 1.3177 0.3473
10000 100 1.3181 0.3803
50000 20 1.3439 0.4049
100000 10 1.3590 0.4173
500000 2 1.2095 0.3369
All of the numbers are from my Debian 650 MHz Duron.
Robert Zeh
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk