This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: performance testresults


Hi,

this looks a bit strange to me since it doesn't match my testresults (outside of the libstdc++ testsuite). I know, I should find the answer to this myself but I have not access to the machine where I have the required tools (tcl etc) right now...
...are the single threaded tests compiled with -pthread or not? When compiled with -pthread on a single threaded application mt allocator is about 10-20% slower than raw malloc in this kind of test.


Also, if one modifies the test to call do_loop(obj); twice the results are quite different...
...at least on Linux where I have done the tests/development. This is due to the fact that the second time, free memory is "found" much faster by mt allocator than by malloc.


Brgds

/Stefan

Benjamin Kosnik wrote:

So, just for fun, here are the results for today's libstdc++.

Now that there are results for map and set, it looks pretty bleak!

-benjamin



------------------------------------------------------------------------

allocator.cc iterations: 100000 type: __gnu_norm::vector<int, __gnu_cxx::malloc_allocator<int> >
allocator.cc 55r 29u 26s 0mem 11pf allocator.cc iterations: 100000 type: __gnu_norm::vector<int, __gnu_cxx::new_allocator<int> >
allocator.cc 54r 35u 19s 0mem 15pf allocator.cc iterations: 100000 type: __gnu_norm::vector<int, __gnu_cxx::__mt_alloc<int> >
allocator.cc 56r 34u 22s 25216mem 17pf allocator.cc iterations: 100000 type: __gnu_norm::list<int, __gnu_cxx::malloc_allocator<int> >
allocator.cc 256r 216u 40s 204800000mem 10pf allocator.cc iterations: 100000 type: __gnu_norm::list<int, __gnu_cxx::new_allocator<int> >
allocator.cc 274r 229u 45s 204800000mem 12pf allocator.cc iterations: 100000 type: __gnu_norm::list<int, __gnu_cxx::__mt_alloc<int> >
allocator.cc 153r 86u 64s 307806648mem 13pf allocator.cc iterations: 100000 type: __gnu_norm::deque<int, __gnu_cxx::malloc_allocator<int> >
allocator.cc 52r 35u 17s 51999960mem 3pf allocator.cc iterations: 100000 type: __gnu_norm::deque<int, __gnu_cxx::new_allocator<int> >
allocator.cc 58r 47u 11s 51999960mem 5pf allocator.cc iterations: 100000 type: __gnu_norm::deque<int, __gnu_cxx::__mt_alloc<int> >
allocator.cc 94r 85u 9s 52004088mem 5pf allocator.cc iterations: 100000 type: __gnu_norm::map<int, int, std::less<int>, __gnu_cxx::malloc_allocator<int> >
allocator.cc 943r 359u 88s 409600000mem 10pf allocator.cc iterations: 100000 type: __gnu_norm::map<int, int, std::less<int>, __gnu_cxx::new_allocator<int> >
allocator.cc 453r 358u 94s 409600000mem 12pf allocator.cc iterations: 100000 type: __gnu_norm::map<int, int, std::less<int>, __gnu_cxx::__mt_alloc<int> >
allocator.cc 1511r 249u 132s 513007896mem 14pf allocator.cc iterations: 100000 type: __gnu_norm::set<int, std::less<int>, __gnu_cxx::malloc_allocator<int> >
allocator.cc 398r 343u 55s 307200000mem 10pf allocator.cc iterations: 100000 type: __gnu_norm::set<int, std::less<int>, __gnu_cxx::new_allocator<int> >
allocator.cc 420r 358u 62s 307200000mem 12pf allocator.cc iterations: 100000 type: __gnu_norm::set<int, std::less<int>, __gnu_cxx::__mt_alloc<int> >
allocator.cc 698r 252u 96s 513007896mem 14pf allocator.cc-thread iterations: 100000 type: __gnu_norm::vector<int, __gnu_cxx::malloc_allocator<int> >
allocator.cc-thread 56r 29u 27s 0mem 8pf allocator.cc-thread iterations: 100000 type: __gnu_norm::vector<int, __gnu_cxx::new_allocator<int> >
allocator.cc-thread 55r 35u 20s 0mem 12pf allocator.cc-thread iterations: 100000 type: __gnu_norm::vector<int, __gnu_cxx::__mt_alloc<int> >
allocator.cc-thread 56r 33u 23s 582536mem 18pf allocator.cc-thread iterations: 100000 type: __gnu_norm::list<int, __gnu_cxx::malloc_allocator<int> >
allocator.cc-thread 248r 211u 37s 204800000mem 7pf allocator.cc-thread iterations: 100000 type: __gnu_norm::list<int, __gnu_cxx::new_allocator<int> >
allocator.cc-thread 280r 225u 54s 204800000mem 9pf allocator.cc-thread iterations: 100000 type: __gnu_norm::list<int, __gnu_cxx::__mt_alloc<int> >
allocator.cc-thread 206r 131u 75s 308363968mem 14pf allocator.cc-thread iterations: 100000 type: __gnu_norm::deque<int, __gnu_cxx::malloc_allocator<int> >
allocator.cc-thread 52r 43u 9s 51999960mem 3pf allocator.cc-thread iterations: 100000 type: __gnu_norm::deque<int, __gnu_cxx::new_allocator<int> >
allocator.cc-thread 57r 49u 8s 51999960mem 5pf allocator.cc-thread iterations: 100000 type: __gnu_norm::deque<int, __gnu_cxx::__mt_alloc<int> >
allocator.cc-thread 94r 84u 10s 52004088mem 5pf allocator.cc-thread iterations: 100000 type: __gnu_norm::map<int, int, std::less<int>, __gnu_cxx::malloc_allocator<int> >
allocator.cc-thread 436r 352u 84s 409600000mem 7pf allocator.cc-thread iterations: 100000 type: __gnu_norm::map<int, int, std::less<int>, __gnu_cxx::new_allocator<int> >
allocator.cc-thread 449r 360u 89s 409600000mem 9pf allocator.cc-thread iterations: 100000 type: __gnu_norm::map<int, int, std::less<int>, __gnu_cxx::__mt_alloc<int> >
allocator.cc-thread 753r 310u 118s 513565216mem 15pf allocator.cc-thread iterations: 100000 type: __gnu_norm::set<int, std::less<int>, __gnu_cxx::malloc_allocator<int> >
allocator.cc-thread 374r 324u 50s 307200000mem 7pf allocator.cc-thread iterations: 100000 type: __gnu_norm::set<int, std::less<int>, __gnu_cxx::new_allocator<int> >
allocator.cc-thread 393r 331u 62s 307200000mem 9pf allocator.cc-thread iterations: 100000 type: __gnu_norm::set<int, std::less<int>, __gnu_cxx::__mt_alloc<int> >
allocator.cc-thread 823r 300u 115s 513565216mem 15pf allocator_map_thread.cc-thread iterations: 25000 type: __gnu_norm::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > >
allocator_map_thread.cc-thread 90r 0u 0s 144mem 9pf allocator_map_thread.cc-thread iterations: 25000 type: __gnu_norm::map<int, int, std::less<int const>, __gnu_cxx::new_allocator<int> >
allocator_map_thread.cc-thread 86r 0u 0s 0mem 9pf allocator_map_thread.cc-thread iterations: 25000 type: __gnu_norm::map<int, int, std::less<int const>, __gnu_cxx::malloc_allocator<int> >
allocator_map_thread.cc-thread 78r 0u 0s 216mem 9pf allocator_map_thread.cc-thread iterations: 25000 type: __gnu_norm::map<int, int, std::less<int const>, __gnu_cxx::__mt_alloc<std::pair<int const, int> > >
allocator_map_thread.cc-thread 52r 0u 0s 3988056mem 9pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::vector<int, __gnu_cxx::malloc_allocator<int> >
allocator_thread.cc-thread 79r 0u 0s 216mem 10pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::vector<int, __gnu_cxx::new_allocator<int> >
allocator_thread.cc-thread 79r 0u 0s 216mem 10pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::vector<int, __gnu_cxx::__mt_alloc<int> >
allocator_thread.cc-thread 84r 0u 0s 656336mem 9pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::list<int, __gnu_cxx::malloc_allocator<int> >
allocator_thread.cc-thread 1196r 0u 0s 0mem 10pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::list<int, __gnu_cxx::new_allocator<int> >
allocator_thread.cc-thread 1259r 0u 0s 0mem 10pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::list<int, __gnu_cxx::__mt_alloc<int> >
allocator_thread.cc-thread 806r 0u 0s 160231416mem 9pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::deque<int, __gnu_cxx::malloc_allocator<int> >
allocator_thread.cc-thread 135r 0u 0s 80mem 4pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::deque<int, __gnu_cxx::new_allocator<int> >
allocator_thread.cc-thread 134r 0u 0s 0mem 4pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::deque<int, __gnu_cxx::__mt_alloc<int> >
allocator_thread.cc-thread 132r 0u 0s 32920mem 3pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::map<int, int, std::less<int>, __gnu_cxx::malloc_allocator<int> >
allocator_thread.cc-thread 1718r 0u 0s 72mem 10pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::map<int, int, std::less<int>, __gnu_cxx::new_allocator<int> >
allocator_thread.cc-thread 1992r 0u 0s 0mem 10pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::map<int, int, std::less<int>, __gnu_cxx::__mt_alloc<int> >
allocator_thread.cc-thread 1429r 0u 0s 184326088mem 9pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::set<int, std::less<int>, __gnu_cxx::malloc_allocator<int> >
allocator_thread.cc-thread 1601r 0u 0s 0mem 10pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::set<int, std::less<int>, __gnu_cxx::new_allocator<int> >
allocator_thread.cc-thread 1882r 0u 0s 0mem 10pf allocator_thread.cc-thread iterations: 25000 type: __gnu_norm::set<int, std::less<int>, __gnu_cxx::__mt_alloc<int> >
allocator_thread.cc-thread 1522r 0u 0s 156850640mem 9pf string_append.cc char 1r 1u 0s 0mem 13pf string_append.cc string 1r 1u 0s 0mem 0pf string_append.cc char 9r 8u 1s 0mem 0pf string_append.cc string 10r 9u 1s 0mem 0pf string_append.cc char 88r 84u 4s 0mem 0pf string_append.cc string 113r 109u 4s 0mem 0pf string_cons_input_iterator.cc 1r 1u 0s 0mem 2pf string_cons_input_iterator.cc 12r 9u 3s 0mem 0pf string_cons_input_iterator.cc 119r 92u 27s 0mem 0pf is_wchar_t.cc C 118r 118u 0s 0mem 9pf is_wchar_t.cc C++ 388r 388u 0s 0mem 0pf narrow_widen_char.cc narrow 309r 309u 0s 0mem 9pf narrow_widen_char.cc narrow_array 1127r 1125u 2s 0mem 0pf narrow_widen_char.cc widen 349r 349u 0s 0mem 0pf narrow_widen_char.cc widen_array 1131r 1129u 2s 0mem 0pf narrow_widen_wchar_t.cc narrow 320r 320u 0s 0mem 9pf narrow_widen_wchar_t.cc narrow array 442r 441u 1s 0mem 0pf narrow_widen_wchar_t.cc widen 209r 209u 0s 0mem 0pf narrow_widen_wchar_t.cc widen array 205r 203u 1s 0mem 0pf wchar_t_in.cc C (iconv) 145r 145u 0s 0mem 3pf wchar_t_in.cc C++ (codecvt) 206r 196u 0s 0mem 1pf wchar_t_length.cc C++ (codecvt) 197r 192u 1s 0mem 10pf wchar_t_out.cc C (iconv) 143r 143u 0s 0mem 4pf wchar_t_out.cc C++ (codecvt) 234r 234u 0s 0mem 1pf container_benchmark.cc size = 100 :
container_benchmark.cc array 51r 51u 0s 0mem 0pf container_benchmark.cc vector (pointer) 51r 51u 0s 0mem 0pf container_benchmark.cc vector (iterator) 52r 52u 0s 0mem 0pf container_benchmark.cc deque 106r 106u 0s 0mem 1pf container_benchmark.cc list 304r 304u 0s 0mem 0pf container_benchmark.cc set 164r 164u 0s 0mem 1pf container_benchmark.cc multiset 277r 277u 0s 0mem 0pf container_benchmark.cc size = 1000 :
container_benchmark.cc array 74r 74u 0s 0mem 0pf container_benchmark.cc vector (pointer) 75r 74u 1s 0mem 0pf container_benchmark.cc vector (iterator) 76r 76u 0s 0mem 0pf container_benchmark.cc deque 107r 107u 0s 0mem 0pf container_benchmark.cc list 254r 254u 0s 0mem 0pf container_benchmark.cc set 155r 155u 0s 0mem 0pf container_benchmark.cc multiset 232r 232u 0s 0mem 0pf container_benchmark.cc size = 10000 :
container_benchmark.cc array 73r 71u 2s 0mem 0pf container_benchmark.cc vector (pointer) 72r 71u 1s 0mem 0pf container_benchmark.cc vector (iterator) 72r 71u 1s 0mem 0pf container_benchmark.cc deque 99r 99u 0s 0mem 0pf container_benchmark.cc list 274r 274u 0s 0mem 0pf container_benchmark.cc set 169r 169u 0s 0mem 0pf container_benchmark.cc multiset 329r 329u 0s 0mem 0pf container_benchmark.cc size = 100000 :
container_benchmark.cc array 70r 65u 5s 0mem 0pf container_benchmark.cc vector (pointer) 69r 67u 2s 0mem 0pf container_benchmark.cc vector (iterator) 71r 68u 3s 0mem 0pf container_benchmark.cc deque 98r 95u 3s 0mem 0pf container_benchmark.cc list 576r 575u 1s 0mem 0pf container_benchmark.cc set 439r 437u 2s 0mem 0pf container_benchmark.cc multiset 614r 614u 0s 0mem 0pf list_create_fill_sort.cc Iters: 10000000 Size: 1 179r 179u 0s 0mem 14pf list_create_fill_sort.cc Iters: 1000000 Size: 10 384r 383u 1s 0mem 0pf list_create_fill_sort.cc Iters: 100000 Size: 100 343r 343u 0s 0mem 0pf list_create_fill_sort.cc Iters: 10000 Size: 1000 383r 383u 0s 0mem 0pf map_create_fill.cc 124r 124u 0s 0mem 9pf complex_norm.cc norm 168r 166u 0s 0mem 11pf complex_norm.cc 118r 118u 0s 0mem 0pf cout_insert_int.cc 665r 19u 18s 0mem 21pf filebuf_copy.cc C unlocked 673r 628u 45s 0mem 4pf filebuf_copy.cc C++ 697r 666u 31s 0mem 0pf filebuf_sputc.cc C 512r 425u 38s 0mem 4pf filebuf_sputc.cc C unlocked 368r 267u 41s 0mem 0pf filebuf_sputc.cc C++ 331r 269u 39s 0mem 0pf fstream_seek_write.cc 254r 91u 163s 0mem 6pf ifstream_extract_float.cc precision 6 2600r 2572u 14s 0mem 9pf ifstream_extract_float.cc precision 12 2261r 2240u 10s 0mem 0pf ifstream_extract_int.cc 755r 741u 13s 0mem 5pf ifstream_getline.cc 2r 0u 0s 0mem 6pf ofstream_insert_float.cc precision 6 3628r 2820u 44s 0mem 20pf ofstream_insert_float.cc precision 12 3471r 2903u 43s 0mem 0pf ofstream_insert_int.cc 1068r 536u 36s 0mem 9pf





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]