26 using namespace gtsam;
49 int main(
int argc,
char *argv[]) {
51 size_t trials = 10000000;
53 gttic_(heap_plain_alloc_dealloc);
54 for(
size_t i=0;
i<trials; ++
i) {
58 gttoc_(heap_plain_alloc_dealloc);
60 gttic_(heap_virtual_alloc_dealloc);
61 for(
size_t i=0;
i<trials; ++
i) {
65 gttoc_(heap_virtual_alloc_dealloc);
67 gttic_(stack_plain_alloc_dealloc);
68 for(
size_t i=0;
i<trials; ++
i) {
71 gttoc_(stack_plain_alloc_dealloc);
73 gttic_(stack_virtual_alloc_dealloc);
74 for(
size_t i=0;
i<trials; ++
i) {
77 gttoc_(stack_virtual_alloc_dealloc);
79 gttic_(shared_plain_alloc_dealloc);
80 for(
size_t i=0;
i<trials; ++
i) {
81 std::shared_ptr<Plain> obj(
new Plain(
i));
83 gttoc_(shared_plain_alloc_dealloc);
85 gttic_(shared_virtual_alloc_dealloc);
86 for(
size_t i=0;
i<trials; ++
i) {
87 std::shared_ptr<Virtual> obj(
new Virtual(
i));
89 gttoc_(shared_virtual_alloc_dealloc);
92 gttic_(heap_plain_alloc_dealloc_call);
93 for(
size_t i=0;
i<trials; ++
i) {
98 gttoc_(heap_plain_alloc_dealloc_call);
100 gttic_(heap_virtual_alloc_dealloc_call);
101 for(
size_t i=0;
i<trials; ++
i) {
106 gttoc_(heap_virtual_alloc_dealloc_call);
108 gttic_(stack_plain_alloc_dealloc_call);
109 for(
size_t i=0;
i<trials; ++
i) {
113 gttoc_(stack_plain_alloc_dealloc_call);
115 gttic_(stack_virtual_alloc_dealloc_call);
116 for(
size_t i=0;
i<trials; ++
i) {
120 gttoc_(stack_virtual_alloc_dealloc_call);
122 gttic_(shared_plain_alloc_dealloc_call);
123 for(
size_t i=0;
i<trials; ++
i) {
124 std::shared_ptr<Plain> obj(
new Plain(
i));
127 gttoc_(shared_plain_alloc_dealloc_call);
129 gttic_(shared_virtual_alloc_dealloc_call);
130 for(
size_t i=0;
i<trials; ++
i) {
131 std::shared_ptr<Virtual> obj(
new Virtual(
i));
134 gttoc_(shared_virtual_alloc_dealloc_call);
136 gttic_(intrusive_virtual_alloc_dealloc_call);
137 for(
size_t i=0;
i<trials; ++
i) {
141 gttoc_(intrusive_virtual_alloc_dealloc_call);