Changeset f86c8e5 for doc/papers


Ignore:
Timestamp:
Mar 9, 2018, 12:11:23 PM (4 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, demangler, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, resolv-new, with_gc
Children:
3d8f2f8, b51e5fdb
Parents:
12bbb36
Message:

Remove move-operators from C++, C++obj benchmarks for parity

Location:
doc/papers/general
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • doc/papers/general/Paper.tex

    r12bbb36 rf86c8e5  
    26272627                                                                        & \CT{C}        & \CT{\CFA}     & \CT{\CC}      & \CT{\CCV}             \\ \hline
    26282628maximum memory usage (MB)                       & 10,001        & 2,502         & 2,503         & 11,253                \\
    2629 source code size (lines)                        & 197           & 186           & 133           & 303                   \\
     2629source code size (lines)                        & 197           & 186           & 125           & 293                   \\
    26302630redundant type annotations (lines)      & 27            & 0                     & 2                     & 16                    \\
    26312631binary size (KB)                                        & 14            & 257           & 14            & 37                    \\
     
    29252925        stack() : head( nullptr) {}
    29262926        stack( const stack<T> & o ) { copy( o ); }
    2927         stack( stack<T> && o ) : head( o.head) { o.head = nullptr; }
    29282927        ~stack() { clear(); }
    29292928        stack & operator= ( const stack<T> & o) {
     
    29312930                clear();
    29322931                copy( o );
    2933                 return *this;
    2934         }
    2935         stack & operator= ( stack<T> && o ) {
    2936                 if ( this == &o ) return *this;
    2937                 head = o.head;
    2938                 o.head = nullptr;
    29392932                return *this;
    29402933        }
     
    29792972        stack() : head( nullptr ) {}
    29802973        stack( const stack & o ) { copy( o ); }
    2981         stack( stack && o ) : head( o.head ) { o.head = nullptr; }
    2982         ~stack() { clear(); }
     2974                ~stack() { clear(); }
    29832975        stack & operator= ( const stack & o ) {
    29842976                if ( this == &o ) return *this;
    29852977                clear();
    29862978                copy( o );
    2987                 return *this;
    2988         }
    2989         stack & operator= ( stack && o ) {
    2990                 if ( this == &o ) return *this;
    2991                 head = o.head;
    2992                 o.head = nullptr;
    29932979                return *this;
    29942980        }
  • doc/papers/general/evaluation/cpp-stack.hpp

    r12bbb36 rf86c8e5  
    3131        stack() : head(nullptr) {}
    3232        stack(const stack<T>& o) { copy(o); }
    33         stack(stack<T>&& o) : head(o.head) { o.head = nullptr; }
    3433        ~stack() { clear(); }
    3534
     
    3837                clear();
    3938                copy(o);
    40                 return *this;
    41         }
    42 
    43         stack& operator= (stack<T>&& o) {
    44                 if ( this == &o ) return *this;
    45                 head = o.head;
    46                 o.head = nullptr;
    4739                return *this;
    4840        }
  • doc/papers/general/evaluation/cpp-vstack.cpp

    r12bbb36 rf86c8e5  
    1515stack::stack() : head(nullptr) {}
    1616stack::stack(const stack& o) { copy(o); }
    17 stack::stack(stack&& o) : head(o.head) { o.head = nullptr; }
    1817stack::~stack() { clear(); }
    1918
     
    2221        clear();
    2322        copy(o);
    24         return *this;
    25 }
    26 
    27 stack& stack::operator= (stack&& o) {
    28         if ( this == &o ) return *this;
    29         head = o.head;
    30         o.head = nullptr;
    3123        return *this;
    3224}
  • doc/papers/general/evaluation/cpp-vstack.hpp

    r12bbb36 rf86c8e5  
    1515        stack();
    1616        stack(const stack& o);
    17         stack(stack&& o);
    1817        ~stack();
    1918        stack& operator= (const stack& o);
    20         stack& operator= (stack&& o);
    2119
    2220        void clear();
  • doc/papers/general/evaluation/timing.dat

    r12bbb36 rf86c8e5  
    11"400 million repetitions"       "C"     "\\CFA{}"       "\\CC{}"        "\\CC{obj}"
    2 "push\nint"     3002    2459    1520    3305
    3 "copy\nint"     2985    2057    1521    3152
    4 "clear\nint"    1374    827     718     1469
    5 "pop\nint"      1416    1221    717     5467
    6 "push\npair"    4214    2752    946     6826
    7 "copy\npair"    6127    2105    993     7330
    8 "clear\npair"   2881    885     711     3564
    9 "pop\npair"     3046    5434    783     26538
     2"push\nint"     3002    2459    1542    3269
     3"copy\nint"     2985    2057    1539    3083
     4"clear\nint"    1374    827     756     1469
     5"pop\nint"      1416    1221    760     5098
     6"push\npair"    4214    2752    950     6873
     7"copy\npair"    6127    2105    987     7293
     8"clear\npair"   2881    885     751     3460
     9"pop\npair"     3046    5434    822     24962
  • doc/papers/general/evaluation/timing.gp

    r12bbb36 rf86c8e5  
    2424set yrange [0:10]
    2525
    26 set label "26.5" at 7.125,10.5
     26set label "25.0" at 7.125,10.5
    2727
    2828# set datafile separator ","
Note: See TracChangeset for help on using the changeset viewer.