|
Boost Users : |
From: Beman Dawes (bdawes_at_[hidden])
Date: 2004-12-16 17:19:04
At 09:17 AM 12/15/2004, Caleb Epstein wrote:
>On Mon, 13 Dec 2004 09:01:01 -0800, Frank Maddin <frankmad_at_[hidden]>
>wrote:
>
>> We've been thinking about using certain boost functionality on a
project.
>
>> We were trying to keep the number of allocations down.
>
>See the attached test program which makes the Hello class "noisy" and
>runs two different versions of your signals test. One uses object
>copy semantics and the other uses reference semantics. Compare the
>output:
>
>copy test:
>Hello::Hello () @ 0xbfffb950
>Hello::Hello (const ref) @ 0xbfffb8c0
>Hello::Hello (const ref) @ 0xbfffb870
>Hello::Hello (const ref) @ 0xbfffb830
>Hello::Hello (const ref) @ 0xbfffb7e0
>Hello::Hello (const ref) @ 0x8050fb0
>Hello::~Hello @ 0xbfffb7e0
>Hello::~Hello @ 0xbfffb830
>Hello::~Hello @ 0xbfffb870
>Hello::~Hello @ 0xbfffb8c0
>Hello::Hello (const ref) @ 0x8050fc0
>Hello::Hello (const ref) @ 0x8050fc8
>Hello::Hello (const ref) @ 0x8050fd0
>Hello::~Hello @ 0x8050fc8
>Hello::~Hello @ 0x8050fc0
>Hello::~Hello @ 0x8050fb0
>i = 1968
>Hello::~Hello @ 0x8050fd0
>Hello::~Hello @ 0xbfffb950
>
>ref test:
>Hello::Hello () @ 0xbfffb950
>i = 1968
>Hello::~Hello @ 0xbfffb950
Wow! That is a pretty substantial difference.
Seems like the signals docs should make a point of explaining the
efficiency gained by using ref. Or maybe they do, but I didn't find
anything in several minutes of poking around the docs. There is no table of
contents entry like "Efficiency considerations" or similar.
--Beman
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net