source: doc/generic_types/evaluation/cpp-vbench.cpp@ 87c5f40

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors deferred_resn demangler enum forall-pointer-decay jacob/cs343-translation jenkins-sandbox new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new stuck-waitfor-destruct with_gc
Last change on this file since 87c5f40 was 87c5f40, checked in by Aaron Moss <a3moss@…>, 9 years ago

Update benchmarks to include stack of pairs

  • Property mode set to 100644
File size: 881 bytes
Line 
1#include <algorithm>
2#include <stdlib.h>
3#include "bench.hpp"
4#include "cpp-vstack.hpp"
5#include "object.hpp"
6
7int main(int argc, char** argv) {
8 srand(20171025);
9
10 stack s;
11 REPEAT_TIMED( "push_int",
12 s.push( std::make_unique<integer>( rand() ) );
13 )
14
15 stack t;
16 TIMED( "copy_int",
17 t = s;
18 )
19
20 TIMED( "clear_int",
21 s.clear();
22 )
23
24 integer max;
25 REPEAT_TIMED( "pop_int",
26 max = std::max( max, t.pop()->as<integer>() );
27 )
28
29 stack s2;
30 REPEAT_TIMED( "push_bool_char",
31 s2.push( std::make_unique<pair>( std::make_unique<boolean>( rand() & 0x1 ),
32 std::make_unique<character>( rand() & 0x7F ) ) );
33 )
34
35 stack t2;
36 TIMED( "copy_bool_char",
37 t2 = s2;
38 )
39
40 TIMED( "clear_bool_char",
41 s2.clear();
42 )
43
44 pair max2 = { std::make_unique<boolean>(false), std::make_unique<character>('\0') };
45 REPEAT_TIMED( "pop_bool_char",
46 max2 = std::max( max2, t2.pop()->as<pair>() );
47 )
48}
Note: See TracBrowser for help on using the repository browser.