Changeset 6e1e2d0 for doc/theses
- Timestamp:
- May 1, 2023, 4:19:09 PM (2 years ago)
- Branches:
- ADT, ast-experimental, master
- Children:
- c083c3d
- Parents:
- a50fdfb (diff), 985b624 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- doc/theses
- Files:
-
- 1 added
- 30 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/colby_parsons_MMAth/.gitignore
ra50fdfb r6e1e2d0 1 build/*.aux 2 build/*.acn 3 build/*.acr 4 build/*.alg 5 build/*.bbl 6 build/*.blg 7 build/*.brf 8 build/*.dvi 9 build/*.glg 10 build/*.glo 11 build/*.gls 12 build/*.idx 13 build/*.ind 14 build/*.ist 15 build/*.lof 16 build/*.log 17 build/*.lol 18 build/*.lot 19 build/*.out 20 build/*.ps 21 build/*.pstex 22 build/*.pstex_t 23 build/*.tex 24 build/*.toc 1 # Intermediate Results: 2 build/ 3 4 # Final Files: 25 5 *.pdf 26 *.png27 6 *.ps 28 figures/*.tex29 7 30 examples 8 # The Makefile here is not generated. 9 !Makefile -
doc/theses/colby_parsons_MMAth/benchmarks/actors/data/nasus_CFA.txt
ra50fdfb r6e1e2d0 1 1 5 2 2 1 2 4 8 16 24 32 48 3 CFA-LV CFA-NS CFA-R3 Longest-Victim No-Stealing Random 4 4 executor 5 CFA-LV:5 Longest-Victim: 6 6 proc time (s) 7 7 1 29.22 … … 45 45 48 1.20 46 46 48 1.20 47 CFA-NS:47 No-Stealing: 48 48 proc time (s) 49 49 1 28.25 … … 87 87 48 1.18 88 88 48 1.16 89 CFA-R:89 Random: 90 90 proc time (s) 91 91 1 28.58 … … 131 131 132 132 matrix 133 CFA-LV:133 Longest-Victim: 134 134 proc time (s) 135 135 1 105.48 … … 173 173 48 2.75 174 174 48 2.96 175 CFA-NS:175 No-Stealing: 176 176 proc time (s) 177 177 1 106.01 … … 215 215 48 2.78 216 216 48 2.92 217 CFA-R:217 Random: 218 218 proc time (s) 219 219 1 105.91 … … 259 259 260 260 repeat 261 CFA-LV:261 Longest-Victim: 262 262 proc time (s) 263 263 1 1.17 … … 301 301 48 13.73 302 302 48 14.55 303 CFA-NS:303 No-Stealing: 304 304 proc time (s) 305 305 1 1.15 … … 343 343 48 13.03 344 344 48 12.83 345 CFA-R:345 Random: 346 346 proc time (s) 347 347 1 1.15 … … 387 387 388 388 balance_one 389 CFA-LV:389 Longest-Victim: 390 390 proc time (s) 391 391 1 20.06 … … 429 429 48 1.11 430 430 48 1.12 431 CFA-NS:431 No-Stealing: 432 432 proc time (s) 433 433 1 20.13 … … 471 471 48 19.95 472 472 48 20.00 473 CFA-R:473 Random: 474 474 proc time (s) 475 475 1 19.92 … … 515 515 516 516 balance_multi 517 CFA-LV:517 Longest-Victim: 518 518 proc time (s) 519 519 1 8.17 … … 557 557 48 5.75 558 558 48 5.68 559 CFA-NS:559 No-Stealing: 560 560 proc time (s) 561 561 1 8.10 … … 599 599 48 9.28 600 600 48 9.26 601 CFA-R:601 Random: 602 602 proc time (s) 603 603 1 8.08 -
doc/theses/colby_parsons_MMAth/benchmarks/actors/data/pyke_CFA.txt
ra50fdfb r6e1e2d0 1 1 5 2 2 1 2 4 8 16 24 32 48 3 CFA-LV CFA-NS CFA-R3 Longest-Victim No-Stealing Random 4 4 executor 5 CFA-LV:5 Longest-Victim: 6 6 proc time (s) 7 7 1 29.04 … … 45 45 48 2.58 46 46 48 2.55 47 CFA-NS:47 No-Stealing: 48 48 proc time (s) 49 49 1 28.15 … … 87 87 48 2.59 88 88 48 2.60 89 CFA-R:89 Random: 90 90 proc time (s) 91 91 1 29.06 … … 131 131 132 132 matrix 133 CFA-LV:133 Longest-Victim: 134 134 proc time (s) 135 135 1 127.44 … … 173 173 48 6.83 174 174 48 6.81 175 CFA-NS:175 No-Stealing: 176 176 proc time (s) 177 177 1 127.64 … … 215 215 48 6.77 216 216 48 6.74 217 CFA-R:217 Random: 218 218 proc time (s) 219 219 1 127.26 … … 259 259 260 260 repeat 261 CFA-LV:261 Longest-Victim: 262 262 proc time (s) 263 263 1 1.16 … … 301 301 48 19.75 302 302 48 19.71 303 CFA-NS:303 No-Stealing: 304 304 proc time (s) 305 305 1 1.18 … … 343 343 48 13.88 344 344 48 13.71 345 CFA-R:345 Random: 346 346 proc time (s) 347 347 1 1.18 … … 387 387 388 388 balance_one 389 CFA-LV:389 Longest-Victim: 390 390 proc time (s) 391 391 1 19.46 … … 429 429 48 2.12 430 430 48 2.17 431 CFA-NS:431 No-Stealing: 432 432 proc time (s) 433 433 1 21.00 … … 471 471 48 47.50 472 472 48 47.72 473 CFA-R:473 Random: 474 474 proc time (s) 475 475 1 20.81 … … 515 515 516 516 balance_multi 517 CFA-LV:517 Longest-Victim: 518 518 proc time (s) 519 519 1 7.94 … … 557 557 48 14.38 558 558 48 14.50 559 CFA-NS:559 No-Stealing: 560 560 proc time (s) 561 561 1 8.48 … … 599 599 48 21.50 600 600 48 21.15 601 CFA-R:601 Random: 602 602 proc time (s) 603 603 1 8.49 -
doc/theses/colby_parsons_MMAth/benchmarks/channels/plotData.py
ra50fdfb r6e1e2d0 70 70 if currBench == Bench.Unset: 71 71 if line == "contend:": 72 name = "C ontend"72 name = "Channel Contention" 73 73 currBench = Bench.Contend 74 74 elif line == "zero:": -
doc/theses/colby_parsons_MMAth/code/swap_queues.cfa
ra50fdfb r6e1e2d0 1 // this is a code stub and will not compile 2 3 // tries to atomically swap two queues and returns 0p if the swap failed 4 // returns ptr to newly owned queue if swap succeeds 5 static inline work_queue * try_swap_queues( worker & this, unsigned int victim_idx, unsigned int my_idx ) with(this) { 1 // sequential equivalent swap 2 void swap( uint victim_idx, uint my_idx ) { 3 // Step 0: 6 4 work_queue * my_queue = request_queues[my_idx]; 7 work_queue * other_queue = request_queues[victim_idx]; 8 9 // if either queue is 0p then they are in the process of being stolen 10 if ( other_queue == 0p || my_queue == 0p ) return 0p; 11 12 // try to set our queue ptr to be 0p. If it fails someone moved our queue so return false 13 if ( !__atomic_compare_exchange_n( &request_queues[my_idx], &my_queue, 0p, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST ) ) 14 return 0p; 15 16 // try to set other queue ptr to be our queue ptr. If it fails someone moved the other queue so fix up then return false 17 if ( !__atomic_compare_exchange_n( &request_queues[victim_idx], &other_queue, my_queue, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST ) ) { 18 /* paranoid */ verify( request_queues[my_idx] == 0p ); 19 request_queues[my_idx] = my_queue; // reset my queue ptr back to appropriate val 20 return 0p; 21 } 22 23 // we have successfully swapped and since our queue is 0p no one will touch it so write back new queue ptr non atomically 24 request_queues[my_idx] = other_queue; // last write does not need to be atomic 25 return other_queue; 5 work_queue * vic_queue = request_queues[victim_idx]; 6 // Step 2: 7 request_queues[my_idx] = 0p; 8 // Step 3: 9 request_queues[victim_idx] = my_queue; 10 // Step 4: 11 request_queues[my_idx] = vic_queue; 26 12 } 27 13 … … 35 21 36 22 bool try_swap_queues( worker & this, uint victim_idx, uint my_idx ) with(this) { 23 // Step 0: 24 // request_queues is the shared array of all sharded queues 37 25 work_queue * my_queue = request_queues[my_idx]; 38 26 work_queue * vic_queue = request_queues[victim_idx]; 39 27 28 // Step 1: 40 29 // If either queue is 0p then they are in the process of being stolen 41 30 // 0p is CForAll's equivalent of C++'s nullptr 42 if ( vic_queue == 0p || my_queue == 0p) return false;31 if ( vic_queue == 0p ) return false; 43 32 44 // Try to set our queue ptr to be 0p. 45 // If this CAS fails someone moved our queue so return false 33 // Step 2: 34 // Try to set thief's queue ptr to be 0p. 35 // If this CAS fails someone stole thief's queue so return false 46 36 if ( !CAS( &request_queues[my_idx], &my_queue, 0p ) ) 47 37 return false; 48 49 // Try to set other queue ptr to be our queue ptr. 50 // If it fails someone moved the other queue, so fix up then return false 38 39 // Step 3: 40 // Try to set victim queue ptr to be thief's queue ptr. 41 // If it fails someone stole the other queue, so fix up then return false 51 42 if ( !CAS( &request_queues[victim_idx], &vic_queue, my_queue ) ) { 52 43 request_queues[my_idx] = my_queue; // reset queue ptr back to prev val … … 54 45 } 55 46 47 // Step 4: 56 48 // Successfully swapped. 57 // Our queue is 0p so no one will touch it so write back without CAS is safe 49 // Thief's ptr is 0p so no one will touch it 50 // Write back without CAS is safe 58 51 request_queues[my_idx] = vic_queue; 59 52 return true; -
doc/theses/colby_parsons_MMAth/style/style.tex
ra50fdfb r6e1e2d0 3 3 \lstset{language=CFA} % default language 4 4 5 \newcommand{\newtermFont}{\emph} 6 \newcommand{\Newterm}[1]{\newtermFont{#1}} 7 5 8 \newcommand{\code}[1]{\lstinline[language=CFA]{#1}} 6 9 \newcommand{\uC}{$\mu$\CC} 10 \newcommand{\PAB}[1]{{\color{red}PAB: #1}} 7 11 12 \newsavebox{\myboxA} % used with subfigure 13 \newsavebox{\myboxB} 14 15 \lstnewenvironment{java}[1][] 16 {\lstset{language=java,moredelim=**[is][\protect\color{red}]{@}{@}}\lstset{#1}} 17 {} -
doc/theses/colby_parsons_MMAth/text/actors.tex
ra50fdfb r6e1e2d0 90 90 \begin{cfa} 91 91 struct derived_actor { 92 inline actor;// Plan-9 C inheritance92 inline actor; // Plan-9 C inheritance 93 93 }; 94 94 void ?{}( derived_actor & this ) { // Default ctor 95 95 ((actor &)this){}; // Call to actor ctor 96 96 } 97 97 98 98 struct derived_msg { 99 inline message;// Plan-9 C nominal inheritance100 99 inline message; // Plan-9 C nominal inheritance 100 char word[12]; 101 101 }; 102 102 void ?{}( derived_msg & this, char * new_word ) { // Overloaded ctor 103 104 103 ((message &) this){ Nodelete }; // Passing allocation to ctor 104 strcpy(this.word, new_word); 105 105 } 106 106 107 107 Allocation receive( derived_actor & receiver, derived_msg & msg ) { 108 109 108 printf("The message contained the string: %s\n", msg.word); 109 return Finished; // Return finished since actor is done 110 110 } 111 111 112 112 int main() { 113 114 derived_actor my_actor;115 116 117 118 113 start_actor_system(); // Sets up executor 114 derived_actor my_actor; 115 derived_msg my_msg{ "Hello World" }; // Constructor call 116 my_actor << my_msg; // Send message via left shift operator 117 stop_actor_system(); // Waits until actors are finished 118 return 0; 119 119 } 120 120 \end{cfa} … … 229 229 \section{Envelopes}\label{s:envelope} 230 230 In actor systems messages are sent and received by actors. 231 When a actor receives a message it 231 When a actor receives a message it executes its behaviour that is associated with that message type. 232 232 However the unit of work that stores the message, the receiving actor's address, and other pertinent information needs to persist between send and the receive. 233 233 Furthermore the unit of work needs to be able to be stored in some fashion, usually in a queue, until it is executed by an actor. … … 301 301 While other systems are concerned with stealing actors, the \CFA actor system steals queues. 302 302 This is a result of \CFA's use of the inverted actor system. 303 303 The goal of the \CFA actor work stealing mechanism is to have a zero-victim-cost stealing mechanism. 304 304 This does not means that stealing has no cost. 305 305 This goal is to ensure that stealing work does not impact the performance of victim workers. … … 369 369 370 370 \begin{cfa} 371 void swap( uint victim_idx, uint my_idx 372 373 374 375 376 377 378 379 380 371 void swap( uint victim_idx, uint my_idx ) { 372 // Step 0: 373 work_queue * my_queue = request_queues[my_idx]; 374 work_queue * vic_queue = request_queues[victim_idx]; 375 // Step 2: 376 request_queues[my_idx] = 0p; 377 // Step 3: 378 request_queues[victim_idx] = my_queue; 379 // Step 4: 380 request_queues[my_idx] = vic_queue; 381 381 } 382 382 \end{cfa} … … 389 389 // This routine is atomic 390 390 bool CAS( work_queue ** ptr, work_queue ** old, work_queue * new ) { 391 392 393 394 391 if ( *ptr != *old ) 392 return false; 393 *ptr = new; 394 return true; 395 395 } 396 396 397 397 bool try_swap_queues( worker & this, uint victim_idx, uint my_idx ) with(this) { 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 398 // Step 0: 399 // request_queues is the shared array of all sharded queues 400 work_queue * my_queue = request_queues[my_idx]; 401 work_queue * vic_queue = request_queues[victim_idx]; 402 403 // Step 1: 404 // If either queue is 0p then they are in the process of being stolen 405 // 0p is CForAll's equivalent of C++'s nullptr 406 if ( vic_queue == 0p ) return false; 407 408 // Step 2: 409 // Try to set thief's queue ptr to be 0p. 410 // If this CAS fails someone stole thief's queue so return false 411 if ( !CAS( &request_queues[my_idx], &my_queue, 0p ) ) 412 return false; 413 414 // Step 3: 415 // Try to set victim queue ptr to be thief's queue ptr. 416 // If it fails someone stole the other queue, so fix up then return false 417 if ( !CAS( &request_queues[victim_idx], &vic_queue, my_queue ) ) { 418 request_queues[my_idx] = my_queue; // reset queue ptr back to prev val 419 return false; 420 } 421 422 // Step 4: 423 // Successfully swapped. 424 // Thief's ptr is 0p so no one will touch it 425 // Write back without CAS is safe 426 request_queues[my_idx] = vic_queue; 427 return true; 428 428 } 429 429 \end{cfa}\label{c:swap} … … 706 706 \label{t:StaticActorMessagePerformance} 707 707 \begin{tabular}{*{5}{r|}r} 708 709 \hline 710 711 \hline 712 708 & \multicolumn{1}{c|}{\CFA (100M)} & \multicolumn{1}{c|}{CAF (10M)} & \multicolumn{1}{c|}{Akka (100M)} & \multicolumn{1}{c|}{\uC (100M)} & \multicolumn{1}{c@{}}{ProtoActor (100M)} \\ 709 \hline 710 AMD & \input{data/pykeSendStatic} \\ 711 \hline 712 Intel & \input{data/nasusSendStatic} 713 713 \end{tabular} 714 714 … … 719 719 720 720 \begin{tabular}{*{5}{r|}r} 721 722 \hline 723 724 \hline 725 721 & \multicolumn{1}{c|}{\CFA (20M)} & \multicolumn{1}{c|}{CAF (2M)} & \multicolumn{1}{c|}{Akka (2M)} & \multicolumn{1}{c|}{\uC (20M)} & \multicolumn{1}{c@{}}{ProtoActor (2M)} \\ 722 \hline 723 AMD & \input{data/pykeSendDynamic} \\ 724 \hline 725 Intel & \input{data/nasusSendDynamic} 726 726 \end{tabular} 727 727 \end{table} … … 745 745 In the static send benchmark all systems except CAF have static send costs that are in the same ballpark, only varying by ~70ns. 746 746 In the dynamic send benchmark all systems experience slower message sends, as expected due to the extra allocations. 747 However, 747 However, Akka and ProtoActor, slow down by a more significant margin than the \uC and \CFA. 748 748 This is likely a result of Akka and ProtoActor's garbage collection, which can suffer from hits in performance for allocation heavy workloads, whereas \uC and \CFA have explicit allocation/deallocation. 749 749 … … 753 753 754 754 \begin{figure} 755 \centering 756 \begin{subfigure}{0.5\textwidth} 757 \centering 758 \scalebox{0.5}{\input{figures/nasusCFABalance-One.pgf}} 759 \subcaption{AMD \CFA Balance-One Benchmark} 760 \label{f:BalanceOneAMD} 761 \end{subfigure}\hfill 762 \begin{subfigure}{0.5\textwidth} 763 \centering 764 \scalebox{0.5}{\input{figures/pykeCFABalance-One.pgf}} 765 \subcaption{Intel \CFA Balance-One Benchmark} 766 \label{f:BalanceOneIntel} 767 \end{subfigure} 768 \caption{The balance-one benchmark comparing stealing heuristics (lower is better).} 769 \end{figure} 770 771 \begin{figure} 772 \centering 773 \begin{subfigure}{0.5\textwidth} 774 \centering 775 \scalebox{0.5}{\input{figures/nasusCFABalance-Multi.pgf}} 776 \subcaption{AMD \CFA Balance-Multi Benchmark} 777 \label{f:BalanceMultiAMD} 778 \end{subfigure}\hfill 779 \begin{subfigure}{0.5\textwidth} 780 \centering 781 \scalebox{0.5}{\input{figures/pykeCFABalance-Multi.pgf}} 782 \subcaption{Intel \CFA Balance-Multi Benchmark} 783 \label{f:BalanceMultiIntel} 784 \end{subfigure} 785 \caption{The balance-multi benchmark comparing stealing heuristics (lower is better).} 755 \centering 756 \subfloat[AMD \CFA Balance-One Benchmark]{ 757 \resizebox{0.5\textwidth}{!}{\input{figures/nasusCFABalance-One.pgf}} 758 \label{f:BalanceOneAMD} 759 } 760 \subfloat[Intel \CFA Balance-One Benchmark]{ 761 \resizebox{0.5\textwidth}{!}{\input{figures/pykeCFABalance-One.pgf}} 762 \label{f:BalanceOneIntel} 763 } 764 \caption{The balance-one benchmark comparing stealing heuristics (lower is better).} 765 \end{figure} 766 767 \begin{figure} 768 \centering 769 \subfloat[AMD \CFA Balance-Multi Benchmark]{ 770 \resizebox{0.5\textwidth}{!}{\input{figures/nasusCFABalance-Multi.pgf}} 771 \label{f:BalanceMultiAMD} 772 } 773 \subfloat[Intel \CFA Balance-Multi Benchmark]{ 774 \resizebox{0.5\textwidth}{!}{\input{figures/pykeCFABalance-Multi.pgf}} 775 \label{f:BalanceMultiIntel} 776 } 777 \caption{The balance-multi benchmark comparing stealing heuristics (lower is better).} 786 778 \end{figure} 787 779 … … 817 809 818 810 \begin{figure} 819 \centering 820 \begin{subfigure}{0.5\textwidth} 821 \centering 822 \scalebox{0.5}{\input{figures/nasusExecutor.pgf}} 823 \subcaption{AMD Executor Benchmark} 824 \label{f:ExecutorAMD} 825 \end{subfigure}\hfill 826 \begin{subfigure}{0.5\textwidth} 827 \centering 828 \scalebox{0.5}{\input{figures/pykeExecutor.pgf}} 829 \subcaption{Intel Executor Benchmark} 830 \label{f:ExecutorIntel} 831 \end{subfigure} 832 \caption{The executor benchmark comparing actor systems (lower is better).} 811 \centering 812 \subfloat[AMD Executor Benchmark]{ 813 \resizebox{0.5\textwidth}{!}{\input{figures/nasusExecutor.pgf}} 814 \label{f:ExecutorAMD} 815 } 816 \subfloat[Intel Executor Benchmark]{ 817 \resizebox{0.5\textwidth}{!}{\input{figures/pykeExecutor.pgf}} 818 \label{f:ExecutorIntel} 819 } 820 \caption{The executor benchmark comparing actor systems (lower is better).} 833 821 \end{figure} 834 822 … … 840 828 841 829 \begin{figure} 842 \centering 843 \begin{subfigure}{0.5\textwidth} 844 \centering 845 \scalebox{0.5}{\input{figures/nasusCFAExecutor.pgf}} 846 \subcaption{AMD \CFA Executor Benchmark}\label{f:cfaExecutorAMD} 847 \end{subfigure}\hfill 848 \begin{subfigure}{0.5\textwidth} 849 \centering 850 \scalebox{0.5}{\input{figures/pykeCFAExecutor.pgf}} 851 \subcaption{Intel \CFA Executor Benchmark}\label{f:cfaExecutorIntel} 852 \end{subfigure} 853 \caption{Executor benchmark comparing \CFA stealing heuristics (lower is better).} 830 \centering 831 \subfloat[AMD \CFA Executor Benchmark]{ 832 \resizebox{0.5\textwidth}{!}{\input{figures/nasusCFAExecutor.pgf}} 833 \label{f:cfaExecutorAMD} 834 } 835 \subfloat[Intel \CFA Executor Benchmark]{ 836 \resizebox{0.5\textwidth}{!}{\input{figures/pykeCFAExecutor.pgf}} 837 \label{f:cfaExecutorIntel} 838 } 839 \caption{Executor benchmark comparing \CFA stealing heuristics (lower is better).} 854 840 \end{figure} 855 841 … … 857 843 858 844 \begin{figure} 859 \centering 860 \begin{subfigure}{0.5\textwidth} 861 \centering 862 \scalebox{0.5}{\input{figures/nasusRepeat.pgf}} 863 \subcaption{AMD Repeat Benchmark}\label{f:RepeatAMD} 864 \end{subfigure}\hfill 865 \begin{subfigure}{0.5\textwidth} 866 \centering 867 \scalebox{0.5}{\input{figures/pykeRepeat.pgf}} 868 \subcaption{Intel Repeat Benchmark}\label{f:RepeatIntel} 869 \end{subfigure} 870 \caption{The repeat benchmark comparing actor systems (lower is better).} 845 \centering 846 \subfloat[AMD Repeat Benchmark]{ 847 \resizebox{0.5\textwidth}{!}{\input{figures/nasusRepeat.pgf}} 848 \label{f:RepeatAMD} 849 } 850 \subfloat[Intel Repeat Benchmark]{ 851 \resizebox{0.5\textwidth}{!}{\input{figures/pykeRepeat.pgf}} 852 \label{f:RepeatIntel} 853 } 854 \caption{The repeat benchmark comparing actor systems (lower is better).} 871 855 \end{figure} 872 856 … … 881 865 882 866 \begin{figure} 883 \centering 884 \begin{subfigure}{0.5\textwidth} 885 \centering 886 \scalebox{0.5}{\input{figures/nasusCFARepeat.pgf}} 887 \subcaption{AMD \CFA Repeat Benchmark}\label{f:cfaRepeatAMD} 888 \end{subfigure}\hfill 889 \begin{subfigure}{0.5\textwidth} 890 \centering 891 \scalebox{0.5}{\input{figures/pykeCFARepeat.pgf}} 892 \subcaption{Intel \CFA Repeat Benchmark}\label{f:cfaRepeatIntel} 893 \end{subfigure} 894 \caption{The repeat benchmark comparing \CFA stealing heuristics (lower is better).} 867 \centering 868 \subfloat[AMD \CFA Repeat Benchmark]{ 869 \resizebox{0.5\textwidth}{!}{\input{figures/nasusCFARepeat.pgf}} 870 \label{f:cfaRepeatAMD} 871 } 872 \subfloat[Intel \CFA Repeat Benchmark]{ 873 \resizebox{0.5\textwidth}{!}{\input{figures/pykeCFARepeat.pgf}} 874 \label{f:cfaRepeatIntel} 875 } 876 \caption{The repeat benchmark comparing \CFA stealing heuristics (lower is better).} 895 877 \end{figure} 896 878 … … 913 895 914 896 \begin{table}[t] 915 916 917 918 919 920 921 922 923 \hline 924 925 \hline 926 927 897 \centering 898 \setlength{\extrarowheight}{2pt} 899 \setlength{\tabcolsep}{5pt} 900 901 \caption{Executor Program Memory High Watermark} 902 \label{t:ExecutorMemory} 903 \begin{tabular}{*{5}{r|}r} 904 & \multicolumn{1}{c|}{\CFA} & \multicolumn{1}{c|}{CAF} & \multicolumn{1}{c|}{Akka} & \multicolumn{1}{c|}{\uC} & \multicolumn{1}{c@{}}{ProtoActor} \\ 905 \hline 906 AMD & \input{data/pykeExecutorMem} \\ 907 \hline 908 Intel & \input{data/nasusExecutorMem} 909 \end{tabular} 928 910 \end{table} 929 911 … … 951 933 952 934 \begin{figure} 953 954 \begin{subfigure}{0.5\textwidth} 955 \centering 956 \scalebox{0.5}{\input{figures/nasusMatrix.pgf}}957 \subcaption{AMD Matrix Benchmark}\label{f:MatrixAMD}958 \end{subfigure}\hfill 959 \begin{subfigure}{0.5\textwidth}960 \centering 961 \scalebox{0.5}{\input{figures/pykeMatrix.pgf}}962 \subcaption{Intel Matrix Benchmark}\label{f:MatrixIntel}963 \end{subfigure}964 \caption{The matrix benchmark comparing actor systems (lower is better).} 965 \ end{figure}966 967 \begin{figure} 968 \centering 969 \begin{subfigure}{0.5\textwidth}970 \centering 971 \scalebox{0.5}{\input{figures/nasusCFAMatrix.pgf}} 972 \subcaption{AMD \CFA Matrix Benchmark}\label{f:cfaMatrixAMD}973 \end{subfigure}\hfill 974 \begin{subfigure}{0.5\textwidth}975 \centering 976 \scalebox{0.5}{\input{figures/pykeCFAMatrix.pgf}}977 \subcaption{Intel \CFA Matrix Benchmark}\label{f:cfaMatrixIntel} 978 \end{subfigure} 979 \caption{The matrix benchmark comparing \CFA stealing heuristics (lower is better).} 980 \end{figure} 935 \centering 936 \subfloat[AMD Matrix Benchmark]{ 937 \resizebox{0.5\textwidth}{!}{\input{figures/nasusMatrix.pgf}} 938 \label{f:MatrixAMD} 939 } 940 \subfloat[Intel Matrix Benchmark]{ 941 \resizebox{0.5\textwidth}{!}{\input{figures/pykeMatrix.pgf}} 942 \label{f:MatrixIntel} 943 } 944 \caption{The matrix benchmark comparing actor systems (lower is better).} 945 \end{figure} 946 947 \begin{figure} 948 \centering 949 \subfloat[AMD \CFA Matrix Benchmark]{ 950 \resizebox{0.5\textwidth}{!}{\input{figures/nasusCFAMatrix.pgf}} 951 \label{f:cfaMatrixAMD} 952 } 953 \subfloat[Intel \CFA Matrix Benchmark]{ 954 \resizebox{0.5\textwidth}{!}{\input{figures/pykeCFAMatrix.pgf}} 955 \label{f:cfaMatrixIntel} 956 } 957 \caption{The matrix benchmark comparing \CFA stealing heuristics (lower is better).} 958 \end{figure} 959 960 % Local Variables: % 961 % tab-width: 4 % 962 % End: % -
doc/theses/colby_parsons_MMAth/text/channels.tex
ra50fdfb r6e1e2d0 5 5 % ====================================================================== 6 6 7 Channels were first introduced by Hoare in his paper Communicating Sequentual Processes~\cite{Hoare78}, where he proposes a concurrent language that communicates across processes using input/output channels to send data. 8 Channels are a concurrent language feature used to perform message passing concurrency, a model of concurrency where threads communicate by sending data as messages, and synchronizing via the message passing mechanism. 9 This is an alternative to shared memory concurrency, where threads can communicate directly by changing shared memory state. 10 Most modern concurrent programming languages do not subscribe to just one style of communication between threads, and provide features that support both. 7 Channels are a concurrent-language feature used to perform \Newterm{message-passing concurrency}: a model of concurrency where threads communicate by sending (mostly nonblocking) data as messages and synchronizing by receiving (blocking) sent data. 8 This model is an alternative to shared-memory concurrency, where threads can communicate directly by changing shared state. 9 Most modern concurrent programming languages do not subscribe to just one style of communication among threads and provide features that support multiple approaches. 10 11 Channels were first introduced by Kahn~\cite{Kahn74} and extended by Hoare~\cite{Hoare78} (CSP). 12 Both papers present a pseudo (unimplemented) concurrent language where processes communicate using input/output channels to send data. 13 Both languages are highly restrictive. 14 Kahn's language restricts a reading process to only wait for data on a single channel at a time and different writing processes cannot send data on the same channel. 15 Hoare's language restricts ... 11 16 Channels as a programming language feature has been popularized in recent years due to the language Go, which encourages the use of channels as its fundamental concurrent feature. 17 Go's restrictions are ... 18 \CFA channels do not have these restrictions. 12 19 13 20 \section{Producer-Consumer Problem} 14 Most channels in modern programming languages are built on top of a shared memory buffer. 15 While it is possible to create a channel that contains an unbounded buffer, most implementations opt to only support a fixed size channel, where the size is given at the time of channel creation. 16 This turns the implementation of a channel into the producer-consumer problem. 17 The producer-consumer problem, also known as the bounded buffer problem, was introduced by Dijkstra in his book Cooperating Sequential Processes\cite{Dijkstra65}. 18 In the problem threads interact with the buffer in two ways, either consuming values by removing them from the buffer, or producing values and inserting them in the buffer. 19 The buffer needs to be protected from concurrent access since each item in the buffer should only be produced and consumed once. 21 Most channels in modern programming languages are built on top of a shared memory buffer. 22 While it is possible to create a channel that contains an unbounded buffer, most implementations opt to only support a fixed size channel, where the size is given at the time of channel creation. 23 This turns the implementation of a channel into the producer-consumer problem. 24 The producer-consumer problem, also known as the bounded buffer problem, was introduced by Dijkstra in his book Cooperating Sequential Processes\cite{Dijkstra65}. 25 In the problem threads interact with the buffer in two ways, either consuming values by removing them from the buffer, or producing values and inserting them in the buffer. 26 The buffer needs to be protected from concurrent access since each item in the buffer should only be produced and consumed once. 20 27 Additionally, a consumer can only remove from a non-empty buffer and a producer can only insert into a non-full buffer. 21 28 22 29 \section{First-Come First-Served} 23 The channel implementations that will be discussed are \gls{fcfs}. 24 This term was defined by Lamport~\cite{Lamport74}. 25 \gls{fcfs} is defined in relation to a doorway~\cite[p.~330]{Lamport86II}, which is the point at which an ordering among threads can be established. 26 Given this doorway, a critical section is said to be \gls{fcfs}, if threads access the shared resource in the order they proceed through the doorway. 27 \gls{fcfs} is a fairness property which prevents unequal access to the shared resource and prevents starvation, however it can come at a cost. 28 Implementing an algorithm with \gls{fcfs} can lead to double blocking, where entering threads may need to block to allow other threads to proceed first, resulting in blocking both inside and outside the doorway. 30 The channel implementations that will be discussed are \gls{fcfs}. 31 This term was defined by Lamport~\cite{Lamport74}. 32 \gls{fcfs} is defined in relation to a doorway~\cite[p.~330]{Lamport86II}, which is the point at which an ordering among threads can be established. 33 Given this doorway, a critical section is said to be \gls{fcfs}, if threads access the shared resource in the order they proceed through the doorway. 34 \gls{fcfs} is a fairness property which prevents unequal access to the shared resource and prevents starvation, however it can come at a cost. 35 Implementing an algorithm with \gls{fcfs} can lead to double blocking, where entering threads may need to block to allow other threads to proceed first, resulting in blocking both inside and outside the doorway. 29 36 As such algorithms that are not \gls{fcfs} may be more performant but that performance comes with the downside of likely introducing starvation and unfairness. 30 37 31 38 \section{Channel Implementation} 32 The channel implementation in \CFA is a near carbon copy of the Go implementation. 33 Experimentation was conducted that varied the producer-consumer problem algorithm and lock type used inside the channel. 34 With the exception of non-\gls{fcfs} algorithms, no algorithm or lock usage in the channel implementation was found to be consistently more performant that Go's choice of algorithm and lock implementation. 39 The channel implementation in \CFA is a near carbon copy of the Go implementation. 40 Experimentation was conducted that varied the producer-consumer problem algorithm and lock type used inside the channel. 41 With the exception of non-\gls{fcfs} algorithms, no algorithm or lock usage in the channel implementation was found to be consistently more performant that Go's choice of algorithm and lock implementation. 35 42 As such the research contributions added by \CFA's channel implementation lie in the realm of safety and productivity features. 36 43 37 44 \section{Safety and Productivity} 38 Channels in \CFA come with safety and productivity features to aid users. 45 Channels in \CFA come with safety and productivity features to aid users. 39 46 The features include the following. 40 47 41 48 \begin{itemize} 42 \item Toggle-able statistic collection on channel beh vaiour that counts channel operations, and the number of the operations that block.49 \item Toggle-able statistic collection on channel behaviour that counts channel operations, and the number of the operations that block. 43 50 Tracking blocking operations helps users tune their channel size or channel usage when the channel is used for buffering, where the aim is to have as few blocking operations as possible. 44 \item Deadlock detection on deallocation of the channel. 51 \item Deadlock detection on deallocation of the channel. 45 52 If any threads are blocked inside the channel when it terminates it is detected and informs the user, as this would cause a deadlock. 46 \item A \code{flush} routine that delivers copies of an element to all waiting consumers, flushing the buffer. 47 Programmers can use this to easily to broadcast data to multiple consumers. 48 Additionally, the \code{flush} routine is more performant then looping around the \code{insert} operation since it can deliver the elements without having to rea quire mutual exclusion for each element sent.53 \item A \code{flush} routine that delivers copies of an element to all waiting consumers, flushing the buffer. 54 Programmers can use this to easily to broadcast data to multiple consumers. 55 Additionally, the \code{flush} routine is more performant then looping around the \code{insert} operation since it can deliver the elements without having to reacquire mutual exclusion for each element sent. 49 56 \end{itemize} 50 57 51 The other safety and productivity feature of \CFA channels deals with concurrent termination. 52 Terminating concurrent programs is often one of the most difficult parts of writing concurrent code, particularly if graceful termination is needed. 53 The difficulty of graceful termination often arises from the usage of synchronization primitives which need to be handled carefully during shutdown. 54 It is easy to deadlock during termination if threads are left behind on synchronization primitives. 55 Additionally, most synchronization primitives are prone to \gls{toctou} issues where there is race between one thread checking the state of a concurrent object and another thread changing the state. 56 \gls{toctou} issues with synchronization primitives often involve a race between one thread checking the primitive for blocked threads and another thread blocking on it. 57 Channels are a particularly hard synchronization primitive to terminate since both sending and receiving off a channel can block. 58 The other safety and productivity feature of \CFA channels deals with concurrent termination. 59 Terminating concurrent programs is often one of the most difficult parts of writing concurrent code, particularly if graceful termination is needed. 60 The difficulty of graceful termination often arises from the usage of synchronization primitives which need to be handled carefully during shutdown. 61 It is easy to deadlock during termination if threads are left behind on synchronization primitives. 62 Additionally, most synchronization primitives are prone to \gls{toctou} issues where there is race between one thread checking the state of a concurrent object and another thread changing the state. 63 \gls{toctou} issues with synchronization primitives often involve a race between one thread checking the primitive for blocked threads and another thread blocking on it. 64 Channels are a particularly hard synchronization primitive to terminate since both sending and receiving off a channel can block. 58 65 Thus, improperly handled \gls{toctou} issues with channels often result in deadlocks as threads trying to perform the termination may end up unexpectedly blocking in their attempt to help other threads exit the system. 59 66 60 67 % C_TODO: add reference to select chapter, add citation to go channels info 61 Go channels provide a set of tools to help with concurrent shutdown. 62 Channels in Go have a \code{close} operation and a \code{select} statement that both can be used to help threads terminate. 63 The \code{select} statement will be discussed in \ref{}, where \CFA's \code{waituntil} statement will be compared with the Go \code{select} statement. 64 The \code{close} operation on a channel in Go changes the state of the channel. 65 When a channel is closed, sends to the channel will panic and additional calls to \code{close} will panic. 66 Receives are handled differently where receivers will never block on a closed channel and will continue to remove elements from the channel. 67 Once a channel is empty, receivers can continue to remove elements, but will receive the zero-value version of the element type. 68 To aid in avoiding unwanted zero-value elements, Go provides the ability to iterate over a closed channel to remove the remaining elements. 69 These design choices for Go channels enforce a specific interaction style with channels during termination, where careful thought is needed to ensure that additional \code{close} calls don't occur and that no sends occur after channels are closed. 70 These design choices fit Go's paradigm of error management, where users are expected to explicitly check for errors, rather than letting errors occur and catching them. 71 If errors need to occur in Go, return codes are used to pass error information where they are needed. 68 Go channels provide a set of tools to help with concurrent shutdown. 69 Channels in Go have a \code{close} operation and a \code{select} statement that both can be used to help threads terminate. 70 The \code{select} statement will be discussed in \ref{}, where \CFA's \code{waituntil} statement will be compared with the Go \code{select} statement. 71 The \code{close} operation on a channel in Go changes the state of the channel. 72 When a channel is closed, sends to the channel will panic and additional calls to \code{close} will panic. 73 Receives are handled differently where receivers will never block on a closed channel and will continue to remove elements from the channel. 74 Once a channel is empty, receivers can continue to remove elements, but will receive the zero-value version of the element type. 75 To aid in avoiding unwanted zero-value elements, Go provides the ability to iterate over a closed channel to remove the remaining elements. 76 These design choices for Go channels enforce a specific interaction style with channels during termination, where careful thought is needed to ensure that additional \code{close} calls don't occur and that no sends occur after channels are closed. 77 These design choices fit Go's paradigm of error management, where users are expected to explicitly check for errors, rather than letting errors occur and catching them. 78 If errors need to occur in Go, return codes are used to pass error information where they are needed. 72 79 Note that panics in Go can be caught, but it is not considered an idiomatic way to write Go programs. 73 80 74 While Go's channel closing semantics are powerful enough to perform any concurrent termination needed by a program, their lack of ease of use leaves much to be desired. 75 Since both closing and sending panic, once a channel is closed, a user often has to synchronize the senders to a channel before the channel can be closed to avoid panics. 76 However, in doing so it renders the \code{close} operation nearly useless, as the only utilities it provides are the ability to ensure that receivers no longer block on the channel, and will receive zero-valued elements. 77 This can be useful if the zero-typed element is recognized as a sentinel value, but if another sentinel value is preferred, then \code{close} only provides its non-blocking feature. 78 To avoid \gls{toctou} issues during shutdown, a busy wait with a \code{select} statement is often used to add or remove elements from a channel. 81 While Go's channel closing semantics are powerful enough to perform any concurrent termination needed by a program, their lack of ease of use leaves much to be desired. 82 Since both closing and sending panic, once a channel is closed, a user often has to synchronize the senders to a channel before the channel can be closed to avoid panics. 83 However, in doing so it renders the \code{close} operation nearly useless, as the only utilities it provides are the ability to ensure that receivers no longer block on the channel, and will receive zero-valued elements. 84 This can be useful if the zero-typed element is recognized as a sentinel value, but if another sentinel value is preferred, then \code{close} only provides its non-blocking feature. 85 To avoid \gls{toctou} issues during shutdown, a busy wait with a \code{select} statement is often used to add or remove elements from a channel. 79 86 Due to Go's asymmetric approach to channel shutdown, separate synchronization between producers and consumers of a channel has to occur during shutdown. 80 87 … … 82 89 As such \CFA uses an exception based approach to channel shutdown that is symmetric for both producers and consumers, and supports graceful shutdown.Exceptions in \CFA support both termination and resumption.Termination exceptions operate in the same way as exceptions seen in many popular programming languages such as \CC, Python and Java. 83 90 Resumption exceptions are a style of exception that when caught run the corresponding catch block in the same way that termination exceptions do. 84 The difference between the exception handling mechanisms arises after the exception is handled. 85 In termination handling, the control flow continues into the code following the catch after the exception is handled. 86 In resumption handling, the control flow returns to the site of the \code{throw}, allowing the control to continue where it left off. 87 Note that in resumption, since control can return to the point of error propagation, the stack is not unwound during resumption propagation. 88 In \CFA if a resumption is not handled, it is reraised as a termination. 91 The difference between the exception handling mechanisms arises after the exception is handled. 92 In termination handling, the control flow continues into the code following the catch after the exception is handled. 93 In resumption handling, the control flow returns to the site of the \code{throw}, allowing the control to continue where it left off. 94 Note that in resumption, since control can return to the point of error propagation, the stack is not unwound during resumption propagation. 95 In \CFA if a resumption is not handled, it is reraised as a termination. 89 96 This mechanism can be used to create a flexible and robust termination system for channels. 90 97 91 When a channel in \CFA is closed, all subsequent calls to the channel will throw a resumption exception at the caller. 92 If the resumption is handled, then the caller will proceed to attempt to complete their operation. 93 If the resumption is not handled it is then rethrown as a termination exception. 94 Or, if the resumption is handled, but the subsequent attempt at an operation would block, a termination exception is thrown. 95 These termination exceptions allow for non-local transfer that can be used to great effect to eagerly and gracefully shut down a thread. 96 When a channel is closed, if there are any blocked producers or consumers inside the channel, they are woken up and also have a resumption thrown at them. 97 The resumption exception, \code{channel_closed}, has a couple fields to aid in handling the exception. 98 The exception contains a pointer to the channel it was thrown from, and a pointer to an element. 99 In exceptions thrown from remove the element pointer will be null. 100 In the case of insert the element pointer points to the element that the thread attempted to insert. 101 This element pointer allows the handler to know which operation failed and also allows the element to not be lost on a failed insert since it can be moved elsewhere in the handler. 102 Furthermore, due to \CFA's powerful exception system, this data can be used to choose handlers based which channel and operation failed. 103 Exception handlers in \CFA have an optional predicate after the exception type which can be used to optionally trigger or skip handlers based on the content of an exception. 104 It is worth mentioning that the approach of exceptions for termination may incur a larger performance cost during termination that the approach used in Go. 98 When a channel in \CFA is closed, all subsequent calls to the channel will throw a resumption exception at the caller. 99 If the resumption is handled, then the caller will proceed to attempt to complete their operation. 100 If the resumption is not handled it is then rethrown as a termination exception. 101 Or, if the resumption is handled, but the subsequent attempt at an operation would block, a termination exception is thrown. 102 These termination exceptions allow for non-local transfer that can be used to great effect to eagerly and gracefully shut down a thread. 103 When a channel is closed, if there are any blocked producers or consumers inside the channel, they are woken up and also have a resumption thrown at them. 104 The resumption exception, \code{channel_closed}, has a couple fields to aid in handling the exception. 105 The exception contains a pointer to the channel it was thrown from, and a pointer to an element. 106 In exceptions thrown from remove the element pointer will be null. 107 In the case of insert the element pointer points to the element that the thread attempted to insert. 108 This element pointer allows the handler to know which operation failed and also allows the element to not be lost on a failed insert since it can be moved elsewhere in the handler. 109 Furthermore, due to \CFA's powerful exception system, this data can be used to choose handlers based which channel and operation failed. 110 Exception handlers in \CFA have an optional predicate after the exception type which can be used to optionally trigger or skip handlers based on the content of an exception. 111 It is worth mentioning that the approach of exceptions for termination may incur a larger performance cost during termination that the approach used in Go. 105 112 This should not be an issue, since termination is rarely an fast-path of an application and ensuring that termination can be implemented correctly with ease is the aim of the exception approach. 106 113 107 To highlight the differences between \CFA's and Go's close semantics, an example program is presented. 108 The program is a barrier implemented using two channels shown in Listings~\ref{l:cfa_chan_bar} and \ref{l:go_chan_bar}. 109 Both of these exa ples are implmented using \CFA syntax so that they can be easily compared.110 Listing~\ref{l:go_chan_bar} uses go-style channel close semantics and Listing~\ref{l:cfa_chan_bar} uses \CFA close semantics. 111 In this problem it is infeasible to use the Go \code{close} call since all tasks are both potentially producers and consumers, causing panics on close to be unavoidable. 112 As such in Listing~\ref{l:go_chan_bar} to implement a flush routine for the buffer, a sentinel value of $-1$ has to be used to indicate to threads that they need to leave the barrier. 113 This sentinel value has to be checked at two points. 114 Furthermore, an additional flag \code{done} is needed to communicate to threads once they have left the barrier that they are done. 115 This use of an additional flag or communication method is common in Go channel shutdown code, since to avoid panics on a channel, the shutdown of a channel often has to be communicated with threads before it occurs. 116 In the \CFA version~\ref{l:cfa_chan_bar}, the barrier shutdown results in an exception being thrown at threads operating on it, which informs the threads that they must terminate. 117 This avoids the need to use a separate communication method other than the barrier, and avoids extra conditional checks on the fast path of the barrier implementation. 114 To highlight the differences between \CFA's and Go's close semantics, an example program is presented. 115 The program is a barrier implemented using two channels shown in Listings~\ref{l:cfa_chan_bar} and \ref{l:go_chan_bar}. 116 Both of these examples are implemented using \CFA syntax so that they can be easily compared. 117 Listing~\ref{l:go_chan_bar} uses go-style channel close semantics and Listing~\ref{l:cfa_chan_bar} uses \CFA close semantics. 118 In this problem it is infeasible to use the Go \code{close} call since all tasks are both potentially producers and consumers, causing panics on close to be unavoidable. 119 As such in Listing~\ref{l:go_chan_bar} to implement a flush routine for the buffer, a sentinel value of $-1$ has to be used to indicate to threads that they need to leave the barrier. 120 This sentinel value has to be checked at two points. 121 Furthermore, an additional flag \code{done} is needed to communicate to threads once they have left the barrier that they are done. 122 This use of an additional flag or communication method is common in Go channel shutdown code, since to avoid panics on a channel, the shutdown of a channel often has to be communicated with threads before it occurs. 123 In the \CFA version~\ref{l:cfa_chan_bar}, the barrier shutdown results in an exception being thrown at threads operating on it, which informs the threads that they must terminate. 124 This avoids the need to use a separate communication method other than the barrier, and avoids extra conditional checks on the fast path of the barrier implementation. 118 125 Also note that in the Go version~\ref{l:go_chan_bar}, the size of the barrier channels has to be larger than in the \CFA version to ensure that the main thread does not block when attempting to clear the barrier. 119 126 120 \begin{cfa}[ tabsize=3,caption={\CFA channel barrier termination},label={l:cfa_chan_bar}]127 \begin{cfa}[caption={\CFA channel barrier termination},label={l:cfa_chan_bar}] 121 128 struct barrier { 122 123 124 129 channel( int ) barWait; 130 channel( int ) entryWait; 131 int size; 125 132 } 126 133 void ?{}(barrier & this, int size) with(this) { 127 128 129 130 131 134 barWait{size}; 135 entryWait{size}; 136 this.size = size; 137 for ( j; size ) 138 insert( *entryWait, j ); 132 139 } 133 140 134 141 void flush(barrier & this) with(this) { 135 136 142 close(barWait); 143 close(entryWait); 137 144 } 138 145 void wait(barrier & this) with(this) { 139 140 141 142 143 144 145 146 147 148 149 150 151 146 int ticket = remove( *entryWait ); 147 if ( ticket == size - 1 ) { 148 for ( j; size - 1 ) 149 insert( *barWait, j ); 150 return; 151 } 152 ticket = remove( *barWait ); 153 154 // last one out 155 if ( size == 1 || ticket == size - 2 ) { 156 for ( j; size ) 157 insert( *entryWait, j ); 158 } 152 159 } 153 160 barrier b{Tasks}; … … 155 162 // thread main 156 163 void main(Task & this) { 157 158 159 160 161 164 try { 165 for ( ;; ) { 166 wait( b ); 167 } 168 } catch ( channel_closed * e ) {} 162 169 } 163 170 164 171 int main() { 165 166 167 168 169 170 171 172 { 173 Task t[Tasks]; 174 175 sleep(10`s); 176 flush( b ); 177 } // wait for tasks to terminate 178 return 0; 172 179 } 173 180 \end{cfa} 174 181 175 \begin{cfa}[ tabsize=3,caption={Go channel barrier termination},label={l:go_chan_bar}]182 \begin{cfa}[caption={Go channel barrier termination},label={l:go_chan_bar}] 176 183 177 184 struct barrier { 178 179 180 185 channel( int ) barWait; 186 channel( int ) entryWait; 187 int size; 181 188 } 182 189 void ?{}(barrier & this, int size) with(this) { 183 184 185 186 187 190 barWait{size + 1}; 191 entryWait{size + 1}; 192 this.size = size; 193 for ( j; size ) 194 insert( *entryWait, j ); 188 195 } 189 196 190 197 void flush(barrier & this) with(this) { 191 192 198 insert( *entryWait, -1 ); 199 insert( *barWait, -1 ); 193 200 } 194 201 void wait(barrier & this) with(this) { 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 202 int ticket = remove( *entryWait ); 203 if ( ticket == -1 ) { 204 insert( *entryWait, -1 ); 205 return; 206 } 207 if ( ticket == size - 1 ) { 208 for ( j; size - 1 ) 209 insert( *barWait, j ); 210 return; 211 } 212 ticket = remove( *barWait ); 213 if ( ticket == -1 ) { 214 insert( *barWait, -1 ); 215 return; 216 } 217 218 // last one out 219 if ( size == 1 || ticket == size - 2 ) { 220 for ( j; size ) 221 insert( *entryWait, j ); 222 } 216 223 } 217 224 barrier b; … … 220 227 // thread main 221 228 void main(Task & this) { 222 223 224 225 229 for ( ;; ) { 230 if ( done ) break; 231 wait( b ); 232 } 226 233 } 227 234 228 235 int main() { 229 230 231 232 233 234 235 236 237 236 { 237 Task t[Tasks]; 238 239 sleep(10`s); 240 done = true; 241 242 flush( b ); 243 } // wait for tasks to terminate 244 return 0; 238 245 } 239 246 \end{cfa} 240 247 241 In Listing~\ref{l:cfa_resume} an example of channel closing with resumption is used. 242 This program uses resumption in the \code{Consumer} thread main to ensure that all elements in the channel are removed before the consumer thread terminates. 243 The producer only has a \code{catch} so the moment it receives an exception it terminates, whereas the consumer will continue to remove from the closed channel via handling resumptions until the buffer is empty, which then throws a termination exception. 248 In Listing~\ref{l:cfa_resume} an example of channel closing with resumption is used. 249 This program uses resumption in the \code{Consumer} thread main to ensure that all elements in the channel are removed before the consumer thread terminates. 250 The producer only has a \code{catch} so the moment it receives an exception it terminates, whereas the consumer will continue to remove from the closed channel via handling resumptions until the buffer is empty, which then throws a termination exception. 244 251 If the same program was implemented in Go it would require explicit synchronization with both producers and consumers by some mechanism outside the channel to ensure that all elements were removed before task termination. 245 252 246 \begin{cfa}[ tabsize=3,caption={\CFA channel resumption usage},label={l:cfa_resume}]253 \begin{cfa}[caption={\CFA channel resumption usage},label={l:cfa_resume}] 247 254 channel( int ) chan{ 128 }; 248 255 249 256 // Consumer thread main 250 257 void main(Consumer & this) { 251 252 253 254 255 256 257 catch ( channel_closed * e ) {} 258 size_t runs = 0; 259 try { 260 for ( ;; ) { 261 remove( chan ); 262 } 263 } catchResume ( channel_closed * e ) {} 264 catch ( channel_closed * e ) {} 258 265 } 259 266 260 267 // Producer thread main 261 268 void main(Producer & this) { 262 263 264 265 266 267 } catch ( channel_closed * e ) {} 269 int j = 0; 270 try { 271 for ( ;;j++ ) { 272 insert( chan, j ); 273 } 274 } catch ( channel_closed * e ) {} 268 275 } 269 276 270 277 int main( int argc, char * argv[] ) { 271 272 273 274 275 276 277 278 279 280 278 { 279 Consumers c[4]; 280 Producer p[4]; 281 282 sleep(10`s); 283 284 for ( i; Channels ) 285 close( channels[i] ); 286 } 287 return 0; 281 288 } 282 289 \end{cfa} … … 284 291 \section{Performance} 285 292 286 Given that the base implementation of the \CFA channels is very similar to the Go implementation, this section aims to show that the performance of the two implementations are comparable. 287 One microbenchmark is conducted to compare Go and \CFA. 288 The benchmark is a ten second experiment where producers and consumers operate on a channel in parallel and throughput is measured. 289 The number of cores is varied to measure how through tput scales.290 The cores are divided equally between producers and consumers, with one producer or consumer owning each core. 291 The results of the benchmark are shown in Figure~\ref{f:chanPerf}. 292 The performance of Go and \CFA channels on this microbenchmark is comparable. 293 Given that the base implementation of the \CFA channels is very similar to the Go implementation, this section aims to show that the performance of the two implementations are comparable. 294 One microbenchmark is conducted to compare Go and \CFA. 295 The benchmark is a ten second experiment where producers and consumers operate on a channel in parallel and throughput is measured. 296 The number of cores is varied to measure how throughput scales. 297 The cores are divided equally between producers and consumers, with one producer or consumer owning each core. 298 The results of the benchmark are shown in Figure~\ref{f:chanPerf}. 299 The performance of Go and \CFA channels on this microbenchmark is comparable. 293 300 Note, it is expected for the performance to decline as the number of cores increases as the channel operations all occur in a critical section so an increase in cores results in higher contention with no increase in parallelism. 294 301 295 302 296 303 \begin{figure} 297 \centering 298 \begin{subfigure}{0.5\textwidth} 299 \centering 300 \scalebox{0.5}{\input{figures/nasus_Channel_Contention.pgf}} 301 \subcaption{AMD \CFA Channel Benchmark}\label{f:chanAMD} 302 \end{subfigure}\hfill 303 \begin{subfigure}{0.5\textwidth} 304 \centering 305 \scalebox{0.5}{\input{figures/pyke_Channel_Contention.pgf}} 306 \subcaption{Intel \CFA Channel Benchmark}\label{f:chanIntel} 307 \end{subfigure} 308 \caption{The channel contention benchmark comparing \CFA and Go channel throughput (higher is better).} 309 \label{f:chanPerf} 304 \centering 305 \subfloat[AMD \CFA Channel Benchmark]{ 306 \resizebox{0.5\textwidth}{!}{\input{figures/nasus_Channel_Contention.pgf}} 307 \label{f:chanAMD} 308 } 309 \subfloat[Intel \CFA Channel Benchmark]{ 310 \resizebox{0.5\textwidth}{!}{\input{figures/pyke_Channel_Contention.pgf}} 311 \label{f:chanIntel} 312 } 313 \caption{The channel contention benchmark comparing \CFA and Go channel throughput (higher is better).} 314 \label{f:chanPerf} 310 315 \end{figure} 316 317 % Local Variables: % 318 % tab-width: 4 % 319 % End: % -
doc/theses/colby_parsons_MMAth/text/mutex_stmt.tex
ra50fdfb r6e1e2d0 5 5 % ====================================================================== 6 6 7 The mutex statement is a concurrent language feature that aims to support easy lock usage. 8 The mutex statement is in the form of a clause and following statement, similar to a loop or conditional statement. 9 In the clause the mutex statement accepts a number of lockable objects, and then locks them for the duration of the following statement. 10 The locks are acquired in a deadlock free manner and released using \gls{raii}. 11 The mutex statement provides an avenue for easy lock usage in the common case where locks are used to wrap a critical section. 12 Additionally, it provides the safety guarantee of deadlock-freedom, both by acquiring the locks in a deadlock-free manner, and by ensuring that the locks release on error, or normal program execution via \gls{raii}. 13 14 \begin{cfa}[tabsize=3,caption={\CFA mutex statement usage},label={l:cfa_mutex_ex}] 7 The mutual exclusion problem was introduced by Dijkstra in 1965~\cite{Dijkstra65,Dijkstra65a}. 8 There are several concurrent processes or threads that communicate by shared variables and from time to time need exclusive access to shared resources. 9 A shared resource and code manipulating it form a pairing called a \Newterm{critical section (CS)}, which is a many-to-one relationship; 10 \eg if multiple files are being written to by multiple threads, only the pairings of simultaneous writes to the same files are CSs. 11 Regions of code where the thread is not interested in the resource are combined into the \Newterm{non-critical section (NCS)}. 12 13 Exclusive access to a resource is provided by \Newterm{mutual exclusion (MX)}. 14 MX is implemented by some form of \emph{lock}, where the CS is bracketed by lock procedures @acquire@ and @release@. 15 Threads execute a loop of the form: 16 \begin{cfa} 17 loop of $thread$ p: 18 NCS; 19 acquire( lock ); CS; release( lock ); // protected critical section with MX 20 end loop. 21 \end{cfa} 22 MX guarantees there is never more than one thread in the CS. 23 MX must also guarantee eventual progress: when there are competing threads attempting access, eventually some competing thread succeeds, \ie acquires the CS, releases it, and returns to the NCS. 24 % Lamport \cite[p.~329]{Lam86mx} extends this requirement to the exit protocol. 25 A stronger constraint is that every thread that calls @acquire@ eventually succeeds after some reasonable bounded time. 26 27 \section{Monitor} 28 \CFA provides a high-level locking object, called a \Newterm{monitor}, an elegant, efficient, high-level mechanisms for mutual exclusion and synchronization for shared-memory systems. 29 First proposed by Brinch Hansen~\cite{Hansen73} and later described and extended by C.A.R.~Hoare~\cite{Hoare74}, several concurrent programming languages provide monitors as an explicit language construct: \eg Concurrent Pascal~\cite{ConcurrentPascal}, Mesa~\cite{Mesa}, Turing~\cite{Turing:old}, Modula-3~\cite{Modula-3}, \uC~\cite{Buhr92a} and Java~\cite{Java}. 30 In addition, operating-system kernels and device drivers have a monitor-like structure, although they often use lower-level primitives such as mutex locks or semaphores to manually implement a monitor. 31 32 Figure~\ref{f:AtomicCounter} shows a \CFA and Java monitor implementing an atomic counter. 33 A \Newterm{monitor} is a programming technique that implicitly binds mutual exclusion to static function scope by call and return. 34 Lock mutual exclusion, defined by acquire/release calls, is independent of lexical context (analogous to block versus heap storage allocation). 35 Restricting acquire and release points in a monitor eases programming, comprehension, and maintenance, at a slight cost in flexibility and efficiency. 36 Ultimately, a monitor is implemented using a combination of basic locks and atomic instructions. 37 38 \begin{figure} 39 \centering 40 41 \begin{lrbox}{\myboxA} 42 \begin{cfa}[aboveskip=0pt,belowskip=0pt] 43 @monitor@ Aint { 44 int cnt; 45 }; 46 int ++?( Aint & @mutex@ m ) { return ++m.cnt; } 47 int ?=?( Aint & @mutex@ l, int r ) { l.cnt = r; } 48 int ?=?(int & l, Aint & r) { l = r.cnt; } 49 50 int i = 0, j = 0; 51 Aint x = { 0 }, y = { 0 }; $\C[1.5in]{// no mutex}$ 52 ++x; ++y; $\C{// mutex}$ 53 x = 2; y = i; $\C{// mutex}$ 54 i = x; j = y; $\C{// no mutex}\CRT$ 55 \end{cfa} 56 \end{lrbox} 57 58 \begin{lrbox}{\myboxB} 59 \begin{java}[aboveskip=0pt,belowskip=0pt] 60 class Aint { 61 private int cnt; 62 public Aint( int init ) { cnt = init; } 63 @synchronized@ public int inc() { return ++cnt; } 64 @synchronized@ public void set( int r ) {cnt = r;} 65 public int get() { return cnt; } 66 } 67 int i = 0, j = 0; 68 Aint x = new Aint( 0 ), y = new Aint( 0 ); 69 x.inc(); y.inc(); 70 x.set( 2 ); y.set( i ); 71 i = x.get(); j = y.get(); 72 \end{java} 73 \end{lrbox} 74 75 \subfloat[\CFA]{\label{f:AtomicCounterCFA}\usebox\myboxA} 76 \hspace*{3pt} 77 \vrule 78 \hspace*{3pt} 79 \subfloat[Java]{\label{f:AtomicCounterJava}\usebox\myboxB} 80 \caption{Atomic integer counter} 81 \label{f:AtomicCounter} 82 \end{figure} 83 84 Like Java, \CFA monitors have \Newterm{multi-acquire} semantics so the thread in the monitor may acquire it multiple times without deadlock, allowing recursion and calling other MX functions. 85 For robustness, \CFA monitors ensure the monitor lock is released regardless of how an acquiring function ends, normal or exceptional, and returning a shared variable is safe via copying before the lock is released. 86 Monitor objects can be passed through multiple helper functions without acquiring mutual exclusion, until a designated function associated with the object is called. 87 \CFA functions are designated MX by one or more pointer/reference parameters having qualifier @mutex@. 88 Java members are designated MX with \lstinline[language=java]{synchronized}, which applies only to the implicit receiver parameter. 89 In the example, the increment and setter operations need mutual exclusion, while the read-only getter operation is not MX because reading an integer is atomic. 90 91 As stated, the non-object-oriented nature of \CFA monitors allows a function to acquire multiple mutex objects. 92 For example, the bank-transfer problem requires locking two bank accounts to safely debit and credit money between accounts. 93 \begin{cfa} 94 monitor BankAccount { 95 int balance; 96 }; 97 void deposit( BankAccount & mutex b, int deposit ) with( b ) { 98 balance += deposit; 99 } 100 void transfer( BankAccount & mutex my, BankAccount & mutex your, int me2you ) { 101 deposit( my, -me2you ); $\C{// debit}$ 102 deposit( your, me2you ); $\C{// credit}$ 103 } 104 \end{cfa} 105 The \CFA monitor implementation ensures multi-lock acquisition is done in a deadlock-free manner regardless of the number of MX parameters and monitor arguments. 106 107 108 \section{\lstinline{mutex} statement} 109 Restricting implicit lock acquisition to function entry and exit can be awkward for certain problems. 110 To increase locking flexibility, some languages introduce a mutex statement. 111 \VRef[Figure]{f:ReadersWriter} shows the outline of a reader/writer lock written as a \CFA monitor and mutex statements. 112 (The exact lock implement is irrelevant.) 113 The @read@ and @write@ functions are called with a reader/write lock and any arguments to perform reading or writing. 114 The @read@ function is not MX because multiple readers can read simultaneously. 115 MX is acquired within @read@ by calling the (nested) helper functions @StartRead@ and @EndRead@ or executing the mutex statements. 116 Between the calls or statements, reads can execute simultaneous within the body of @read@. 117 The @write@ function does not require refactoring because writing is a CS. 118 The mutex-statement version is better because it has fewer names, less argument/parameter passing, and can possibly hold MX for a shorter duration. 119 120 \begin{figure} 121 \centering 122 123 \begin{lrbox}{\myboxA} 124 \begin{cfa}[aboveskip=0pt,belowskip=0pt] 125 monitor RWlock { ... }; 126 void read( RWlock & rw, ... ) { 127 void StartRead( RWlock & @mutex@ rw ) { ... } 128 void EndRead( RWlock & @mutex@ rw ) { ... } 129 StartRead( rw ); 130 ... // read without MX 131 EndRead( rw ); 132 } 133 void write( RWlock & @mutex@ rw, ... ) { 134 ... // write with MX 135 } 136 \end{cfa} 137 \end{lrbox} 138 139 \begin{lrbox}{\myboxB} 140 \begin{cfa}[aboveskip=0pt,belowskip=0pt] 141 142 void read( RWlock & rw, ... ) { 143 144 145 @mutex@( rw ) { ... } 146 ... // read without MX 147 @mutex@{ rw ) { ... } 148 } 149 void write( RWlock & @mutex@ rw, ... ) { 150 ... // write with MX 151 } 152 \end{cfa} 153 \end{lrbox} 154 155 \subfloat[monitor]{\label{f:RWmonitor}\usebox\myboxA} 156 \hspace*{3pt} 157 \vrule 158 \hspace*{3pt} 159 \subfloat[mutex statement]{\label{f:RWmutexstmt}\usebox\myboxB} 160 \caption{Readers writer problem} 161 \label{f:ReadersWriter} 162 \end{figure} 163 164 This work adds a mutex statement to \CFA, but generalizes it beyond implicit monitor locks. 165 In detail, the mutex statement has a clause and statement block, similar to a conditional or loop statement. 166 The clause accepts any number of lockable objects (like a \CFA MX function prototype), and locks them for the duration of the statement. 167 The locks are acquired in a deadlock free manner and released regardless of how control-flow exits the statement. 168 The mutex statement provides easy lock usage in the common case of lexically wrapping a CS. 169 Examples of \CFA mutex statement are shown in \VRef[Listing]{l:cfa_mutex_ex}. 170 171 \begin{cfa}[caption={\CFA mutex statement usage},label={l:cfa_mutex_ex}] 15 172 owner_lock lock1, lock2, lock3; 16 int count = 0; 17 mutex( lock1, lock2, lock3 ) { 18 // can use block statement 19 // ... 20 } 21 mutex( lock2, lock3 ) count++; // or inline statement 173 @mutex@( lock2, lock3 ) ...; $\C{// inline statement}$ 174 @mutex@( lock1, lock2, lock3 ) { ... } $\C{// statement block}$ 175 void transfer( BankAccount & my, BankAccount & your, int me2you ) { 176 ... // check values, no MX 177 @mutex@( my, your ) { // MX is shorter duration that function body 178 deposit( my, -me2you ); $\C{// debit}$ 179 deposit( your, me2you ); $\C{// credit}$ 180 } 181 } 22 182 \end{cfa} 23 183 24 184 \section{Other Languages} 25 There are similar concepts to the mutex statement that exist in other languages. 26 Java has a feature called a synchronized statement, which looks identical to \CFA's mutex statement, but it has some differences. 27 The synchronized statement only accepts a single object in its clause. 28 Any object can be passed to the synchronized statement in Java since all objects in Java are monitors, and the synchronized statement acquires that object's monitor. 29 In \CC there is a feature in the standard library \code{<mutex>} header called scoped\_lock, which is also similar to the mutex statement. 30 The scoped\_lock is a class that takes in any number of locks in its constructor, and acquires them in a deadlock-free manner. 31 It then releases them when the scoped\_lock object is deallocated, thus using \gls{raii}. 32 An example of \CC scoped\_lock usage is shown in Listing~\ref{l:cc_scoped_lock}. 33 34 \begin{cfa}[tabsize=3,caption={\CC scoped\_lock usage},label={l:cc_scoped_lock}] 35 std::mutex lock1, lock2, lock3; 36 { 37 scoped_lock s( lock1, lock2, lock3 ) 38 // locks are released via raii at end of scope 39 } 185 There are similar constructs to the mutex statement in other programming languages. 186 Java has a feature called a synchronized statement, which looks like the \CFA's mutex statement, but only accepts a single object in the clause and only handles monitor locks. 187 The \CC standard library has a @scoped_lock@, which is also similar to the mutex statement. 188 The @scoped_lock@ takes any number of locks in its constructor, and acquires them in a deadlock-free manner. 189 It then releases them when the @scoped_lock@ object is deallocated using \gls{raii}. 190 An example of \CC @scoped_lock@ is shown in \VRef[Listing]{l:cc_scoped_lock}. 191 192 \begin{cfa}[caption={\CC \lstinline{scoped_lock} usage},label={l:cc_scoped_lock}] 193 struct BankAccount { 194 @recursive_mutex m;@ $\C{// must be recursive}$ 195 int balance = 0; 196 }; 197 void deposit( BankAccount & b, int deposit ) { 198 @scoped_lock lock( b.m );@ $\C{// RAII acquire}$ 199 b.balance += deposit; 200 } $\C{// RAII release}$ 201 void transfer( BankAccount & my, BankAccount & your, int me2you ) { 202 @scoped_lock lock( my.m, your.m );@ $\C{// RAII acquire}$ 203 deposit( my, -me2you ); $\C{// debit}$ 204 deposit( your, me2you ); $\C{// credit}$ 205 } $\C{// RAII release}$ 40 206 \end{cfa} 41 207 42 208 \section{\CFA implementation} 43 The \CFA mutex statement takes some ideas from both the Java and \CC features. 44 The mutex statement can acquire more that one lock in a deadlock-free manner, and releases them via \gls{raii} like \CC, however the syntax is identical to the Java synchronized statement. 45 This syntactic choice was made so that the body of the mutex statement is its own scope. 46 Compared to the scoped\_lock, which relies on its enclosing scope, the mutex statement's introduced scope can provide visual clarity as to what code is being protected by the mutex statement, and where the mutual exclusion ends. 47 \CFA's mutex statement and \CC's scoped\_lock both use parametric polymorphism to allow user defined types to work with the feature. 48 \CFA's implementation requires types to support the routines \code{lock()} and \code{unlock()}, whereas \CC requires those routines, plus \code{try_lock()}. 49 The scoped\_lock requires an additional routine since it differs from the mutex statement in how it implements deadlock avoidance. 50 51 The parametric polymorphism allows for locking to be defined for types that may want convenient mutual exclusion. 52 An example of one such use case in \CFA is \code{sout}. 53 The output stream in \CFA is called \code{sout}, and functions similarly to \CC's \code{cout}. 54 \code{sout} has routines that satisfy the mutex statement trait, so the mutex statement can be used to lock the output stream while producing output. 55 In this case, the mutex statement allows the programmer to acquire mutual exclusion over an object without having to know the internals of the object or what locks need to be acquired. 56 The ability to do so provides both improves safety and programmer productivity since it abstracts away the concurrent details and provides an interface for optional thread-safety. 57 This is a commonly used feature when producing output from a concurrent context, since producing output is not thread safe by default. 58 This use case is shown in Listing~\ref{l:sout}. 59 60 \begin{cfa}[tabsize=3,caption={\CFA sout with mutex statement},label={l:sout}] 61 mutex( sout ) 62 sout | "This output is protected by mutual exclusion!"; 63 \end{cfa} 64 65 \section{Deadlock Avoidance} 66 The mutex statement uses the deadlock prevention technique of lock ordering, where the circular-wait condition of a deadlock cannot occur if all locks are acquired in the same order. 67 The scoped\_lock uses a deadlock avoidance algorithm where all locks after the first are acquired using \code{try_lock} and if any of the attempts to lock fails, all locks so far are released. 68 This repeats until all locks are acquired successfully. 69 The deadlock avoidance algorithm used by scoped\_lock is shown in Listing~\ref{l:cc_deadlock_avoid}. 70 The algorithm presented is taken directly from the source code of the \code{<mutex>} header, with some renaming and comments for clarity. 71 72 \begin{cfa}[caption={\CC scoped\_lock deadlock avoidance algorithm},label={l:cc_deadlock_avoid}] 209 The \CFA mutex statement takes some ideas from both the Java and \CC features. 210 Like Java, \CFA introduces a new statement rather than building from existing language features. 211 (\CFA has sufficient language features to mimic \CC RAII locking.) 212 This syntactic choice makes MX explicit rather than implicit via object declarations. 213 Hence, it is easier for programmers and language tools to identify MX points in a program, \eg scan for all @mutex@ parameters and statements in a body of code. 214 Furthermore, concurrent safety is provided across an entire program for the complex operation of acquiring multiple locks in a deadlock-free manner. 215 Unlike Java, \CFA's mutex statement and \CC's @scoped_lock@ both use parametric polymorphism to allow user defined types to work with this feature. 216 In this case, the polymorphism allows a locking mechanism to acquire MX over an object without having to know the object internals or what kind of lock it is using. 217 \CFA's provides and uses this locking trait: 218 \begin{cfa} 219 forall( L & | sized(L) ) 220 trait is_lock { 221 void lock( L & ); 222 void unlock( L & ); 223 }; 224 \end{cfa} 225 \CC @scoped_lock@ has this trait implicitly based on functions accessed in a template. 226 @scoped_lock@ also requires @try_lock@ because of its technique for deadlock avoidance \see{\VRef{s:DeadlockAvoidance}}. 227 228 The following shows how the @mutex@ statement is used with \CFA streams to eliminate unpredictable results when printing in a concurrent program. 229 For example, if two threads execute: 230 \begin{cfa} 231 thread$\(_1\)$ : sout | "abc" | "def"; 232 thread$\(_2\)$ : sout | "uvw" | "xyz"; 233 \end{cfa} 234 any of the outputs can appear, included a segment fault due to I/O buffer corruption: 235 \begin{cquote} 236 \small\tt 237 \begin{tabular}{@{}l|l|l|l|l@{}} 238 abc def & abc uvw xyz & uvw abc xyz def & abuvwc dexf & uvw abc def \\ 239 uvw xyz & def & & yz & xyz 240 \end{tabular} 241 \end{cquote} 242 The stream type for @sout@ is defined to satisfy the @is_lock@ trait, so the @mutex@ statement can be used to lock an output stream while producing output. 243 From the programmer's perspective, it is sufficient to know an object can be locked and then any necessary MX is easily available via the @mutex@ statement. 244 This ability improves safety and programmer productivity since it abstracts away the concurrent details. 245 Hence, a programmer can easily protect cascaded I/O expressions: 246 \begin{cfa} 247 thread$\(_1\)$ : mutex( sout ) sout | "abc" | "def"; 248 thread$\(_2\)$ : mutex( sout ) sout | "uvw" | "xyz"; 249 \end{cfa} 250 constraining the output to two different lines in either order: 251 \begin{cquote} 252 \small\tt 253 \begin{tabular}{@{}l|l@{}} 254 abc def & uvw xyz \\ 255 uvw xyz & abc def 256 \end{tabular} 257 \end{cquote} 258 where this level of safe nondeterministic output is acceptable. 259 Alternatively, multiple I/O statements can be protected using the mutex statement block: 260 \begin{cfa} 261 mutex( sout ) { // acquire stream lock for sout for block duration 262 sout | "abc"; 263 mutex( sout ) sout | "uvw" | "xyz"; // OK because sout lock is recursive 264 sout | "def"; 265 } // implicitly release sout lock 266 \end{cfa} 267 The inner lock acquire is likely to occur through a function call that does a thread-safe print. 268 269 \section{Deadlock Avoidance}\label{s:DeadlockAvoidance} 270 The mutex statement uses the deadlock avoidance technique of lock ordering, where the circular-wait condition of a deadlock cannot occur if all locks are acquired in the same order. 271 The @scoped_lock@ uses a deadlock avoidance algorithm where all locks after the first are acquired using @try_lock@ and if any of the lock attempts fail, all acquired locks are released. 272 This repeats after selecting a new starting point in a cyclic manner until all locks are acquired successfully. 273 This deadlock avoidance algorithm is shown in Listing~\ref{l:cc_deadlock_avoid}. 274 The algorithm is taken directly from the source code of the @<mutex>@ header, with some renaming and comments for clarity. 275 276 \begin{cfa}[caption={\CC \lstinline{scoped_lock} deadlock avoidance algorithm},label={l:cc_deadlock_avoid}] 73 277 int first = 0; // first lock to attempt to lock 74 278 do { 75 76 locks[first].lock(); // lock first lock 77 for (int i = 1; i < Num_Locks; ++i) { // iterate over rest of locks 78 79 if (!locks[idx].try_lock()) { // try lock each one 80 for (int j = i; j != 0; --j) // release all locks 81 82 first = idx; // rotate which lock to acquire first 83 84 85 279 // locks is the array of locks to acquire 280 locks[first].lock(); $\C{// lock first lock}$ 281 for ( int i = 1; i < Num_Locks; i += 1 ) { $\C{// iterate over rest of locks}$ 282 const int idx = (first + i) % Num_Locks; 283 if ( ! locks[idx].try_lock() ) { $\C{// try lock each one}$ 284 for ( int j = i; j != 0; j -= 1 ) $\C{// release all locks}$ 285 locks[(first + j - 1) % Num_Locks].unlock(); 286 first = idx; $\C{// rotate which lock to acquire first}$ 287 break; 288 } 289 } 86 290 // if first lock is still held then all have been acquired 87 } while (!locks[first].owns_lock()); // is first lock held? 88 \end{cfa} 89 90 The algorithm in \ref{l:cc_deadlock_avoid} successfully avoids deadlock, however there is a potential livelock scenario. 91 Given two threads $A$ and $B$, who create a scoped\_lock with two locks $L1$ and $L2$, a livelock can form as follows. 92 Thread $A$ creates a scoped\_lock with $L1$, $L2$, and $B$ creates a scoped lock with the order $L2$, $L1$. 93 Both threads acquire the first lock in their order and then fail the try\_lock since the other lock is held. 94 They then reset their start lock to be their 2nd lock and try again. 95 This time $A$ has order $L2$, $L1$, and $B$ has order $L1$, $L2$. 96 This is identical to the starting setup, but with the ordering swapped among threads. 97 As such, if they each acquire their first lock before the other acquires their second, they can livelock indefinitely. 98 99 The lock ordering algorithm used in the mutex statement in \CFA is both deadlock and livelock free. 100 It sorts the locks based on memory address and then acquires them. 101 For locks fewer than 7, it sorts using hard coded sorting methods that perform the minimum number of swaps for a given number of locks. 102 For 7 or more locks insertion sort is used. 103 These sorting algorithms were chosen since it is rare to have to hold more than a handful of locks at a time. 104 It is worth mentioning that the downside to the sorting approach is that it is not fully compatible with usages of the same locks outside the mutex statement. 105 If more than one lock is held by a mutex statement, if more than one lock is to be held elsewhere, it must be acquired via the mutex statement, or else the required ordering will not occur. 106 Comparitively, if the scoped\_lock is used and the same locks are acquired elsewhere, there is no concern of the scoped\_lock deadlocking, due to its avoidance scheme, but it may livelock. 291 } while ( ! locks[first].owns_lock() ); $\C{// is first lock held?}$ 292 \end{cfa} 293 294 While the algorithm in \ref{l:cc_deadlock_avoid} successfully avoids deadlock, there is a livelock scenario. 295 Assume two threads, $A$ and $B$, create a @scoped_lock@ accessing two locks, $L1$ and $L2$. 296 A livelock can form as follows. 297 Thread $A$ creates a @scoped_lock@ with arguments $L1$, $L2$, and $B$ creates a scoped lock with the lock arguments in the opposite order $L2$, $L1$. 298 Both threads acquire the first lock in their order and then fail the @try_lock@ since the other lock is held. 299 Both threads then reset their starting lock to be their second lock and try again. 300 This time $A$ has order $L2$, $L1$, and $B$ has order $L1$, $L2$, which is identical to the starting setup but with the ordering swapped between threads. 301 If the threads perform this action in lock-step, they cycle indefinitely without entering the CS, \ie livelock. 302 Hence, to use @scoped_lock@ safely, a programmer must manually construct and maintain a global ordering of lock arguments passed to @scoped_lock@. 303 304 The lock ordering algorithm used in \CFA mutex functions and statements is deadlock and livelock free. 305 The algorithm uses the lock memory addresses as keys, sorts the keys, and then acquires the locks in sorted order. 306 For fewer than 7 locks ($2^3-1$), the sort is unrolled performing the minimum number of compare and swaps for the given number of locks; 307 for 7 or more locks, insertion sort is used. 308 Since it is extremely rare to hold more than 6 locks at a time, the algorithm is fast and executes in $O(1)$ time. 309 Furthermore, lock addresses are unique across program execution, even for dynamically allocated locks, so the algorithm is safe across the entire program execution. 310 311 The downside to the sorting approach is that it is not fully compatible with manual usages of the same locks outside the @mutex@ statement, \ie the lock are acquired without using the @mutex@ statement. 312 The following scenario is a classic deadlock. 313 \begin{cquote} 314 \begin{tabular}{@{}l@{\hspace{30pt}}l@{}} 315 \begin{cfa} 316 lock L1, L2; // assume &L1 < &L2 317 $\textbf{thread\(_1\)}$ 318 acquire( L2 ); 319 acquire( L1 ); 320 CS 321 release( L1 ); 322 release( L2 ); 323 \end{cfa} 324 & 325 \begin{cfa} 326 327 $\textbf{thread\(_2\)}$ 328 mutex( L1, L2 ) { 329 330 CS 331 332 } 333 \end{cfa} 334 \end{tabular} 335 \end{cquote} 336 Comparatively, if the @scoped_lock@ is used and the same locks are acquired elsewhere, there is no concern of the @scoped_lock@ deadlocking, due to its avoidance scheme, but it may livelock. 337 The convenience and safety of the @mutex@ statement, \eg guaranteed lock release with exceptions, should encourage programmers to always use it for locking, mitigating any deadlock scenario. 338 339 \section{Performance} 340 Given the two multi-acquisition algorithms in \CC and \CFA, each with differing advantages and disadvantages, it interesting to compare their performance. 341 Comparison with Java is not possible, since it only takes a single lock. 342 343 The comparison starts with a baseline that acquires the locks directly without a mutex statement or @scoped_lock@ in a fixed ordering and then releases them. 344 The baseline helps highlight the cost of the deadlock avoidance/prevention algorithms for each implementation. 345 346 The benchmark used to evaluate the avoidance algorithms repeatedly acquires a fixed number of locks in a random order and then releases them. 347 The pseudo code for the deadlock avoidance benchmark is shown in \VRef[Listing]{l:deadlock_avoid_pseudo}. 348 To ensure the comparison exercises the implementation of each lock avoidance algorithm, an identical spinlock is implemented in each language using a set of builtin atomics available in both \CC and \CFA. 349 The benchmarks are run for a fixed duration of 10 seconds and then terminate. 350 The total number of times the group of locks is acquired is returned for each thread. 351 Each variation is run 11 times on 2, 4, 8, 16, 24, 32 cores and with 2, 4, and 8 locks being acquired. 352 The median is calculated and is plotted alongside the 95\% confidence intervals for each point. 353 354 \begin{cfa}[caption={Deadlock avoidance bendchmark pseudo code},label={l:deadlock_avoid_pseudo}] 355 356 357 358 $\PAB{// add pseudo code}$ 359 360 361 362 \end{cfa} 363 364 The performance experiments were run on the following multi-core hardware systems to determine differences across platforms: 365 \begin{list}{\arabic{enumi}.}{\usecounter{enumi}\topsep=5pt\parsep=5pt\itemsep=0pt} 366 % sudo dmidecode -t system 367 \item 368 Supermicro AS--1123US--TR4 AMD EPYC 7662 64--core socket, hyper-threading $\times$ 2 sockets (256 processing units) 2.0 GHz, TSO memory model, running Linux v5.8.0--55--generic, gcc--10 compiler 369 \item 370 Supermicro SYS--6029U--TR4 Intel Xeon Gold 5220R 24--core socket, hyper-threading $\times$ 2 sockets (48 processing units) 2.2GHz, TSO memory model, running Linux v5.8.0--59--generic, gcc--10 compiler 371 \end{list} 372 %The hardware architectures are different in threading (multithreading vs hyper), cache structure (MESI or MESIF), NUMA layout (QPI vs HyperTransport), memory model (TSO vs WO), and energy/thermal mechanisms (turbo-boost). 373 %Software that runs well on one architecture may run poorly or not at all on another. 374 375 Figure~\ref{f:mutex_bench} shows the results of the benchmark experiments. 376 \PAB{Make the points in the graphs for each line different. 377 Also, make the text in the graphs larger.} 378 The baseline results for both languages are mostly comparable, except for the 8 locks results in \ref{f:mutex_bench8_AMD} and \ref{f:mutex_bench8_Intel}, where the \CFA baseline is slightly slower. 379 The avoidance result for both languages is significantly different, where \CFA's mutex statement achieves throughput that is magnitudes higher than \CC's @scoped_lock@. 380 The slowdown for @scoped_lock@ is likely due to its deadlock-avoidance implementation. 381 Since it uses a retry based mechanism, it can take a long time for threads to progress. 382 Additionally the potential for livelock in the algorithm can result in very little throughput under high contention. 383 For example, on the AMD machine with 32 threads and 8 locks, the benchmarks would occasionally livelock indefinitely, with no threads making any progress for 3 hours before the experiment was terminated manually. 384 It is likely that shorter bouts of livelock occurred in many of the experiments, which would explain large confidence intervals for some of the data points in the \CC data. 385 In Figures~\ref{f:mutex_bench8_AMD} and \ref{f:mutex_bench8_Intel} the mutex statement performs better than the baseline. 386 At 7 locks and above the mutex statement switches from a hard coded sort to insertion sort. 387 It is likely that the improvement in throughput compared to baseline is due to the time spent in the insertion sort, which decreases contention on the locks. 107 388 108 389 \begin{figure} 109 \centering 110 \begin{subfigure}{0.5\textwidth} 111 \centering 112 \scalebox{0.5}{\input{figures/nasus_Aggregate_Lock_2.pgf}} 113 \subcaption{AMD} 114 \end{subfigure}\hfill 115 \begin{subfigure}{0.5\textwidth} 116 \centering 117 \scalebox{0.5}{\input{figures/pyke_Aggregate_Lock_2.pgf}} 118 \subcaption{Intel} 119 \end{subfigure} 120 121 \begin{subfigure}{0.5\textwidth} 122 \centering 123 \scalebox{0.5}{\input{figures/nasus_Aggregate_Lock_4.pgf}} 124 \subcaption{AMD} 125 \end{subfigure}\hfill 126 \begin{subfigure}{0.5\textwidth} 127 \centering 128 \scalebox{0.5}{\input{figures/pyke_Aggregate_Lock_4.pgf}} 129 \subcaption{Intel} 130 \end{subfigure} 131 132 \begin{subfigure}{0.5\textwidth} 133 \centering 134 \scalebox{0.5}{\input{figures/nasus_Aggregate_Lock_8.pgf}} 135 \subcaption{AMD}\label{f:mutex_bench8_AMD} 136 \end{subfigure}\hfill 137 \begin{subfigure}{0.5\textwidth} 138 \centering 139 \scalebox{0.5}{\input{figures/pyke_Aggregate_Lock_8.pgf}} 140 \subcaption{Intel}\label{f:mutex_bench8_Intel} 141 \end{subfigure} 142 \caption{The aggregate lock benchmark comparing \CC scoped\_lock and \CFA mutex statement throughput (higher is better).} 143 \label{f:mutex_bench} 390 \centering 391 \subfloat[AMD]{ 392 \resizebox{0.5\textwidth}{!}{\input{figures/nasus_Aggregate_Lock_2.pgf}} 393 } 394 \subfloat[Intel]{ 395 \resizebox{0.5\textwidth}{!}{\input{figures/pyke_Aggregate_Lock_2.pgf}} 396 } 397 398 \subfloat[AMD]{ 399 \resizebox{0.5\textwidth}{!}{\input{figures/nasus_Aggregate_Lock_4.pgf}} 400 } 401 \subfloat[Intel]{ 402 \resizebox{0.5\textwidth}{!}{\input{figures/pyke_Aggregate_Lock_4.pgf}} 403 } 404 405 \subfloat[AMD]{ 406 \resizebox{0.5\textwidth}{!}{\input{figures/nasus_Aggregate_Lock_8.pgf}} 407 \label{f:mutex_bench8_AMD} 408 } 409 \subfloat[Intel]{ 410 \resizebox{0.5\textwidth}{!}{\input{figures/pyke_Aggregate_Lock_8.pgf}} 411 \label{f:mutex_bench8_Intel} 412 } 413 \caption{The aggregate lock benchmark comparing \CC \lstinline{scoped_lock} and \CFA mutex statement throughput (higher is better).} 414 \label{f:mutex_bench} 144 415 \end{figure} 145 416 146 \section{Performance} 147 Performance is compared between \CC's scoped\_lock and \CFA's mutex statement. 148 Comparison with Java is omitted, since it only takes a single lock. 149 To ensure that the comparison between \CC and \CFA exercises the implementation of each feature, an identical spinlock is implemented in each language using a set of builtin atomics available in both \CFA and \CC. 150 Each feature is evaluated on a benchmark which acquires a fixed number of locks in a random order and then releases them. 151 A baseline is included that acquires the locks directly without a mutex statement or scoped\_lock in a fixed ordering and then releases them. 152 The baseline helps highlight the cost of the deadlock avoidance/prevention algorithms for each implementation. 153 The benchmarks are run for a fixed duration of 10 seconds and then terminate and return the total number of times the group of locks were acquired. 154 Each variation is run 11 times on a variety up to 32 cores and with 2, 4, and 8 locks being acquired. 155 The median is calculated and is plotted alongside the 95\% confidence intervals for each point. 156 157 Figure~\ref{f:mutex_bench} shows the results of the benchmark. 158 The baseline runs for both languages are mostly comparable, except for the 8 locks results in \ref{f:mutex_bench8_AMD} and \ref{f:mutex_bench8_Intel}, where the \CFA baseline is slower. 159 \CFA's mutex statement achieves throughput that is magnitudes higher than \CC's scoped\_lock. 160 This is likely due to the scoped\_lock deadlock avoidance implementation. 161 Since it uses a retry based mechanism, it can take a long time for threads to progress. 162 Additionally the potential for livelock in the algorithm can result in very little throughput under high contention. 163 It was observed on the AMD machine that with 32 threads and 8 locks the benchmarks would occasionally livelock indefinitely, with no threads making any progress for 3 hours before the experiment was terminated manually. 164 It is likely that shorter bouts of livelock occured in many of the experiments, which would explain large confidence intervals for some of the data points in the \CC data. 165 In Figures~\ref{f:mutex_bench8_AMD} and \ref{f:mutex_bench8_Intel} the mutex statement performs better than the baseline. 166 At 7 locks and above the mutex statement switches from a hard coded sort to insertion sort. 167 It is likely that the improvement in throughput compared to baseline is due to the time spent in the insertion sort, which decreases contention on the locks. 417 % Local Variables: % 418 % tab-width: 4 % 419 % End: % -
doc/theses/colby_parsons_MMAth/thesis.tex
ra50fdfb r6e1e2d0 84 84 \usepackage{tikz} % for diagrams and figures 85 85 \def\checkmark{\tikz\fill[scale=0.4](0,.35) -- (.25,0) -- (1,.7) -- (.25,.15) -- cycle;} 86 \usepackage{subcaption}87 86 \usepackage{fullpage,times,comment} 88 87 \usepackage{textcomp} 89 88 \usepackage{graphicx} 90 89 \usepackage{tabularx} 90 \usepackage[labelformat=simple,aboveskip=0pt,farskip=0pt,font=normalsize]{subfig} 91 \renewcommand\thesubfigure{(\alph{subfigure})} 91 92 \input{style} 92 93 -
doc/theses/colby_parsons_MMAth/version.sh
-
Property mode
changed from
100755
to100644
-
Property mode
changed from
-
doc/theses/mike_brooks_MMath/benchmarks/list/Makefile
ra50fdfb r6e1e2d0 1 1 # For correctness, see test-correctness.sh. 2 2 # For performance: 3 # pushd ~/cfax 4 # ~/setcfa build-fast 5 # popd 6 # make perfprogs CFA=$cfa -j8 MODE=performance 7 # make results-latest.csv RUNARGS=5 RUN_NUM_REPS=5 8 3 # pushd ~/cfax 4 # . ~/setcfa build-fast 5 # popd 6 # make perfprogs CFA=$cfa -j8 MODE=performance 7 # make results-latest.csv RUN_DURATION_SEC=5 RUN_NUM_REPS=5 RUN_DATA_SIZE_MODE=common5 8 # cp results-latest.csv results-baseline.csv 9 # make results-latest.csv OP_MOVEMENTS=stack OP_POLARITIES=insfirst OP_ACCESSORS=allhead RUN_DURATION_SEC=5 RUN_NUM_REPS=5 RUN_DATA_SIZE_MODE=thorough 10 # cp results-latest.csv results-sizing.csv 9 11 10 12 CFA = cfa … … 12 14 UXX = ~/u++/u++-7.0.0/bin/u++ 13 15 14 MODE = performance 15 RUNARGS= 16 MODE=performance 17 EXTRA_COMP_FLAGS= 18 RUN_NUM_REPS=3 19 RUN_DATA_SIZE_MODE=none 20 RUN_DURATION_SEC=5 21 RUN_TASKSET_CPULIST=6 16 22 17 23 ifeq "$(MODE)" "performance" 18 PERFFLAGS_CFA = - nodebug -O324 PERFFLAGS_CFA = -DNDEBUG -O3 -nodebug 19 25 PERFFLAGS_CC = -DNDEBUG -O3 20 26 else ifeq "$(MODE)" "correctness" 21 PERFFLAGS_CFA = - debug -O0 -g22 PERFFLAGS_CC = -O0 -g27 PERFFLAGS_CFA = -O0 -g -debug 28 PERFFLAGS_CC = -O0 -g 23 29 else 24 30 $(error Bad MODE ($(MODE)); should be performance or correctness) … … 26 32 27 33 PERFFLAGS_CXX = $(PERFFLAGS_CC) 28 PERFFLAGS_UXX = $(PERFFLAGS_CC) 34 PERFFLAGS_UXX = $(PERFFLAGS_CFA) 35 36 CFLAGS=$(PERFFLAGS_CC) $(EXTRA_COMP_FLAGS) 29 37 30 38 SHELL = /usr/bin/bash … … 101 109 perfexp--% driver--%.o : COMPILER=NO-COMPILER-FOR-$(FX_COARSE) 102 110 111 # Without this %.d rule, ordinary make runs have noise about the recipe for driver--%.o being ill-formed when called on a *.d. 112 # https://stackoverflow.com/questions/3714041/why-does-this-makefile-execute-a-target-on-make-clean 113 # Whatever you -include gets called as a target first. 114 # One such example is driver--upp-upp--stack-insfirst-allhead.d 115 # Without this %.d rule, `make make driver--upp-upp--stack-insfirst-allhead.d` leads to the rule for driver--%.o firing. 116 # Though my dumb human eyes don't see the pattern as matching. 117 %.d: 118 @touch $@ 119 103 120 perfexp--% : driver--%.o observation.o 104 $(COMPILER) $ ^ -o $@121 $(COMPILER) $(EXTRA_COMP_FLAGS) $^ -o $@ 105 122 106 123 driver--%.o : driver.c 107 $(COMPILER) -c $< $(OP_DEFINES) -include op-$(OP).h -include fx-$(FX).h -o $@ -MMD 108 109 110 111 112 RUN_NUM_REPS=3 124 $(COMPILER) $(EXTRA_COMP_FLAGS) -c $< $(OP_DEFINES) -include op-$(OP).h -include fx-$(FX).h -o $@ -MMD 125 126 sayhi: 127 echo $(PERFPROGS) 128 129 130 ifeq "$(RUN_DATA_SIZE_MODE)" "common5" 131 RUN_DATA_SIZES=\ 132 7-1000000 \ 133 71-100000 \ 134 809-10000 \ 135 9051-1000 \ 136 72421-100 137 else ifeq "$(RUN_DATA_SIZE_MODE)" "thorough" 138 RUN_DATA_SIZES=\ 139 7-1000000 \ 140 11-100000 \ 141 13-100000 \ 142 19-100000 \ 143 29-100000 \ 144 37-100000 \ 145 53-100000 \ 146 71-100000 \ 147 101-10000 \ 148 149-10000 \ 149 211-10000 \ 150 283-10000 \ 151 401-10000 \ 152 569-10000 \ 153 809-10000 \ 154 1151-1000 \ 155 1601-1000 \ 156 2267-1000 \ 157 3203-1000 \ 158 4547-1000 \ 159 6473-1000 \ 160 9051-1000 \ 161 12809-100 \ 162 18119-100 \ 163 25601-100 \ 164 36209-100 \ 165 51203-100 \ 166 72421-100 \ 167 102407-10 \ 168 144817-10 \ 169 204803-10 \ 170 289637-10 \ 171 409609-10 \ 172 579263-10 \ 173 819229-10 \ 174 1158613-1 \ 175 1638431-1 \ 176 2317057-1 \ 177 3276803-1 \ 178 4634111-1 \ 179 6553621-1 \ 180 9268211-1 181 else ifeq "$(RUN_DATA_SIZE_MODE)" "manual" 182 ifeq "$(RUN_DATA_SIZES)" "" 183 $(error RUN_DATA_SIZE_MODE is manual but RUN_DATA_SIZES not given) 184 endif 185 else ifeq "$(RUN_DATA_SIZE_MODE)" "none" 186 # Assume user manages RUN_ARGS; empty RUN_ARGS just means run with compiled-in defaults 187 RUN_DATA_SIZES=none 188 else 189 $(error Bad RUN_DATA_SIZE_MODE ($(RUN_DATA_SIZE_MODE)); should be common5, thorough or manual) 190 endif 191 113 192 RUN_REP_IDS=$(shell echo {1..$(RUN_NUM_REPS)}) # 1 2 3 114 193 RUN_REP_EXTS=$(call cross3,,run,$(RUN_REP_IDS),.1csv) # run1.1csv run2.1cav run3.1csv 115 194 116 RESULT1S=$(call cross,.,$(CORES),$(RUN_REP_EXTS)) # lq-tailq--stack-inslast-allhead.run2.1csv 195 RUN_LAUNCHES=$(call cross,--,$(RUN_DATA_SIZES),$(RUN_REP_EXTS)) 196 197 198 199 RESULT1S=$(call cross,.,$(CORES),$(RUN_LAUNCHES)) # lq-tailq--stack-inslast-allhead.run2.1csv 200 117 201 118 202 RESULT1S_SHUFD=$(shell shuf -e $(RESULT1S)) 119 203 120 204 %.1csv : CORE=$(basename $(basename $@)) 121 %.1csv : REP_ID=$(subst .run,,$(suffix $(basename $@))) 205 %.1csv : LAUNCH=$(subst .,,$(suffix $(basename $@))) 206 %.1csv : SIZING=$(call proj,--,$(LAUNCH),1) 207 %.1csv : NUMNODES=$(call proj,-,$(SIZING),1) 208 %.1csv : CHECKDONE=$(call proj,-,$(SIZING),2) 209 %.1csv : REP_ID=$(subst run,,$(call proj,--,$(LAUNCH),2)) 210 %.1csv : RUN_ARGS=$(if $(filter none,$(SIZING)),,$(RUN_DURATION_SEC) $(CHECKDONE) $(NUMNODES) -1 $(REP_ID)) # use REP_ID as seed 122 211 %.1csv : REP_TIME=$(shell date '+%F %H:%M:%S') 123 212 %.1csv : perfprogs FORCE 124 ./perfexp--$(CORE) $(RUNARGS) | xargs -n 1 printf '%s,%s,%s\n' "$(REP_TIME)" "$(REP_ID)" | tee $@ 213 taskset --cpu-list $(RUN_TASKSET_CPULIST) ./perfexp--$(CORE) $(RUN_ARGS) | xargs -n 1 printf '%s,%s,%s,%s\n' "$(REP_TIME)" "$(REP_ID)" "$(RUN_ARGS)" | tee $@ 214 125 215 126 216 BATCHTIME=$(shell date '+%F--%H-%M-%S') … … 146 236 .PRECIOUS: result--%.1csv driver--%.o perfexp--% %.o 147 237 148 149 238 -include *.d -
doc/theses/mike_brooks_MMath/benchmarks/list/_classic.c
ra50fdfb r6e1e2d0 171 171 #endif 172 172 173 174 #define Repeat( op ) for ( volatile unsigned int i = 0; i < NoOfNodes; i += 1 ) { op; } 173 volatile unsigned int t = 0; 174 volatile unsigned int i_official = 0; 175 176 #define Repeat( op ) for ( unsigned int i = 0; (i_official = i, i < NoOfNodes); i += 1 ) { op; } 175 177 176 178 int main() { … … 192 194 TAILQ_INIT(&lst); 193 195 start = clock(); 194 for ( volatile unsigned intt = 0; t < Times; t += 1 ) {196 for ( t = 0; t < Times; t += 1 ) { 195 197 Repeat( TAILQ_INSERT_TAIL( &lst, &s[i], x ) ); 196 198 Repeat( TAILQ_REMOVE( &lst, TAILQ_FIRST( &lst ), x ) ); … … 204 206 std::list<S *> lst; 205 207 start = clock(); 206 for ( volatile unsigned intt = 0; t < Times; t += 1 ) {208 for ( t = 0; t < Times; t += 1 ) { 207 209 Repeat( lst.push_back( &s[i] ) ); 208 210 Repeat( lst.pop_front() ); … … 216 218 uSequence<S> lst; 217 219 start = clock(); 218 for ( volatile unsigned intt = 0; t < Times; t += 1 ) {220 for ( t = 0; t < Times; t += 1 ) { 219 221 Repeat( lst.addTail( &s[i] ) ); 220 222 Repeat( lst.dropHead() ); … … 228 230 dlist(S) lst; 229 231 start = clock(); 230 for ( volatile unsigned intt = 0; t < Times; t += 1 ) {232 for ( t = 0; t < Times; t += 1 ) { 231 233 Repeat( insert_last( lst, s[i] ) ); 232 234 Repeat( remove( lst`first ) ); … … 240 242 Sequence(S) lst; 241 243 start = clock(); 242 for ( volatile unsigned intt = 0; t < Times; t += 1 ) {244 for ( t = 0; t < Times; t += 1 ) { 243 245 Repeat( addHead( lst, s[i] ) ); 244 246 Repeat( dropTail( lst ) ); -
doc/theses/mike_brooks_MMath/benchmarks/list/driver.c
ra50fdfb r6e1e2d0 17 17 18 18 #if defined(NDEBUG) || (defined(__cforall) && !defined(__CFA_DEBUG__)) 19 enum { DefaultNumNodes = 1000, DefaultExperimentDurSec = 1, DefaultCheck ClockFreq = 1000, DefaultExperimentDurOpCount = -1};19 enum { DefaultNumNodes = 1000, DefaultExperimentDurSec = 1, DefaultCheckDonePeriod = 1000, DefaultExperimentDurOpCount = -1, DefaultSeed = 5 }; 20 20 #define TRACE(tp) 21 21 #else 22 enum { DefaultNumNodes = 10, DefaultExperimentDurSec = 1, DefaultCheck ClockFreq = 2, DefaultExperimentDurOpCount = 20};22 enum { DefaultNumNodes = 10, DefaultExperimentDurSec = 1, DefaultCheckDonePeriod = 2, DefaultExperimentDurOpCount = 20, DefaultSeed = 5 }; 23 23 static const char * tp_filter 24 24 // = ""; … … 63 63 } 64 64 65 int bobs_getCurrent() { 65 void * bobs_getCurrentLoc() { 66 return BFX_DEREF_POS(B_UserItem, lst, observedItem); 67 } 68 int bobs_getCurrentVal() { 66 69 B_UserItem * curUI = BFX_DEREF_POS(B_UserItem, lst, observedItem); 67 70 return curUI->userdata[17]; … … 72 75 ) 73 76 77 unsigned int uDefaultPreemption() { 78 return 0; 79 } 80 74 81 int main(int argc, const char *argv[]) { 75 82 76 77 const char * usage_args = "[ExperimentDurSec [CheckClockFreq [NumNodes [ExperimentDurOpCount]]]]"; 78 const int static_arg_posns = 4; 83 const char * usage_args = "[ExperimentDurSec [CheckDonePeriod [NumNodes [ExperimentDurOpCount [Seed]]]]]"; 84 const int static_arg_posns = 5; 79 85 80 86 unsigned int ExperimentDurSec = DefaultExperimentDurSec; 81 unsigned int Check ClockFreq = DefaultCheckClockFreq;87 unsigned int CheckDonePeriod = DefaultCheckDonePeriod; 82 88 unsigned int NumNodes = DefaultNumNodes; 83 89 size_t ExperimentDurOpCount = DefaultExperimentDurOpCount; 84 85 switch ((argc < static_arg_posns) ? argc : static_arg_posns) { 86 case 5: ExperimentDurOpCount = atoi(argv[4]); 87 case 4: NumNodes = atoi(argv[3]); 88 case 3: CheckClockFreq = atoi(argv[2]); 89 case 2: ExperimentDurSec = atoi(argv[1]); 90 } 91 92 if (ExperimentDurSec == 0 || CheckClockFreq == 0 || NumNodes == 0 || ExperimentDurOpCount == 0 ) { 90 unsigned int Seed = DefaultSeed; 91 92 switch (((argc - 1) < static_arg_posns) ? (argc - 1) : static_arg_posns) { 93 case 5: Seed = atoi(argv[5]); 94 case 4: ExperimentDurOpCount = atol(argv[4]); 95 case 3: NumNodes = atoi(argv[3]); 96 case 2: CheckDonePeriod = atoi(argv[2]); 97 case 1: ExperimentDurSec = atoi(argv[1]); 98 } 99 100 if (ExperimentDurSec == 0 || CheckDonePeriod == 0 || NumNodes == 0 || ExperimentDurOpCount == 0 || Seed == 0 ) { 93 101 printf("usage: %s %s\n", argv[0], usage_args); 94 102 return -1; 95 103 } 96 104 97 ui = (B_UserItem*) malloc( NumNodes * sizeof(B_UserItem) ); 98 memset(ui, 0, NumNodes * sizeof(B_UserItem)); 99 100 listedItems = (BFX_LISTED_ELEM_T(B_UserItem)*)malloc( NumNodes * sizeof(BFX_LISTED_ELEM_T(B_UserItem)) ); 101 memset(listedItems, 0, NumNodes * sizeof(BFX_LISTED_ELEM_T(B_UserItem))); 102 105 #ifdef DISABLE_CLOCK_RECHECK 106 if (ExperimentDurSec != -1) { 107 printf("Error: experiment compiled as fixed-work only. ExperimentDurSec (currently %d) must be set to -1.\nUsage: %s %s\n", ExperimentDurSec, argv[0], usage_args); 108 return -1; 109 } 110 #endif 111 112 #ifdef DISABLE_SHUFFLING_INDIRECTION 113 #define INSERTPOS(insertNum) insertNum 114 #else 115 // To ensure random memory order of nodes being inserted, do so according to a shuffled ordering of them. 116 unsigned int * insertOrdShuf = (unsigned int *) malloc( (size_t)NumNodes * sizeof(unsigned int) ); 117 if (!insertOrdShuf) { 118 printf("malloc request for %zd bytes for insertOrdShuf refused\n", (size_t)NumNodes * (size_t)sizeof(unsigned int)); 119 return 1; 120 } 121 // Fill with the ordinals (iota) 103 122 for (int i = 0; i < NumNodes; i++) { 104 B_UserItem * curUI = & ui[i]; 123 insertOrdShuf[i] = i; 124 } 125 // Dummy "Seed" of -1 means skip the shuffle: measure overhead of insertOrdShuf indirection 126 if (Seed != -1) { 127 // Shuffle 128 srand(Seed); 129 for (unsigned int i = 0; i < NumNodes; i++) { 130 unsigned int nodesRemaining = NumNodes - i; 131 unsigned int swapWith = i + rand() % nodesRemaining; 132 unsigned int tempValue = insertOrdShuf[swapWith]; 133 insertOrdShuf[swapWith] = insertOrdShuf[i]; 134 insertOrdShuf[i] = tempValue; 135 } 136 } 137 #define INSERTPOS(insertNum) insertOrdShuf[insertNum] 138 #endif 139 140 ui = (B_UserItem*) malloc( (size_t)NumNodes * (size_t)sizeof(B_UserItem) ); 141 if (!ui) { 142 printf("malloc request for %zd bytes for ui refused\n", (size_t)NumNodes * (size_t)sizeof(B_UserItem)); 143 return 1; 144 } 145 memset(ui, 0, (size_t)NumNodes * (size_t)sizeof(B_UserItem)); 146 147 listedItems = (BFX_LISTED_ELEM_T(B_UserItem)*)malloc( (size_t)NumNodes * (size_t)sizeof(BFX_LISTED_ELEM_T(B_UserItem)) ); 148 if (!listedItems) { 149 printf("malloc request for %zd bytes for listedItems refused\n", (size_t)NumNodes * (size_t)sizeof(BFX_LISTED_ELEM_T(B_UserItem))); 150 return 1; 151 } 152 memset(listedItems, 0, (size_t)NumNodes * (size_t)sizeof(BFX_LISTED_ELEM_T(B_UserItem))); 153 154 // Fill with demo data 155 for (unsigned int i = 0; i < NumNodes; i++) { 156 B_UserItem * curUI = & ui[INSERTPOS(i)]; 105 157 curUI->userdata[17] = i; 106 158 } … … 110 162 bobs_init(NumNodes); 111 163 112 // BOP Convention: 113 // Action-number arguments are for the BOP cartridge to interpret. 114 // I.e. the driver assumes no relationship between BOP_INSERT(_,_,xx) and ui[xx]. 164 // BOP_ADDFOO(lst, iters, insNo, item) 165 // BOP_REMFOO(lst, iters, remNo) 166 // lst lvalue of the list head being added to / removed from 167 // iters array of ADD return values, in logical-insert order; on ADD, is valid at [0..insNo) 168 // insNo counter of the ADD calls (logical insert number) 169 // remNo counter of the REM calls (logical remove number) 170 // item lvalue of the item being added 115 171 // Logical insert number 0 and remove number n-1 are given with a distinguished hook. 116 172 // Logical insert numbers [1,n) and remove numbers [0,n-1) are pumped by the basic SUT hooks. 117 173 // This pattern lets BOP cartridges that measure element-level operations know statically when there is a reference element in the list. 174 // The driver owns the relationship between a logical insert number and the location of the `item` argument within `ui`. (Scattered for randomness.) 175 // The BOP cartridge owns the relationship between logical remove number and any choice of an item in iters. (Defines stack vs queue.) 118 176 119 177 // Default init/teardown is insert/remove 120 178 // Cartridges whose SUT insert/remove actions work on empty lists need not provide special-case ones. 121 179 #ifndef BOP_INIT 122 #define BOP_INIT(lst, ui, iters, i) BOP_INSERT(lst, ui, iters, i)180 #define BOP_INIT(lst, iters, insNo, item) BOP_INSERT(lst, iters, insNo, item) 123 181 #endif 124 182 #ifndef BOP_TEARDOWN 125 #define BOP_TEARDOWN(lst, ui, iters, i) BOP_REMOVE(lst, ui, iters, i)183 #define BOP_TEARDOWN(lst, iters, remNo) BOP_REMOVE(lst, iters, remNo) 126 184 #endif 127 185 … … 129 187 clock_t start = clock(); 130 188 131 while (elapsed_sec <= (double) ExperimentDurSec && bobs_ops_completed < ExperimentDurOpCount) { 132 for ( int t = 0; t < CheckClockFreq; t += 1 ) { 189 size_t privateOpsCompleted = 0; 190 191 while (elapsed_sec <= (double) ExperimentDurSec && privateOpsCompleted < ExperimentDurOpCount) { 192 for ( int t = 0; t < CheckDonePeriod; t += 1 ) { 133 193 TRACE('a') 134 194 listedItems[0] = 135 BOP_INIT(lst, ui, listedItems, 0);195 BOP_INIT(lst, listedItems, 0, ui[INSERTPOS(0)]); 136 196 TRACE('b') 137 197 for ( int privateCurInsert = 1; … … 141 201 TRACE('-') 142 202 listedItems[privateCurInsert] = 143 BOP_INSERT( lst, ui, listedItems, privateCurInsert);203 BOP_INSERT( lst, listedItems, privateCurInsert, ui[INSERTPOS(privateCurInsert)] ); 144 204 TRACE('+') 145 205 } … … 150 210 ) { 151 211 TRACE('-') 152 BOP_REMOVE( lst, ui,listedItems, privateCurRemove-1 );212 BOP_REMOVE( lst, listedItems, privateCurRemove-1 ); 153 213 TRACE('+') 154 214 } 155 215 TRACE('D') 156 BOP_TEARDOWN(lst, ui,listedItems, NumNodes-1);216 BOP_TEARDOWN(lst, listedItems, NumNodes-1); 157 217 TRACE('d') 218 219 privateOpsCompleted += NumNodes; 158 220 159 221 bobs_prog_rollover_flag = 1; … … 161 223 bobs_prog_inserting = 0; 162 224 bobs_prog_removing = 0; 163 bobs_ops_completed += NumNodes;225 bobs_ops_completed = privateOpsCompleted; 164 226 TRACE('f') 165 227 bobs_prog_rollover_flag = 0; 166 228 TRACE('g') 167 229 } 230 #ifndef DISABLE_CLOCK_RECHECK 168 231 clock_t end = clock(); 169 232 elapsed_sec = ((double)(end - start)) / ((double)CLOCKS_PER_SEC); 170 } 233 #endif 234 } 235 #ifdef DISABLE_CLOCK_RECHECK 236 { 237 clock_t end = clock(); 238 elapsed_sec = ((double)(end - start)) / ((double)CLOCKS_PER_SEC); 239 } 240 #endif 171 241 172 242 double mean_op_dur_ns = elapsed_sec / ((double)bobs_ops_completed) * 1000 * 1000 * 1000; … … 175 245 free(ui); 176 246 free(listedItems); 247 free(insertOrdShuf); 177 248 } -
doc/theses/mike_brooks_MMath/benchmarks/list/observation.c
ra50fdfb r6e1e2d0 24 24 } 25 25 26 #ifdef BOBS_SHOW_ADDRESSES 27 #define SNAP \ 28 void * userAddr = bobs_getCurrentLoc(); \ 29 int userValue = bobs_getCurrentVal(); 30 #define SHOW(pfx, sfx) \ 31 printf(" " pfx "%d@%p" sfx, userValue, userAddr); 32 #else 33 #define SNAP \ 34 int userValue = bobs_getCurrentVal(); 35 #define SHOW(pfx, sfx) \ 36 printf(" " pfx "%d" sfx, userValue); 37 #endif 26 38 27 39 static void printPreds(unsigned int leash) { … … 32 44 return; 33 45 } 34 int userValue = bobs_getCurrent();46 SNAP 35 47 bobs_movePrev(); 36 48 printPreds(leash - 1); 37 printf(" %d", userValue);49 SHOW("", "") 38 50 } 39 51 static void printSuccs(unsigned int leash) { … … 44 56 return; 45 57 } 46 int userValue = bobs_getCurrent();47 printf(" %d", userValue);58 SNAP 59 SHOW("", "") 48 60 bobs_moveNext(); 49 61 printSuccs(leash - 1); … … 59 71 60 72 bobs_seek(here); 61 int userValue = bobs_getCurrent();62 printf(" <%d>", userValue);73 SNAP 74 SHOW("<", ">") 63 75 64 76 bobs_moveNext(); -
doc/theses/mike_brooks_MMath/benchmarks/list/observation.h
ra50fdfb r6e1e2d0 8 8 extern enum bobs_op_polarity_t { insfirst, inslast } bobs_op_polarity; 9 9 10 void bobs_seek(unsigned int); 11 void bobs_moveNext(); 12 void bobs_movePrev(); 13 int bobs_hasCurrent(); 14 int bobs_getCurrent(); 10 void bobs_seek(unsigned int); 11 void bobs_moveNext(); 12 void bobs_movePrev(); 13 int bobs_hasCurrent(); 14 void * bobs_getCurrentLoc(); 15 int bobs_getCurrentVal(); 15 16 16 17 extern volatile size_t bobs_ops_completed; -
doc/theses/mike_brooks_MMath/benchmarks/list/op-queue-insfirst-allhead.h
ra50fdfb r6e1e2d0 3 3 // allhead: inserts and removes happen via the api-provided "last"/"tail"/"back"/"first"/"tail"/"front" 4 4 5 #define BOP_INSERT(lst, ui, iters, i) BFX_INSERT_FIRST(B_UserItem, lst, ui[i])6 #define BOP_REMOVE(lst, ui, iters, i)BFX_REMOVE_LAST(B_UserItem, lst)5 #define BOP_INSERT(lst, iters, insNo, item) BFX_INSERT_FIRST(B_UserItem, lst, (item)) 6 #define BOP_REMOVE(lst, iters, remNo) BFX_REMOVE_LAST(B_UserItem, lst) -
doc/theses/mike_brooks_MMath/benchmarks/list/op-queue-insfirst-inselem.h
ra50fdfb r6e1e2d0 3 3 // inselem: inserts happen via an element-level operation and removes happen via the api-provided "last"/"tail"/"back" 4 4 5 #define BOP_INIT(lst, ui, iters, i) BFX_INSERT_FIRST(B_UserItem, lst, ui[i])5 #define BOP_INIT(lst, iters, insNo, item) BFX_INSERT_FIRST(B_UserItem, lst, (item)) 6 6 7 #define BOP_INSERT(lst, ui, iters, i) BFX_INSERT_BEFORE(B_UserItem, lst, ui[i], iters[i-1])8 #define BOP_REMOVE(lst, ui, iters, i)BFX_REMOVE_LAST(B_UserItem, lst)7 #define BOP_INSERT(lst, iters, insNo, item) BFX_INSERT_BEFORE(B_UserItem, lst, (item), iters[(insNo)-1]) 8 #define BOP_REMOVE(lst, iters, remNo) BFX_REMOVE_LAST(B_UserItem, lst) -
doc/theses/mike_brooks_MMath/benchmarks/list/op-queue-insfirst-remelem.h
ra50fdfb r6e1e2d0 3 3 // remelem: removes happen via an element-level operation and inserts happen via the api-provided "first"/"head"/"front" 4 4 5 #define BOP_TEARDOWN(lst, ui, iters, i)BFX_REMOVE_LAST(B_UserItem, lst)5 #define BOP_TEARDOWN(lst, iters, remNo) BFX_REMOVE_LAST(B_UserItem, lst) 6 6 7 #define BOP_INSERT(lst, ui, iters, i) BFX_INSERT_FIRST(B_UserItem, lst, ui[i])8 #define BOP_REMOVE(lst, ui, iters, i) BFX_REMOVE_HERE(B_UserItem, lst, iters[i])7 #define BOP_INSERT(lst, iters, insNo, item) BFX_INSERT_FIRST(B_UserItem, lst, (item)) 8 #define BOP_REMOVE(lst, iters, remNo) BFX_REMOVE_HERE(B_UserItem, lst, iters[(remNo)]) -
doc/theses/mike_brooks_MMath/benchmarks/list/op-queue-inslast-allhead.h
ra50fdfb r6e1e2d0 3 3 // allhead: inserts and removes happen via the api-provided "last"/"tail"/"back"/"first"/"tail"/"front" 4 4 5 #define BOP_INSERT(lst, ui, iters, i) BFX_INSERT_LAST(B_UserItem, lst, ui[i])6 #define BOP_REMOVE(lst, ui, iters, i)BFX_REMOVE_FIRST(B_UserItem, lst)5 #define BOP_INSERT(lst, iters, insNo, item) BFX_INSERT_LAST(B_UserItem, lst, (item)) 6 #define BOP_REMOVE(lst, iters, remNo) BFX_REMOVE_FIRST(B_UserItem, lst) -
doc/theses/mike_brooks_MMath/benchmarks/list/op-queue-inslast-inselem.h
ra50fdfb r6e1e2d0 3 3 // inselem: inserts happen via an element-level operation and removes happen via the api-provided "first"/"tail"/"front" 4 4 5 #define BOP_INIT(lst, ui, iters, i) BFX_INSERT_LAST(B_UserItem, lst, ui[i])5 #define BOP_INIT(lst, iters, insNo, item) BFX_INSERT_LAST(B_UserItem, lst, (item)) 6 6 7 #define BOP_INSERT(lst, ui, iters, i) BFX_INSERT_AFTER(B_UserItem, lst, ui[i], iters[i-1])8 #define BOP_REMOVE(lst, ui, iters, i)BFX_REMOVE_FIRST(B_UserItem, lst)7 #define BOP_INSERT(lst, iters, insNo, item) BFX_INSERT_AFTER(B_UserItem, lst, (item), iters[(insNo)-1]) 8 #define BOP_REMOVE(lst, iters, remNo) BFX_REMOVE_FIRST(B_UserItem, lst) -
doc/theses/mike_brooks_MMath/benchmarks/list/op-queue-inslast-remelem.h
ra50fdfb r6e1e2d0 3 3 // remelem: removes happen via an element-level operation and inserts happen via the api-provided "last"/"tail"/"back" 4 4 5 #define BOP_TEARDOWN(lst, ui, iters, i)BFX_REMOVE_FIRST(B_UserItem, lst)5 #define BOP_TEARDOWN(lst, iters, remNo) BFX_REMOVE_FIRST(B_UserItem, lst) 6 6 7 #define BOP_INSERT(lst, ui, iters, i) BFX_INSERT_LAST(B_UserItem, lst, ui[i])8 #define BOP_REMOVE(lst, ui, iters, i) BFX_REMOVE_HERE(B_UserItem, lst, iters[i])7 #define BOP_INSERT(lst, iters, insNo, item) BFX_INSERT_LAST(B_UserItem, lst, (item)) 8 #define BOP_REMOVE(lst, iters, remNo) BFX_REMOVE_HERE(B_UserItem, lst, iters[(remNo)]) -
doc/theses/mike_brooks_MMath/benchmarks/list/op-stack-insfirst-allhead.h
ra50fdfb r6e1e2d0 3 3 // allhead: inserts and removes happen via the api-provided "first"/"head"/"front" 4 4 5 #define BOP_INSERT(lst, ui, iters, i) BFX_INSERT_FIRST(B_UserItem, lst, ui[i])6 #define BOP_REMOVE(lst, ui, iters, i)BFX_REMOVE_FIRST(B_UserItem, lst)5 #define BOP_INSERT(lst, iters, insNo, item) BFX_INSERT_FIRST(B_UserItem, lst, (item)) 6 #define BOP_REMOVE(lst, iters, remNo) BFX_REMOVE_FIRST(B_UserItem, lst) -
doc/theses/mike_brooks_MMath/benchmarks/list/op-stack-insfirst-inselem.h
ra50fdfb r6e1e2d0 3 3 // inselem: inserts happen via an element-level operation and removes happen via the api-provided "first"/"head"/"front" 4 4 5 #define BOP_INIT(lst, ui, iters, i) BFX_INSERT_FIRST(B_UserItem, lst, ui[i])5 #define BOP_INIT(lst, iters, insNo, item) BFX_INSERT_FIRST(B_UserItem, lst, (item)) 6 6 7 #define BOP_INSERT(lst, ui, iters, i) BFX_INSERT_BEFORE(B_UserItem, lst, ui[i], iters[i-1])8 #define BOP_REMOVE(lst, ui, iters, i)BFX_REMOVE_FIRST(B_UserItem, lst)7 #define BOP_INSERT(lst, iters, insNo, item) BFX_INSERT_BEFORE(B_UserItem, lst, (item), iters[insNo-1]) 8 #define BOP_REMOVE(lst, iters, remNo) BFX_REMOVE_FIRST(B_UserItem, lst) -
doc/theses/mike_brooks_MMath/benchmarks/list/op-stack-insfirst-remelem.h
ra50fdfb r6e1e2d0 3 3 // remelem: removes happen via an element-level operation and inserts happen via the api-provided "first"/"head"/"front" 4 4 5 #define BOP_TEARDOWN(lst, ui, iters, i)BFX_REMOVE_FIRST(B_UserItem, lst)5 #define BOP_TEARDOWN(lst, iters, remNo) BFX_REMOVE_FIRST(B_UserItem, lst) 6 6 7 #define BOP_INSERT(lst, ui, iters, i) BFX_INSERT_FIRST(B_UserItem, lst, ui[i])8 #define BOP_REMOVE(lst, ui, iters, i) BFX_REMOVE_HERE(B_UserItem, lst, iters[NumNodes-(i)-1])7 #define BOP_INSERT(lst, iters, insNo, item) BFX_INSERT_FIRST(B_UserItem, lst, (item)) 8 #define BOP_REMOVE(lst, iters, remNo) BFX_REMOVE_HERE(B_UserItem, lst, iters[NumNodes-(remNo)-1]) -
doc/theses/mike_brooks_MMath/benchmarks/list/op-stack-inslast-allhead.h
ra50fdfb r6e1e2d0 3 3 // allhead: inserts and removes happen via the api-provided "last"/"tail"/"back" 4 4 5 #define BOP_INSERT(lst, ui, iters, i) BFX_INSERT_LAST(B_UserItem, lst, ui[i])6 #define BOP_REMOVE(lst, ui, iters, i)BFX_REMOVE_LAST(B_UserItem, lst)5 #define BOP_INSERT(lst, iters, insNo, item) BFX_INSERT_LAST(B_UserItem, lst, (item)) 6 #define BOP_REMOVE(lst, iters, remNo) BFX_REMOVE_LAST(B_UserItem, lst) -
doc/theses/mike_brooks_MMath/benchmarks/list/op-stack-inslast-inselem.h
ra50fdfb r6e1e2d0 3 3 // inselem: inserts happen via an element-level operation and removes happen via the api-provided "last"/"tail"/"back" 4 4 5 #define BOP_INIT(lst, ui, iters, i) BFX_INSERT_LAST(B_UserItem, lst, ui[i])5 #define BOP_INIT(lst, iters, insNo, item) BFX_INSERT_LAST(B_UserItem, lst, (item)) 6 6 7 #define BOP_INSERT(lst, ui, iters, i) BFX_INSERT_AFTER(B_UserItem, lst, ui[i], iters[i-1])8 #define BOP_REMOVE(lst, ui, iters, i)BFX_REMOVE_LAST(B_UserItem, lst)7 #define BOP_INSERT(lst, iters, insNo, item) BFX_INSERT_AFTER(B_UserItem, lst, (item), iters[(insNo)-1]) 8 #define BOP_REMOVE(lst, iters, remNo) BFX_REMOVE_LAST(B_UserItem, lst) -
doc/theses/mike_brooks_MMath/benchmarks/list/op-stack-inslast-remelem.h
ra50fdfb r6e1e2d0 3 3 // remelem: removes happen via an element-level operation and inserts happen via the api-provided "last"/"tail"/"back" 4 4 5 #define BOP_TEARDOWN(lst, ui, iters, i)BFX_REMOVE_LAST(B_UserItem, lst)5 #define BOP_TEARDOWN(lst, iters, remNo) BFX_REMOVE_LAST(B_UserItem, lst) 6 6 7 #define BOP_INSERT(lst, ui, iters, i) BFX_INSERT_LAST(B_UserItem, lst, ui[i])8 #define BOP_REMOVE(lst, ui, iters, i) BFX_REMOVE_HERE(B_UserItem, lst, iters[NumNodes-(i)-1])7 #define BOP_INSERT(lst, iters, insNo, item) BFX_INSERT_LAST(B_UserItem, lst, (item)) 8 #define BOP_REMOVE(lst, iters, remNo) BFX_REMOVE_HERE(B_UserItem, lst, iters[NumNodes-(remNo)-1]) -
doc/theses/mike_brooks_MMath/benchmarks/list/results-baseline.csv
ra50fdfb r6e1e2d0 1 2023-04-03 15:39:25,5,./perfexp--lq-tailq--stack-insfirst-inselem,443000000,5.005379,11.298824 2 2023-04-03 15:39:30,3,./perfexp--lq-tailq--queue-inslast-allhead,570000000,5.007309,8.784753 3 2023-04-03 15:39:35,3,./perfexp--lq-tailq--stack-inslast-inselem,606000000,5.000877,8.252272 4 2023-04-03 15:39:40,2,./perfexp--upp-upp--stack-insfirst-remelem,657000000,5.006698,7.620545 5 2023-04-03 15:39:45,1,./perfexp--lq-tailq--stack-inslast-allhead,617000000,5.002409,8.107632 6 2023-04-03 15:39:50,2,./perfexp--lq-tailq--stack-inslast-inselem,607000000,5.007467,8.249534 7 2023-04-03 15:39:55,3,./perfexp--upp-upp--stack-inslast-allhead,572000000,5.002847,8.746236 8 2023-04-03 15:40:01,5,./perfexp--lq-tailq--queue-insfirst-allhead,536000000,5.000997,9.330218 9 2023-04-03 15:40:06,5,./perfexp--upp-upp--queue-insfirst-allhead,458000000,5.009543,10.937867 10 2023-04-03 15:40:11,5,./perfexp--cfa-cfa--queue-inslast-remelem,710000000,5.003976,7.047854 11 2023-04-03 15:40:16,1,./perfexp--cpp-stlref--stack-inslast-allhead,166000000,5.002189,30.133669 12 2023-04-03 15:40:21,2,./perfexp--cfa-cfa--stack-inslast-allhead,547000000,5.004804,9.149550 13 2023-04-03 15:40:26,1,./perfexp--lq-tailq--stack-insfirst-remelem,713000000,5.006425,7.021634 14 2023-04-03 15:40:31,4,./perfexp--upp-upp--stack-inslast-allhead,567000000,5.003325,8.824206 15 2023-04-03 15:40:36,2,./perfexp--upp-upp--stack-inslast-inselem,489000000,5.000271,10.225503 16 2023-04-03 15:40:41,2,./perfexp--cpp-stlref--stack-inslast-remelem,158000000,5.017243,31.754703 17 2023-04-03 15:40:46,5,./perfexp--upp-upp--stack-inslast-allhead,549000000,5.005594,9.117658 18 2023-04-03 15:40:51,3,./perfexp--upp-upp--queue-inslast-inselem,487000000,5.003425,10.273973 19 2023-04-03 15:40:56,4,./perfexp--cfa-cfa--stack-inslast-inselem,538000000,5.004632,9.302290 20 2023-04-03 15:41:01,3,./perfexp--cfa-cfa--queue-insfirst-remelem,718000000,5.006064,6.972234 21 2023-04-03 15:41:06,3,./perfexp--cpp-stlref--queue-inslast-inselem,167000000,5.027628,30.105557 22 2023-04-03 15:41:11,5,./perfexp--cfa-cfa--queue-insfirst-allhead,510000000,5.007280,9.818196 23 2023-04-03 15:41:16,5,./perfexp--lq-list--stack-insfirst-inselem,462000000,5.010782,10.845848 24 2023-04-03 15:41:21,5,./perfexp--lq-tailq--queue-inslast-allhead,565000000,5.008089,8.863874 25 2023-04-03 15:41:26,2,./perfexp--cpp-stlref--queue-insfirst-inselem,167000000,5.002444,29.954754 26 2023-04-03 15:41:31,3,./perfexp--cpp-stlref--queue-insfirst-allhead,172000000,5.012068,29.139930 27 2023-04-03 15:41:36,2,./perfexp--upp-upp--queue-insfirst-inselem,465000000,5.003175,10.759516 28 2023-04-03 15:41:41,4,./perfexp--lq-tailq--queue-inslast-remelem,535000000,5.003059,9.351512 29 2023-04-03 15:41:46,4,./perfexp--cpp-stlref--queue-inslast-remelem,166000000,5.000510,30.123554 30 2023-04-03 15:41:51,3,./perfexp--lq-tailq--stack-insfirst-remelem,710000000,5.003302,7.046904 31 2023-04-03 15:41:56,1,./perfexp--lq-tailq--queue-insfirst-allhead,539000000,5.005817,9.287230 32 2023-04-03 15:42:01,5,./perfexp--upp-upp--queue-insfirst-remelem,608000000,5.006322,8.234082 33 2023-04-03 15:42:06,2,./perfexp--cpp-stlref--stack-insfirst-inselem,165000000,5.002635,30.319000 34 2023-04-03 15:42:11,5,./perfexp--cfa-cfa--queue-insfirst-inselem,510000000,5.009883,9.823300 35 2023-04-03 15:42:16,1,./perfexp--cfa-cfa--stack-insfirst-allhead,552000000,5.000119,9.058187 36 2023-04-03 15:42:21,1,./perfexp--lq-list--stack-insfirst-remelem,712000000,5.005641,7.030395 37 2023-04-03 15:42:26,3,./perfexp--upp-upp--stack-inslast-remelem,685000000,5.000472,7.299959 38 2023-04-03 15:42:31,1,./perfexp--lq-tailq--stack-insfirst-inselem,444000000,5.008487,11.280376 39 2023-04-03 15:42:37,2,./perfexp--cpp-stlref--stack-inslast-allhead,161000000,5.025004,31.211205 40 2023-04-03 15:42:42,3,./perfexp--cfa-cfa--stack-inslast-allhead,545000000,5.002831,9.179506 41 2023-04-03 15:42:47,1,./perfexp--upp-upp--stack-inslast-allhead,567000000,5.007839,8.832168 42 2023-04-03 15:42:52,5,./perfexp--cpp-stlref--stack-insfirst-inselem,165000000,5.025721,30.458915 43 2023-04-03 15:42:57,3,./perfexp--lq-tailq--queue-insfirst-allhead,537000000,5.005007,9.320311 44 2023-04-03 15:43:02,5,./perfexp--cfa-cfa--stack-insfirst-remelem,759000000,5.000831,6.588710 45 2023-04-03 15:43:07,4,./perfexp--cpp-stlref--queue-insfirst-remelem,170000000,5.016844,29.510847 46 2023-04-03 15:43:12,2,./perfexp--upp-upp--queue-insfirst-remelem,664000000,5.002228,7.533476 47 2023-04-03 15:43:17,4,./perfexp--lq-tailq--queue-insfirst-allhead,537000000,5.005068,9.320425 48 2023-04-03 15:43:22,3,./perfexp--lq-tailq--stack-insfirst-inselem,444000000,5.009009,11.281552 49 2023-04-03 15:43:27,5,./perfexp--cfa-cfa--stack-inslast-inselem,538000000,5.000494,9.294599 50 2023-04-03 15:43:32,3,./perfexp--cpp-stlref--stack-insfirst-inselem,166000000,5.023027,30.259199 51 2023-04-03 15:43:37,2,./perfexp--cpp-stlref--queue-insfirst-allhead,168000000,5.019833,29.879958 52 2023-04-03 15:43:42,1,./perfexp--upp-upp--stack-inslast-inselem,491000000,5.000784,10.184896 53 2023-04-03 15:43:47,3,./perfexp--cpp-stlref--stack-inslast-remelem,159000000,5.025671,31.607994 54 2023-04-03 15:43:52,1,./perfexp--cfa-cfa--stack-inslast-remelem,768000000,5.003314,6.514732 55 2023-04-03 15:43:57,5,./perfexp--cfa-cfa--queue-insfirst-remelem,718000000,5.000123,6.963960 56 2023-04-03 15:44:02,4,./perfexp--cfa-cfa--queue-inslast-remelem,706000000,5.005028,7.089275 57 2023-04-03 15:44:07,1,./perfexp--lq-tailq--stack-insfirst-allhead,594000000,5.002014,8.420899 58 2023-04-03 15:44:12,3,./perfexp--lq-tailq--queue-insfirst-inselem,437000000,5.006085,11.455572 59 2023-04-03 15:44:17,2,./perfexp--lq-tailq--stack-inslast-remelem,826000000,5.000880,6.054334 60 2023-04-03 15:44:22,3,./perfexp--upp-upp--stack-inslast-inselem,492000000,5.009566,10.182045 61 2023-04-03 15:44:27,2,./perfexp--upp-upp--stack-inslast-remelem,697000000,5.000839,7.174805 62 2023-04-03 15:44:32,2,./perfexp--cfa-cfa--stack-insfirst-remelem,756000000,5.000070,6.613849 63 2023-04-03 15:44:37,5,./perfexp--lq-tailq--stack-insfirst-remelem,717000000,5.007000,6.983264 64 2023-04-03 15:44:43,4,./perfexp--cfa-cfa--queue-insfirst-inselem,507000000,5.000763,9.863438 65 2023-04-03 15:44:48,1,./perfexp--cpp-stlref--queue-inslast-inselem,161000000,5.027524,31.226857 66 2023-04-03 15:44:53,4,./perfexp--cfa-cfa--queue-insfirst-allhead,508000000,5.009748,9.861709 67 2023-04-03 15:44:58,2,./perfexp--lq-tailq--stack-insfirst-allhead,595000000,5.001977,8.406684 68 2023-04-03 15:45:03,4,./perfexp--lq-tailq--queue-insfirst-inselem,431000000,5.000710,11.602575 69 2023-04-03 15:45:08,3,./perfexp--upp-upp--stack-insfirst-allhead,601000000,5.002087,8.322940 70 2023-04-03 15:45:13,5,./perfexp--lq-tailq--stack-inslast-remelem,828000000,5.002858,6.042099 71 2023-04-03 15:45:18,4,./perfexp--upp-upp--stack-insfirst-allhead,520000000,5.008182,9.631119 72 2023-04-03 15:45:23,5,./perfexp--lq-tailq--queue-inslast-remelem,529000000,5.000836,9.453376 73 2023-04-03 15:45:28,4,./perfexp--cfa-cfa--queue-insfirst-remelem,718000000,5.002385,6.967110 74 2023-04-03 15:45:33,4,./perfexp--cpp-stlref--stack-inslast-allhead,162000000,5.021934,30.999593 75 2023-04-03 15:45:38,5,./perfexp--cpp-stlref--stack-inslast-inselem,160000000,5.015857,31.349106 76 2023-04-03 15:45:43,3,./perfexp--cfa-cfa--stack-inslast-inselem,539000000,5.008154,9.291566 77 2023-04-03 15:45:48,3,./perfexp--cpp-stlref--stack-inslast-inselem,163000000,5.010634,30.740086 78 2023-04-03 15:45:53,5,./perfexp--cpp-stlref--stack-insfirst-allhead,166000000,5.018746,30.233410 79 2023-04-03 15:45:58,1,./perfexp--cfa-cfa--queue-inslast-remelem,710000000,5.006924,7.052006 80 2023-04-03 15:46:03,1,./perfexp--cpp-stlref--stack-inslast-remelem,156000000,5.000411,32.053917 81 2023-04-03 15:46:08,2,./perfexp--lq-tailq--stack-inslast-allhead,617000000,5.005184,8.112130 82 2023-04-03 15:46:13,1,./perfexp--cfa-cfa--queue-insfirst-remelem,719000000,5.003622,6.959140 83 2023-04-03 15:46:18,4,./perfexp--lq-tailq--queue-inslast-allhead,564000000,5.000835,8.866729 84 2023-04-03 15:46:23,1,./perfexp--lq-tailq--queue-insfirst-remelem,759000000,5.001690,6.589842 85 2023-04-03 15:46:28,3,./perfexp--cpp-stlref--queue-insfirst-remelem,169000000,5.025107,29.734361 86 2023-04-03 15:46:33,1,./perfexp--cpp-stlref--stack-insfirst-allhead,166000000,5.027112,30.283807 87 2023-04-03 15:46:38,1,./perfexp--cpp-stlref--queue-insfirst-remelem,169000000,5.006199,29.622479 88 2023-04-03 15:46:44,2,./perfexp--upp-upp--stack-inslast-allhead,566000000,5.000864,8.835449 89 2023-04-03 15:46:49,2,./perfexp--cfa-cfa--queue-inslast-allhead,517000000,5.009262,9.689095 90 2023-04-03 15:46:54,2,./perfexp--lq-tailq--stack-insfirst-inselem,445000000,5.000014,11.235987 91 2023-04-03 15:46:59,3,./perfexp--lq-list--stack-insfirst-remelem,713000000,5.003234,7.017158 92 2023-04-03 15:47:04,3,./perfexp--lq-tailq--queue-insfirst-remelem,759000000,5.001448,6.589523 93 2023-04-03 15:47:09,4,./perfexp--cpp-stlref--stack-inslast-inselem,164000000,5.002294,30.501793 94 2023-04-03 15:47:14,3,./perfexp--cpp-stlref--stack-insfirst-allhead,166000000,5.015560,30.214217 95 2023-04-03 15:47:19,2,./perfexp--lq-tailq--queue-inslast-remelem,533000000,5.003926,9.388229 96 2023-04-03 15:47:24,2,./perfexp--cpp-stlref--stack-inslast-inselem,164000000,5.013968,30.572976 97 2023-04-03 15:47:29,3,./perfexp--lq-tailq--stack-inslast-remelem,833000000,5.003961,6.007156 98 2023-04-03 15:47:34,2,./perfexp--cfa-cfa--stack-insfirst-allhead,552000000,5.005105,9.067219 99 2023-04-03 15:47:39,5,./perfexp--upp-upp--queue-inslast-allhead,539000000,5.003768,9.283429 100 2023-04-03 15:47:44,2,./perfexp--cpp-stlref--queue-inslast-remelem,163000000,5.022589,30.813429 101 2023-04-03 15:47:49,5,./perfexp--cpp-stlref--queue-inslast-inselem,165000000,5.027219,30.467994 102 2023-04-03 15:47:54,5,./perfexp--cpp-stlref--queue-inslast-allhead,170000000,5.024832,29.557835 103 2023-04-03 15:47:59,3,./perfexp--cpp-stlref--queue-inslast-remelem,165000000,5.027366,30.468885 104 2023-04-03 15:48:04,1,./perfexp--cfa-cfa--stack-inslast-inselem,536000000,5.005369,9.338375 105 2023-04-03 15:48:09,1,./perfexp--cpp-stlref--queue-inslast-remelem,162000000,5.023907,31.011772 106 2023-04-03 15:48:14,4,./perfexp--cpp-stlref--stack-insfirst-inselem,165000000,5.002599,30.318782 107 2023-04-03 15:48:19,4,./perfexp--cfa-cfa--queue-inslast-inselem,519000000,5.007842,9.649021 108 2023-04-03 15:48:24,4,./perfexp--cpp-stlref--queue-insfirst-inselem,170000000,5.028952,29.582071 109 2023-04-03 15:48:29,1,./perfexp--lq-tailq--queue-insfirst-inselem,433000000,5.010306,11.571145 110 2023-04-03 15:48:34,2,./perfexp--cfa-cfa--queue-inslast-remelem,709000000,5.006604,7.061501 111 2023-04-03 15:48:39,4,./perfexp--upp-upp--stack-inslast-inselem,491000000,5.004649,10.192768 112 2023-04-03 15:48:44,4,./perfexp--lq-tailq--stack-inslast-inselem,606000000,5.003287,8.256249 113 2023-04-03 15:48:49,5,./perfexp--lq-tailq--queue-inslast-inselem,557000000,5.007731,8.990540 114 2023-04-03 15:48:54,4,./perfexp--upp-upp--queue-insfirst-inselem,460000000,5.002636,10.875296 115 2023-04-03 15:48:59,4,./perfexp--upp-upp--queue-inslast-allhead,537000000,5.005155,9.320587 116 2023-04-03 15:49:04,2,./perfexp--upp-upp--queue-inslast-allhead,538000000,5.007986,9.308524 117 2023-04-03 15:49:10,5,./perfexp--upp-upp--stack-insfirst-inselem,526000000,5.007934,9.520787 118 2023-04-03 15:49:15,5,./perfexp--cpp-stlref--stack-inslast-allhead,165000000,5.014335,30.389909 119 2023-04-03 15:49:20,5,./perfexp--cpp-stlref--stack-insfirst-remelem,156000000,5.013451,32.137506 120 2023-04-03 15:49:25,3,./perfexp--cfa-cfa--stack-insfirst-inselem,548000000,5.000615,9.125210 121 2023-04-03 15:49:30,4,./perfexp--cfa-cfa--stack-inslast-remelem,769000000,5.001464,6.503854 122 2023-04-03 15:49:35,1,./perfexp--upp-upp--queue-inslast-remelem,603000000,5.003718,8.298040 123 2023-04-03 15:49:40,2,./perfexp--cpp-stlref--queue-inslast-inselem,164000000,5.012683,30.565140 124 2023-04-03 15:49:45,5,./perfexp--upp-upp--stack-insfirst-remelem,642000000,5.004144,7.794617 125 2023-04-03 15:49:50,4,./perfexp--upp-upp--queue-inslast-remelem,606000000,5.001222,8.252842 126 2023-04-03 15:49:55,2,./perfexp--cpp-stlref--stack-insfirst-remelem,158000000,5.016260,31.748481 127 2023-04-03 15:50:00,5,./perfexp--cfa-cfa--queue-inslast-allhead,518000000,5.003133,9.658558 128 2023-04-03 15:50:05,2,./perfexp--upp-upp--queue-inslast-remelem,610000000,5.003194,8.201957 129 2023-04-03 15:50:10,4,./perfexp--lq-tailq--stack-inslast-remelem,829000000,5.004086,6.036292 130 2023-04-03 15:50:15,5,./perfexp--lq-tailq--stack-insfirst-allhead,596000000,5.008331,8.403240 131 2023-04-03 15:50:20,3,./perfexp--cpp-stlref--stack-insfirst-remelem,157000000,5.028128,32.026293 132 2023-04-03 15:50:25,1,./perfexp--cfa-cfa--stack-inslast-allhead,545000000,5.003736,9.181167 133 2023-04-03 15:50:30,2,./perfexp--cpp-stlref--stack-insfirst-allhead,166000000,5.011507,30.189801 134 2023-04-03 15:50:35,2,./perfexp--lq-list--stack-insfirst-inselem,441000000,5.004092,11.347147 135 2023-04-03 15:50:40,1,./perfexp--lq-tailq--stack-inslast-remelem,831000000,5.002214,6.019511 136 2023-04-03 15:50:45,2,./perfexp--cfa-cfa--stack-insfirst-inselem,549000000,5.006757,9.119776 137 2023-04-03 15:50:51,4,./perfexp--upp-upp--stack-inslast-remelem,707000000,5.000598,7.072982 138 2023-04-03 15:50:56,2,./perfexp--cfa-cfa--queue-inslast-inselem,519000000,5.000666,9.635195 139 2023-04-03 15:51:01,4,./perfexp--lq-tailq--stack-insfirst-remelem,715000000,5.002704,6.996789 140 2023-04-03 15:51:06,3,./perfexp--cfa-cfa--stack-inslast-remelem,772000000,5.003203,6.480833 141 2023-04-03 15:51:11,1,./perfexp--upp-upp--stack-insfirst-inselem,524000000,5.006068,9.553565 142 2023-04-03 15:51:16,2,./perfexp--upp-upp--queue-insfirst-allhead,510000000,5.009613,9.822771 143 2023-04-03 15:51:21,3,./perfexp--lq-tailq--queue-inslast-remelem,530000000,5.006810,9.446811 144 2023-04-03 15:51:26,4,./perfexp--cpp-stlref--stack-insfirst-remelem,159000000,5.007889,31.496157 145 2023-04-03 15:51:31,4,./perfexp--upp-upp--queue-insfirst-remelem,661000000,5.002903,7.568688 146 2023-04-03 15:51:36,2,./perfexp--lq-tailq--queue-insfirst-inselem,432000000,5.003819,11.582914 147 2023-04-03 15:51:41,1,./perfexp--upp-upp--stack-insfirst-remelem,655000000,5.007278,7.644699 148 2023-04-03 15:51:46,3,./perfexp--lq-tailq--stack-insfirst-allhead,596000000,5.002249,8.393035 149 2023-04-03 15:51:51,5,./perfexp--upp-upp--stack-inslast-inselem,493000000,5.008268,10.158759 150 2023-04-03 15:51:56,5,./perfexp--cfa-cfa--queue-inslast-inselem,520000000,5.008160,9.631077 151 2023-04-03 15:52:01,2,./perfexp--cfa-cfa--queue-insfirst-allhead,509000000,5.001747,9.826615 152 2023-04-03 15:52:06,2,./perfexp--cfa-cfa--queue-insfirst-remelem,717000000,5.003431,6.978286 153 2023-04-03 15:52:11,5,./perfexp--cfa-cfa--stack-insfirst-inselem,548000000,5.005236,9.133642 154 2023-04-03 15:52:16,5,./perfexp--upp-upp--stack-insfirst-allhead,589000000,5.008330,8.503107 155 2023-04-03 15:52:21,3,./perfexp--upp-upp--queue-inslast-remelem,606000000,5.000791,8.252130 156 2023-04-03 15:52:26,2,./perfexp--cfa-cfa--queue-insfirst-inselem,509000000,5.005662,9.834306 157 2023-04-03 15:52:31,2,./perfexp--cpp-stlref--queue-insfirst-remelem,170000000,5.014890,29.499353 158 2023-04-03 15:52:36,4,./perfexp--upp-upp--stack-insfirst-inselem,526000000,5.008703,9.522249 159 2023-04-03 15:52:42,3,./perfexp--lq-list--stack-insfirst-inselem,442000000,5.009383,11.333446 160 2023-04-03 15:52:47,3,./perfexp--cfa-cfa--queue-inslast-inselem,520000000,5.007789,9.630363 161 2023-04-03 15:52:52,5,./perfexp--cpp-stlref--queue-insfirst-inselem,167000000,5.011863,30.011156 162 2023-04-03 15:52:57,3,./perfexp--cfa-cfa--stack-insfirst-remelem,761000000,5.004427,6.576120 163 2023-04-03 15:53:02,1,./perfexp--lq-tailq--queue-inslast-allhead,569000000,5.000007,8.787359 164 2023-04-03 15:53:07,4,./perfexp--cfa-cfa--stack-insfirst-remelem,755000000,5.006075,6.630563 165 2023-04-03 15:53:12,1,./perfexp--cfa-cfa--queue-insfirst-allhead,508000000,5.007775,9.857825 166 2023-04-03 15:53:17,3,./perfexp--upp-upp--queue-insfirst-remelem,662000000,5.003549,7.558231 167 2023-04-03 15:53:22,1,./perfexp--upp-upp--stack-insfirst-allhead,602000000,5.003572,8.311581 168 2023-04-03 15:53:27,5,./perfexp--lq-tailq--stack-inslast-allhead,617000000,5.001483,8.106131 169 2023-04-03 15:53:32,4,./perfexp--lq-list--stack-insfirst-inselem,442000000,5.010176,11.335240 170 2023-04-03 15:53:37,4,./perfexp--cpp-stlref--stack-insfirst-allhead,166000000,5.013545,30.202078 171 2023-04-03 15:53:42,5,./perfexp--cfa-cfa--stack-insfirst-allhead,552000000,5.000744,9.059319 172 2023-04-03 15:53:47,4,./perfexp--lq-tailq--queue-insfirst-remelem,765000000,5.002711,6.539492 173 2023-04-03 15:53:52,3,./perfexp--cfa-cfa--stack-insfirst-allhead,552000000,5.007654,9.071837 174 2023-04-03 15:53:57,1,./perfexp--upp-upp--queue-insfirst-remelem,660000000,5.001139,7.577483 175 2023-04-03 15:54:02,3,./perfexp--cpp-stlref--queue-insfirst-inselem,169000000,5.013091,29.663260 176 2023-04-03 15:54:07,2,./perfexp--lq-list--stack-insfirst-remelem,713000000,5.006786,7.022140 177 2023-04-03 15:54:12,1,./perfexp--lq-tailq--stack-inslast-inselem,606000000,5.002385,8.254761 178 2023-04-03 15:54:17,4,./perfexp--upp-upp--queue-inslast-inselem,487000000,5.003862,10.274871 179 2023-04-03 15:54:22,1,./perfexp--lq-list--stack-insfirst-allhead,593000000,5.002939,8.436659 180 2023-04-03 15:54:27,2,./perfexp--lq-tailq--queue-inslast-allhead,565000000,5.004251,8.857081 181 2023-04-03 15:54:32,5,./perfexp--lq-list--stack-insfirst-allhead,592000000,5.001007,8.447647 182 2023-04-03 15:54:37,3,./perfexp--upp-upp--queue-inslast-allhead,538000000,5.007986,9.308524 183 2023-04-03 15:54:42,4,./perfexp--lq-tailq--stack-inslast-allhead,617000000,5.004785,8.111483 184 2023-04-03 15:54:47,2,./perfexp--lq-tailq--queue-insfirst-allhead,537000000,5.000866,9.312600 185 2023-04-03 15:54:52,3,./perfexp--lq-tailq--stack-inslast-allhead,593000000,5.001259,8.433826 186 2023-04-03 15:54:57,5,./perfexp--lq-tailq--stack-inslast-inselem,607000000,5.008090,8.250560 187 2023-04-03 15:55:02,1,./perfexp--cfa-cfa--queue-inslast-inselem,520000000,5.007405,9.629625 188 2023-04-03 15:55:07,2,./perfexp--lq-list--stack-insfirst-allhead,590000000,5.000838,8.475997 189 2023-04-03 15:55:12,3,./perfexp--upp-upp--stack-insfirst-inselem,525000000,5.004319,9.532036 190 2023-04-03 15:55:17,5,./perfexp--cpp-stlref--queue-insfirst-remelem,170000000,5.018299,29.519406 191 2023-04-03 15:55:22,3,./perfexp--lq-tailq--queue-inslast-inselem,557000000,5.000287,8.977176 192 2023-04-03 15:55:28,1,./perfexp--lq-tailq--queue-inslast-inselem,550000000,5.002507,9.095467 193 2023-04-03 15:55:33,4,./perfexp--lq-tailq--queue-inslast-inselem,557000000,5.002020,8.980287 194 2023-04-03 15:55:38,1,./perfexp--cfa-cfa--queue-insfirst-inselem,507000000,5.001630,9.865148 195 2023-04-03 15:55:43,1,./perfexp--cpp-stlref--stack-inslast-inselem,166000000,5.029390,30.297530 196 2023-04-03 15:55:48,2,./perfexp--upp-upp--queue-inslast-inselem,486000000,5.003020,10.294280 197 2023-04-03 15:55:53,3,./perfexp--upp-upp--queue-insfirst-inselem,461000000,5.000073,10.846145 198 2023-04-03 15:55:58,5,./perfexp--cfa-cfa--stack-inslast-allhead,547000000,5.004262,9.148559 199 2023-04-03 15:56:03,1,./perfexp--lq-tailq--queue-inslast-remelem,546000000,5.005073,9.166800 200 2023-04-03 15:56:08,3,./perfexp--lq-list--stack-insfirst-allhead,591000000,5.003465,8.466100 201 2023-04-03 15:56:13,2,./perfexp--lq-tailq--stack-insfirst-remelem,716000000,5.001052,6.984709 202 2023-04-03 15:56:18,4,./perfexp--cfa-cfa--queue-inslast-allhead,516000000,5.003638,9.696973 203 2023-04-03 15:56:23,1,./perfexp--cpp-stlref--stack-insfirst-remelem,159000000,5.008347,31.499038 204 2023-04-03 15:56:28,4,./perfexp--lq-tailq--stack-insfirst-inselem,445000000,5.007219,11.252178 205 2023-04-03 15:56:33,2,./perfexp--lq-tailq--queue-insfirst-remelem,763000000,5.000451,6.553671 206 2023-04-03 15:56:38,1,./perfexp--upp-upp--queue-insfirst-inselem,461000000,5.002222,10.850807 207 2023-04-03 15:56:43,1,./perfexp--cpp-stlref--queue-insfirst-inselem,167000000,5.019099,30.054485 208 2023-04-03 15:56:48,4,./perfexp--cfa-cfa--stack-insfirst-allhead,553000000,5.005063,9.050747 209 2023-04-03 15:56:53,2,./perfexp--lq-tailq--queue-inslast-inselem,557000000,5.001068,8.978578 210 2023-04-03 15:56:58,3,./perfexp--upp-upp--stack-insfirst-remelem,644000000,5.005232,7.772099 211 2023-04-03 15:57:03,2,./perfexp--cfa-cfa--stack-inslast-inselem,538000000,5.004795,9.302593 212 2023-04-03 15:57:08,4,./perfexp--cpp-stlref--stack-inslast-remelem,158000000,5.004902,31.676595 213 2023-04-03 15:57:13,1,./perfexp--upp-upp--queue-inslast-allhead,539000000,5.002228,9.280571 214 2023-04-03 15:57:18,5,./perfexp--cpp-stlref--stack-inslast-remelem,159000000,5.019823,31.571214 215 2023-04-03 15:57:23,1,./perfexp--upp-upp--queue-insfirst-allhead,505000000,5.008103,9.917036 216 2023-04-03 15:57:29,5,./perfexp--lq-tailq--queue-insfirst-inselem,415000000,5.000368,12.049080 217 2023-04-03 15:57:34,3,./perfexp--cfa-cfa--queue-insfirst-inselem,509000000,5.003350,9.829764 218 2023-04-03 15:57:39,1,./perfexp--upp-upp--stack-inslast-remelem,687000000,5.005699,7.286316 219 2023-04-03 15:57:44,2,./perfexp--upp-upp--stack-insfirst-inselem,526000000,5.004338,9.513951 220 2023-04-03 15:57:49,1,./perfexp--upp-upp--queue-inslast-inselem,489000000,5.001246,10.227497 221 2023-04-03 15:57:54,3,./perfexp--cfa-cfa--queue-inslast-allhead,516000000,5.004492,9.698628 222 2023-04-03 15:57:59,5,./perfexp--cfa-cfa--stack-inslast-remelem,772000000,5.002201,6.479535 223 2023-04-03 15:58:04,5,./perfexp--lq-tailq--queue-insfirst-remelem,762000000,5.002834,6.565399 224 2023-04-03 15:58:09,1,./perfexp--lq-list--stack-insfirst-inselem,441000000,5.003211,11.345150 225 2023-04-03 15:58:14,1,./perfexp--cfa-cfa--queue-inslast-allhead,516000000,5.006598,9.702709 226 2023-04-03 15:58:19,2,./perfexp--upp-upp--stack-insfirst-allhead,602000000,5.000444,8.306385 227 2023-04-03 15:58:24,3,./perfexp--cfa-cfa--queue-inslast-remelem,702000000,5.005657,7.130566 228 2023-04-03 15:58:29,4,./perfexp--cpp-stlref--queue-inslast-inselem,166000000,5.026702,30.281337 229 2023-04-03 15:58:34,4,./perfexp--upp-upp--stack-insfirst-remelem,630000000,5.005706,7.945565 230 2023-04-03 15:58:39,1,./perfexp--cfa-cfa--stack-insfirst-remelem,759000000,5.004132,6.593059 231 2023-04-03 15:58:44,5,./perfexp--cpp-stlref--queue-inslast-remelem,167000000,5.024779,30.088497 232 2023-04-03 15:58:49,5,./perfexp--upp-upp--queue-inslast-inselem,485000000,5.001876,10.313146 233 2023-04-03 15:58:54,4,./perfexp--lq-tailq--stack-insfirst-allhead,595000000,5.003147,8.408650 234 2023-04-03 15:58:59,5,./perfexp--upp-upp--stack-inslast-remelem,680000000,5.001317,7.354878 235 2023-04-03 15:59:04,5,./perfexp--upp-upp--queue-insfirst-inselem,462000000,5.006965,10.837587 236 2023-04-03 15:59:09,3,./perfexp--cpp-stlref--queue-inslast-allhead,172000000,5.023178,29.204523 237 2023-04-03 15:59:14,4,./perfexp--cpp-stlref--queue-insfirst-allhead,173000000,5.020339,29.019301 238 2023-04-03 15:59:19,5,./perfexp--lq-list--stack-insfirst-remelem,712000000,5.002571,7.026083 239 2023-04-03 15:59:24,4,./perfexp--upp-upp--queue-insfirst-allhead,506000000,5.000700,9.882806 240 2023-04-03 15:59:29,4,./perfexp--cpp-stlref--queue-inslast-allhead,167000000,5.011863,30.011156 241 2023-04-03 15:59:34,2,./perfexp--cfa-cfa--stack-inslast-remelem,771000000,5.001426,6.486934 242 2023-04-03 15:59:39,4,./perfexp--cfa-cfa--stack-insfirst-inselem,550000000,5.005721,9.101311 243 2023-04-03 15:59:44,1,./perfexp--cfa-cfa--stack-insfirst-inselem,551000000,5.002555,9.079047 244 2023-04-03 15:59:49,4,./perfexp--cfa-cfa--stack-inslast-allhead,546000000,5.001532,9.160315 245 2023-04-03 15:59:54,2,./perfexp--cpp-stlref--queue-inslast-allhead,161000000,5.006152,31.094112 246 2023-04-03 15:59:59,3,./perfexp--cpp-stlref--stack-inslast-allhead,166000000,5.020481,30.243861 247 2023-04-03 16:00:04,1,./perfexp--cpp-stlref--stack-insfirst-inselem,165000000,5.020233,30.425655 248 2023-04-03 16:00:09,3,./perfexp--cfa-cfa--queue-insfirst-allhead,509000000,5.003864,9.830774 249 2023-04-03 16:00:14,4,./perfexp--lq-list--stack-insfirst-allhead,593000000,5.002670,8.436206 250 2023-04-03 16:00:19,1,./perfexp--cpp-stlref--queue-insfirst-allhead,170000000,5.005779,29.445759 251 2023-04-03 16:00:25,1,./perfexp--cpp-stlref--queue-inslast-allhead,168000000,5.021567,29.890280 252 2023-04-03 16:00:30,5,./perfexp--cpp-stlref--queue-insfirst-allhead,170000000,5.030049,29.588524 253 2023-04-03 16:00:35,5,./perfexp--upp-upp--queue-inslast-remelem,616000000,5.007578,8.129185 254 2023-04-03 16:00:40,4,./perfexp--lq-list--stack-insfirst-remelem,713000000,5.002819,7.016576 255 2023-04-03 16:00:45,3,./perfexp--upp-upp--queue-insfirst-allhead,501000000,5.007947,9.995902 1 2023-04-06 22:38:43,2,5 100 72421 -1 2 ,./perfexp--cfa-cfa--stack-inslast-inselem,159326200,5.104060,32.035284 2 2023-04-06 22:38:48,2,5 1000000 7 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-remelem,224000000,5.117349,22.845308 3 2023-04-06 22:38:54,4,5 1000000 7 -1 4 ,./perfexp--cpp-stlref--queue-inslast-allhead,224000000,5.062724,22.601446 4 2023-04-06 22:38:59,5,5 100 72421 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-allhead,166568300,5.161427,30.986850 5 2023-04-06 22:39:04,3,5 10000 809 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-remelem,169890000,5.005365,29.462387 6 2023-04-06 22:39:09,3,5 10000 809 -1 3 ,./perfexp--cfa-cfa--queue-inslast-inselem,444950000,5.003260,11.244544 7 2023-04-06 22:39:14,5,5 1000 9051 -1 5 ,./perfexp--lq-tailq--queue-insfirst-inselem,289632000,5.002701,17.272611 8 2023-04-06 22:39:19,4,5 1000 9051 -1 4 ,./perfexp--cfa-cfa--queue-inslast-allhead,343938000,5.050625,14.684696 9 2023-04-06 22:39:24,3,5 100000 71 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-inselem,546700000,5.031248,9.202941 10 2023-04-06 22:39:29,1,5 10000 809 -1 1 ,./perfexp--cpp-stlref--stack-inslast-allhead,177980000,5.214033,29.295612 11 2023-04-06 22:39:34,2,5 1000 9051 -1 2 ,./perfexp--lq-tailq--stack-inslast-remelem,678825000,5.007971,7.377411 12 2023-04-06 22:39:39,5,5 100000 71 -1 5 ,./perfexp--cpp-stlref--queue-inslast-remelem,177500000,5.051343,28.458270 13 2023-04-06 22:39:44,4,5 100000 71 -1 4 ,./perfexp--cfa-cfa--stack-inslast-inselem,617700000,5.012318,8.114486 14 2023-04-06 22:39:49,2,5 1000000 7 -1 2 ,./perfexp--lq-list--stack-insfirst-inselem,581000000,5.034526,8.665277 15 2023-04-06 22:39:54,1,5 1000000 7 -1 1 ,./perfexp--lq-tailq--queue-insfirst-remelem,1309000000,5.007982,3.825807 16 2023-04-06 22:39:59,3,5 100000 71 -1 3 ,./perfexp--upp-upp--stack-inslast-remelem,809400000,5.034582,6.220141 17 2023-04-06 22:40:04,3,5 1000 9051 -1 3 ,./perfexp--lq-tailq--queue-inslast-allhead,352989000,5.080867,14.393839 18 2023-04-06 22:40:10,1,5 100 72421 -1 1 ,./perfexp--lq-tailq--stack-inslast-inselem,159326200,5.152641,32.340199 19 2023-04-06 22:40:15,4,5 100 72421 -1 4 ,./perfexp--lq-list--stack-insfirst-remelem,333136600,5.081694,15.254085 20 2023-04-06 22:40:20,3,5 1000000 7 -1 3 ,./perfexp--cfa-cfa--queue-inslast-allhead,672000000,5.041239,7.501844 21 2023-04-06 22:40:25,5,5 100 72421 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-remelem,159326200,5.216693,32.742217 22 2023-04-06 22:40:30,3,5 100000 71 -1 3 ,./perfexp--lq-tailq--stack-inslast-inselem,908800000,5.036669,5.542109 23 2023-04-06 22:40:35,1,5 100 72421 -1 1 ,./perfexp--lq-list--stack-insfirst-inselem,166568300,5.225242,31.369967 24 2023-04-06 22:40:41,4,5 100 72421 -1 4 ,./perfexp--cfa-cfa--queue-inslast-allhead,137599900,5.143664,37.381306 25 2023-04-06 22:40:46,5,5 100 72421 -1 5 ,./perfexp--cfa-cfa--stack-inslast-inselem,159326200,5.104856,32.040280 26 2023-04-06 22:40:51,5,5 1000000 7 -1 5 ,./perfexp--lq-list--stack-insfirst-allhead,917000000,5.030506,5.485830 27 2023-04-06 22:40:56,5,5 100 72421 -1 5 ,./perfexp--lq-tailq--queue-insfirst-remelem,296926100,5.105027,17.192921 28 2023-04-06 22:41:01,4,5 100 72421 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-allhead,137599900,5.150764,37.432905 29 2023-04-06 22:41:06,1,5 100 72421 -1 1 ,./perfexp--lq-list--stack-insfirst-allhead,166568300,5.054932,30.347503 30 2023-04-06 22:41:11,1,5 100 72421 -1 1 ,./perfexp--upp-upp--queue-insfirst-inselem,130357800,5.100502,39.126941 31 2023-04-06 22:41:16,3,5 1000 9051 -1 3 ,./perfexp--lq-list--stack-insfirst-inselem,325836000,5.113777,15.694328 32 2023-04-06 22:41:22,4,5 10000 809 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-remelem,169890000,5.046006,29.701607 33 2023-04-06 22:41:27,3,5 10000 809 -1 3 ,./perfexp--upp-upp--stack-insfirst-inselem,477310000,5.055761,10.592196 34 2023-04-06 22:41:32,4,5 1000 9051 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-remelem,588315000,5.001890,8.502061 35 2023-04-06 22:41:37,1,5 1000000 7 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-inselem,651000000,5.008924,7.694200 36 2023-04-06 22:41:42,3,5 10000 809 -1 3 ,./perfexp--lq-tailq--stack-insfirst-remelem,590570000,5.038027,8.530787 37 2023-04-06 22:41:47,4,5 1000 9051 -1 4 ,./perfexp--cpp-stlref--stack-inslast-remelem,153867000,5.210496,33.863635 38 2023-04-06 22:41:52,2,5 100000 71 -1 2 ,./perfexp--lq-tailq--queue-insfirst-remelem,859100000,5.034777,5.860525 39 2023-04-06 22:41:57,3,5 10000 809 -1 3 ,./perfexp--lq-list--stack-insfirst-remelem,590570000,5.065984,8.578126 40 2023-04-06 22:42:02,5,5 10000 809 -1 5 ,./perfexp--lq-tailq--stack-inslast-inselem,493490000,5.014299,10.160893 41 2023-04-06 22:42:07,2,5 100000 71 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-allhead,184600000,5.079109,27.514133 42 2023-04-06 22:42:12,2,5 1000000 7 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-inselem,231000000,5.041959,21.826662 43 2023-04-06 22:42:17,5,5 1000 9051 -1 5 ,./perfexp--cpp-stlref--stack-inslast-allhead,162918000,5.108416,31.355750 44 2023-04-06 22:42:22,4,5 100 72421 -1 4 ,./perfexp--upp-upp--queue-insfirst-remelem,260715600,5.113112,19.611838 45 2023-04-06 22:42:27,4,5 1000000 7 -1 4 ,./perfexp--lq-tailq--queue-inslast-inselem,833000000,5.028245,6.036309 46 2023-04-06 22:42:33,2,5 1000 9051 -1 2 ,./perfexp--lq-tailq--queue-inslast-inselem,352989000,5.105392,14.463318 47 2023-04-06 22:42:38,2,5 1000 9051 -1 2 ,./perfexp--upp-upp--stack-inslast-allhead,334887000,5.039581,15.048601 48 2023-04-06 22:42:43,3,5 1000000 7 -1 3 ,./perfexp--upp-upp--stack-insfirst-remelem,763000000,5.016755,6.575039 49 2023-04-06 22:42:48,1,5 100 72421 -1 1 ,./perfexp--lq-tailq--stack-inslast-allhead,159326200,5.111182,32.079984 50 2023-04-06 22:42:53,1,5 100000 71 -1 1 ,./perfexp--cfa-cfa--stack-inslast-remelem,979800000,5.002241,5.105369 51 2023-04-06 22:42:58,1,5 1000 9051 -1 1 ,./perfexp--upp-upp--stack-inslast-inselem,316785000,5.008967,15.811882 52 2023-04-06 22:43:03,5,5 1000000 7 -1 5 ,./perfexp--lq-tailq--queue-insfirst-remelem,1316000000,5.025586,3.818834 53 2023-04-06 22:43:08,3,5 1000000 7 -1 3 ,./perfexp--lq-tailq--queue-inslast-allhead,959000000,5.008021,5.222128 54 2023-04-06 22:43:13,3,5 1000 9051 -1 3 ,./perfexp--upp-upp--stack-insfirst-remelem,461601000,5.006449,10.845837 55 2023-04-06 22:43:18,2,5 1000000 7 -1 2 ,./perfexp--cfa-cfa--queue-inslast-inselem,658000000,5.029688,7.643903 56 2023-04-06 22:43:23,5,5 1000000 7 -1 5 ,./perfexp--cfa-cfa--queue-inslast-inselem,658000000,5.022354,7.632757 57 2023-04-06 22:43:28,4,5 100 72421 -1 4 ,./perfexp--lq-tailq--stack-inslast-remelem,347620800,5.032410,14.476723 58 2023-04-06 22:43:33,1,5 100 72421 -1 1 ,./perfexp--upp-upp--stack-insfirst-allhead,159326200,5.154973,32.354836 59 2023-04-06 22:43:38,2,5 10000 809 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-remelem,169890000,5.130552,30.199258 60 2023-04-06 22:43:43,4,5 1000 9051 -1 4 ,./perfexp--lq-list--stack-insfirst-remelem,543060000,5.083894,9.361570 61 2023-04-06 22:43:49,5,5 10000 809 -1 5 ,./perfexp--cpp-stlref--queue-inslast-remelem,169890000,5.059665,29.782006 62 2023-04-06 22:43:54,2,5 1000000 7 -1 2 ,./perfexp--lq-tailq--stack-insfirst-allhead,910000000,5.002806,5.497589 63 2023-04-06 22:43:59,4,5 100000 71 -1 4 ,./perfexp--lq-tailq--queue-inslast-remelem,575100000,5.010242,8.711949 64 2023-04-06 22:44:04,5,5 1000000 7 -1 5 ,./perfexp--upp-upp--queue-insfirst-allhead,728000000,5.022596,6.899170 65 2023-04-06 22:44:09,1,5 10000 809 -1 1 ,./perfexp--cpp-stlref--stack-inslast-remelem,169890000,5.191497,30.557990 66 2023-04-06 22:44:14,4,5 100000 71 -1 4 ,./perfexp--cfa-cfa--stack-inslast-allhead,639000000,5.034492,7.878704 67 2023-04-06 22:44:19,5,5 100 72421 -1 5 ,./perfexp--lq-tailq--queue-inslast-remelem,311410300,5.098903,16.373585 68 2023-04-06 22:44:24,5,5 1000 9051 -1 5 ,./perfexp--upp-upp--queue-insfirst-allhead,325836000,5.135714,15.761653 69 2023-04-06 22:44:29,4,5 1000000 7 -1 4 ,./perfexp--lq-list--stack-insfirst-inselem,581000000,5.051661,8.694769 70 2023-04-06 22:44:34,3,5 1000000 7 -1 3 ,./perfexp--upp-upp--stack-insfirst-inselem,679000000,5.043664,7.428077 71 2023-04-06 22:44:39,5,5 100 72421 -1 5 ,./perfexp--upp-upp--queue-insfirst-inselem,130357800,5.100746,39.128813 72 2023-04-06 22:44:45,4,5 100 72421 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-inselem,137599900,5.151609,37.439046 73 2023-04-06 22:44:50,4,5 1000000 7 -1 4 ,./perfexp--cfa-cfa--stack-inslast-allhead,672000000,5.022206,7.473521 74 2023-04-06 22:44:55,2,5 1000 9051 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-inselem,343938000,5.113961,14.868846 75 2023-04-06 22:45:00,5,5 1000 9051 -1 5 ,./perfexp--cfa-cfa--queue-inslast-inselem,343938000,5.132823,14.923687 76 2023-04-06 22:45:05,5,5 1000 9051 -1 5 ,./perfexp--lq-tailq--queue-inslast-allhead,352989000,5.051277,14.310012 77 2023-04-06 22:45:10,1,5 1000 9051 -1 1 ,./perfexp--cfa-cfa--stack-inslast-inselem,343938000,5.079431,14.768450 78 2023-04-06 22:45:15,2,5 100000 71 -1 2 ,./perfexp--upp-upp--stack-inslast-remelem,795200000,5.027511,6.322323 79 2023-04-06 22:45:20,2,5 1000 9051 -1 2 ,./perfexp--lq-list--stack-insfirst-inselem,325836000,5.097880,15.645539 80 2023-04-06 22:45:25,2,5 1000 9051 -1 2 ,./perfexp--lq-tailq--stack-inslast-allhead,325836000,5.039459,15.466244 81 2023-04-06 22:45:30,3,5 10000 809 -1 3 ,./perfexp--upp-upp--stack-inslast-inselem,444950000,5.059145,11.370143 82 2023-04-06 22:45:36,5,5 10000 809 -1 5 ,./perfexp--upp-upp--stack-inslast-inselem,444950000,5.072116,11.399294 83 2023-04-06 22:45:41,5,5 100 72421 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-allhead,159326200,5.099274,32.005245 84 2023-04-06 22:45:46,3,5 100000 71 -1 3 ,./perfexp--lq-tailq--queue-insfirst-allhead,788100000,5.037081,6.391424 85 2023-04-06 22:45:51,4,5 100000 71 -1 4 ,./perfexp--lq-tailq--stack-inslast-allhead,1036600000,5.028854,4.851297 86 2023-04-06 22:45:56,2,5 10000 809 -1 2 ,./perfexp--upp-upp--stack-inslast-allhead,493490000,5.043056,10.219166 87 2023-04-06 22:46:01,3,5 10000 809 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-remelem,169890000,5.165830,30.406910 88 2023-04-06 22:46:06,5,5 1000000 7 -1 5 ,./perfexp--lq-tailq--queue-inslast-remelem,777000000,5.026590,6.469228 89 2023-04-06 22:46:11,1,5 10000 809 -1 1 ,./perfexp--lq-list--stack-insfirst-inselem,453040000,5.042693,11.130790 90 2023-04-06 22:46:16,3,5 100 72421 -1 3 ,./perfexp--cpp-stlref--stack-inslast-inselem,159326200,5.021468,31.516901 91 2023-04-06 22:46:21,1,5 10000 809 -1 1 ,./perfexp--upp-upp--queue-insfirst-allhead,444950000,5.058905,11.369603 92 2023-04-06 22:46:26,2,5 100 72421 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-inselem,159326200,5.124781,32.165338 93 2023-04-06 22:46:31,3,5 100000 71 -1 3 ,./perfexp--cpp-stlref--stack-inslast-allhead,184600000,5.086561,27.554502 94 2023-04-06 22:46:37,1,5 100 72421 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-inselem,159326200,5.101698,32.020459 95 2023-04-06 22:46:42,2,5 1000000 7 -1 2 ,./perfexp--lq-tailq--queue-inslast-remelem,777000000,5.024963,6.467134 96 2023-04-06 22:46:47,1,5 100000 71 -1 1 ,./perfexp--lq-tailq--stack-inslast-inselem,901700000,5.038805,5.588117 97 2023-04-06 22:46:52,4,5 1000 9051 -1 4 ,./perfexp--upp-upp--stack-insfirst-allhead,325836000,5.086643,15.611053 98 2023-04-06 22:46:57,1,5 1000000 7 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-remelem,917000000,5.029273,5.484485 99 2023-04-06 22:47:02,2,5 100 72421 -1 2 ,./perfexp--upp-upp--stack-inslast-inselem,159326200,5.146099,32.299138 100 2023-04-06 22:47:07,5,5 100000 71 -1 5 ,./perfexp--upp-upp--stack-inslast-allhead,646100000,5.036416,7.795103 101 2023-04-06 22:47:12,1,5 100 72421 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-remelem,318652400,5.011899,15.728421 102 2023-04-06 22:47:17,1,5 1000 9051 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-remelem,579264000,5.006702,8.643213 103 2023-04-06 22:47:22,1,5 10000 809 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-inselem,477310000,5.036310,10.551445 104 2023-04-06 22:47:27,5,5 100 72421 -1 5 ,./perfexp--cpp-stlref--stack-inslast-allhead,159326200,5.051290,31.704076 105 2023-04-06 22:47:32,2,5 10000 809 -1 2 ,./perfexp--lq-tailq--stack-inslast-allhead,509670000,5.059480,9.926972 106 2023-04-06 22:47:37,2,5 1000 9051 -1 2 ,./perfexp--lq-tailq--queue-inslast-remelem,534009000,5.021579,9.403548 107 2023-04-06 22:47:42,4,5 1000000 7 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-inselem,665000000,5.028019,7.560931 108 2023-04-06 22:47:47,2,5 100000 71 -1 2 ,./perfexp--cpp-stlref--stack-inslast-remelem,177500000,5.011349,28.232952 109 2023-04-06 22:47:52,2,5 100000 71 -1 2 ,./perfexp--lq-tailq--stack-inslast-remelem,1242500000,5.025123,4.044365 110 2023-04-06 22:47:57,5,5 1000 9051 -1 5 ,./perfexp--lq-tailq--stack-inslast-allhead,325836000,5.033694,15.448551 111 2023-04-06 22:48:02,5,5 10000 809 -1 5 ,./perfexp--upp-upp--stack-insfirst-allhead,525850000,5.074913,9.650876 112 2023-04-06 22:48:08,3,5 100 72421 -1 3 ,./perfexp--lq-tailq--queue-inslast-remelem,311410300,5.100754,16.379529 113 2023-04-06 22:48:13,3,5 100 72421 -1 3 ,./perfexp--lq-tailq--queue-insfirst-remelem,296926100,5.107471,17.201152 114 2023-04-06 22:48:18,5,5 1000 9051 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-allhead,334887000,5.049385,15.077877 115 2023-04-06 22:48:23,3,5 1000000 7 -1 3 ,./perfexp--upp-upp--stack-inslast-remelem,665000000,5.048229,7.591322 116 2023-04-06 22:48:28,5,5 100 72421 -1 5 ,./perfexp--cpp-stlref--queue-inslast-inselem,159326200,5.039389,31.629380 117 2023-04-06 22:48:33,4,5 100 72421 -1 4 ,./perfexp--upp-upp--stack-insfirst-remelem,267957700,5.032279,18.780125 118 2023-04-06 22:48:38,5,5 1000000 7 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-inselem,658000000,5.048589,7.672628 119 2023-04-06 22:48:43,2,5 1000000 7 -1 2 ,./perfexp--cpp-stlref--stack-inslast-remelem,224000000,5.116992,22.843714 120 2023-04-06 22:48:48,5,5 1000 9051 -1 5 ,./perfexp--lq-tailq--stack-insfirst-allhead,352989000,5.129190,14.530736 121 2023-04-06 22:48:53,5,5 1000000 7 -1 5 ,./perfexp--cpp-stlref--stack-inslast-remelem,224000000,5.044124,22.518411 122 2023-04-06 22:48:58,1,5 100 72421 -1 1 ,./perfexp--upp-upp--stack-inslast-allhead,159326200,5.085806,31.920714 123 2023-04-06 22:49:04,3,5 10000 809 -1 3 ,./perfexp--lq-tailq--queue-inslast-remelem,574390000,5.067621,8.822614 124 2023-04-06 22:49:09,2,5 100 72421 -1 2 ,./perfexp--lq-list--stack-insfirst-inselem,159326200,5.003104,31.401640 125 2023-04-06 22:49:14,3,5 1000 9051 -1 3 ,./perfexp--upp-upp--queue-insfirst-inselem,307734000,5.021786,16.318593 126 2023-04-06 22:49:19,3,5 1000000 7 -1 3 ,./perfexp--lq-tailq--queue-insfirst-inselem,973000000,5.029223,5.168780 127 2023-04-06 22:49:24,3,5 100000 71 -1 3 ,./perfexp--lq-tailq--stack-insfirst-inselem,646100000,5.013377,7.759444 128 2023-04-06 22:49:29,1,5 1000000 7 -1 1 ,./perfexp--cpp-stlref--stack-inslast-inselem,224000000,5.026205,22.438415 129 2023-04-06 22:49:34,5,5 1000 9051 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-allhead,162918000,5.122192,31.440307 130 2023-04-06 22:49:39,4,5 1000000 7 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-inselem,217000000,5.012642,23.099733 131 2023-04-06 22:49:44,1,5 1000 9051 -1 1 ,./perfexp--lq-list--stack-insfirst-remelem,534009000,5.010162,9.382168 132 2023-04-06 22:49:49,5,5 1000000 7 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-inselem,665000000,5.025341,7.556904 133 2023-04-06 22:49:54,2,5 1000 9051 -1 2 ,./perfexp--cpp-stlref--stack-inslast-inselem,162918000,5.112699,31.382039 134 2023-04-06 22:49:59,5,5 100 72421 -1 5 ,./perfexp--cfa-cfa--queue-inslast-remelem,289684000,5.092223,17.578544 135 2023-04-06 22:50:04,1,5 10000 809 -1 1 ,./perfexp--lq-list--stack-insfirst-allhead,509670000,5.018786,9.847129 136 2023-04-06 22:50:09,1,5 1000000 7 -1 1 ,./perfexp--upp-upp--stack-insfirst-inselem,679000000,5.046907,7.432853 137 2023-04-06 22:50:14,4,5 1000000 7 -1 4 ,./perfexp--upp-upp--stack-inslast-allhead,763000000,5.000173,6.553307 138 2023-04-06 22:50:19,2,5 10000 809 -1 2 ,./perfexp--lq-tailq--stack-insfirst-allhead,509670000,5.001591,9.813391 139 2023-04-06 22:50:24,1,5 100 72421 -1 1 ,./perfexp--upp-upp--queue-insfirst-remelem,260715600,5.115727,19.621868 140 2023-04-06 22:50:30,4,5 1000 9051 -1 4 ,./perfexp--lq-tailq--stack-insfirst-inselem,325836000,5.102080,15.658429 141 2023-04-06 22:50:35,5,5 1000 9051 -1 5 ,./perfexp--cpp-stlref--queue-inslast-remelem,171969000,5.259251,30.582553 142 2023-04-06 22:50:40,1,5 100 72421 -1 1 ,./perfexp--cpp-stlref--queue-inslast-allhead,159326200,5.062565,31.774843 143 2023-04-06 22:50:45,4,5 1000 9051 -1 4 ,./perfexp--lq-tailq--stack-inslast-remelem,687876000,5.057051,7.351690 144 2023-04-06 22:50:50,3,5 100 72421 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-inselem,159326200,5.115809,32.109025 145 2023-04-06 22:50:55,3,5 1000000 7 -1 3 ,./perfexp--cfa-cfa--queue-inslast-remelem,973000000,5.015677,5.154858 146 2023-04-06 22:51:00,3,5 100 72421 -1 3 ,./perfexp--upp-upp--queue-inslast-remelem,260715600,5.002998,19.189485 147 2023-04-06 22:51:05,1,5 1000 9051 -1 1 ,./perfexp--lq-tailq--stack-insfirst-allhead,343938000,5.009464,14.565020 148 2023-04-06 22:51:10,1,5 100 72421 -1 1 ,./perfexp--cpp-stlref--stack-inslast-allhead,159326200,5.001947,31.394378 149 2023-04-06 22:51:15,2,5 1000000 7 -1 2 ,./perfexp--cfa-cfa--stack-inslast-remelem,966000000,5.019736,5.196414 150 2023-04-06 22:51:20,2,5 10000 809 -1 2 ,./perfexp--lq-tailq--queue-insfirst-allhead,461130000,5.067126,10.988498 151 2023-04-06 22:51:25,2,5 10000 809 -1 2 ,./perfexp--cpp-stlref--stack-inslast-inselem,169890000,5.037162,29.649550 152 2023-04-06 22:51:31,2,5 10000 809 -1 2 ,./perfexp--upp-upp--stack-inslast-remelem,679560000,5.044672,7.423439 153 2023-04-06 22:51:36,4,5 1000 9051 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-remelem,153867000,5.093303,33.101984 154 2023-04-06 22:51:41,2,5 1000 9051 -1 2 ,./perfexp--upp-upp--stack-inslast-remelem,570213000,5.076763,8.903275 155 2023-04-06 22:51:46,1,5 100000 71 -1 1 ,./perfexp--lq-tailq--stack-insfirst-allhead,781000000,5.034261,6.445917 156 2023-04-06 22:51:51,4,5 1000 9051 -1 4 ,./perfexp--lq-tailq--stack-insfirst-allhead,352989000,5.119857,14.504296 157 2023-04-06 22:51:56,4,5 100000 71 -1 4 ,./perfexp--cfa-cfa--queue-inslast-inselem,568000000,5.020960,8.839718 158 2023-04-06 22:52:01,2,5 1000000 7 -1 2 ,./perfexp--upp-upp--stack-insfirst-inselem,679000000,5.020031,7.393271 159 2023-04-06 22:52:06,5,5 10000 809 -1 5 ,./perfexp--cfa-cfa--stack-inslast-inselem,477310000,5.065549,10.612702 160 2023-04-06 22:52:11,1,5 1000 9051 -1 1 ,./perfexp--upp-upp--queue-inslast-allhead,334887000,5.061093,15.112838 161 2023-04-06 22:52:16,1,5 1000 9051 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-remelem,171969000,5.199554,30.235415 162 2023-04-06 22:52:21,4,5 1000000 7 -1 4 ,./perfexp--lq-tailq--stack-insfirst-remelem,791000000,5.030514,6.359689 163 2023-04-06 22:52:26,4,5 100000 71 -1 4 ,./perfexp--lq-tailq--stack-insfirst-inselem,660300000,5.021934,7.605534 164 2023-04-06 22:52:31,4,5 1000000 7 -1 4 ,./perfexp--cpp-stlref--stack-inslast-inselem,224000000,5.069797,22.633022 165 2023-04-06 22:52:37,1,5 100000 71 -1 1 ,./perfexp--lq-tailq--queue-insfirst-inselem,766800000,5.034758,6.565934 166 2023-04-06 22:52:42,2,5 100000 71 -1 2 ,./perfexp--lq-tailq--stack-insfirst-inselem,738400000,5.004336,6.777270 167 2023-04-06 22:52:47,3,5 1000000 7 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-inselem,665000000,5.024545,7.555707 168 2023-04-06 22:52:52,1,5 1000 9051 -1 1 ,./perfexp--lq-list--stack-insfirst-allhead,343938000,5.070304,14.741913 169 2023-04-06 22:52:57,5,5 100000 71 -1 5 ,./perfexp--lq-tailq--stack-insfirst-remelem,688700000,5.007406,7.270809 170 2023-04-06 22:53:02,1,5 100000 71 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-allhead,184600000,5.064279,27.433797 171 2023-04-06 22:53:07,1,5 1000000 7 -1 1 ,./perfexp--lq-tailq--stack-inslast-allhead,1078000000,5.011355,4.648752 172 2023-04-06 22:53:12,4,5 100000 71 -1 4 ,./perfexp--lq-list--stack-insfirst-allhead,809400000,5.030850,6.215530 173 2023-04-06 22:53:17,1,5 100000 71 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-allhead,184600000,5.121858,27.745710 174 2023-04-06 22:53:22,2,5 10000 809 -1 2 ,./perfexp--cpp-stlref--queue-inslast-allhead,177980000,5.177338,29.089437 175 2023-04-06 22:53:27,2,5 1000 9051 -1 2 ,./perfexp--lq-tailq--queue-insfirst-inselem,298683000,5.103575,17.086928 176 2023-04-06 22:53:32,4,5 1000000 7 -1 4 ,./perfexp--cfa-cfa--stack-inslast-remelem,959000000,5.004941,5.218917 177 2023-04-06 22:53:37,4,5 10000 809 -1 4 ,./perfexp--cfa-cfa--queue-inslast-inselem,453040000,5.084873,11.223894 178 2023-04-06 22:53:43,4,5 1000000 7 -1 4 ,./perfexp--lq-list--stack-insfirst-allhead,917000000,5.007210,5.460425 179 2023-04-06 22:53:48,2,5 10000 809 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-allhead,485400000,5.073608,10.452427 180 2023-04-06 22:53:53,3,5 1000 9051 -1 3 ,./perfexp--cfa-cfa--stack-inslast-allhead,334887000,5.007885,14.953955 181 2023-04-06 22:53:58,3,5 100 72421 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-allhead,137599900,5.149462,37.423443 182 2023-04-06 22:54:03,3,5 100 72421 -1 3 ,./perfexp--upp-upp--queue-inslast-inselem,137599900,5.086708,36.967382 183 2023-04-06 22:54:08,4,5 1000 9051 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-inselem,343938000,5.092902,14.807616 184 2023-04-06 22:54:13,5,5 100000 71 -1 5 ,./perfexp--lq-list--stack-insfirst-remelem,688700000,5.002389,7.263524 185 2023-04-06 22:54:18,5,5 100 72421 -1 5 ,./perfexp--cfa-cfa--queue-inslast-allhead,137599900,5.146658,37.403065 186 2023-04-06 22:54:23,1,5 1000 9051 -1 1 ,./perfexp--cfa-cfa--stack-inslast-remelem,597366000,5.073255,8.492708 187 2023-04-06 22:54:28,4,5 100000 71 -1 4 ,./perfexp--upp-upp--stack-insfirst-remelem,759700000,5.005199,6.588389 188 2023-04-06 22:54:33,5,5 100 72421 -1 5 ,./perfexp--lq-tailq--stack-inslast-remelem,347620800,5.035473,14.485534 189 2023-04-06 22:54:38,2,5 100000 71 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-remelem,908800000,5.019250,5.522942 190 2023-04-06 22:54:43,3,5 100 72421 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-allhead,159326200,5.030282,31.572221 191 2023-04-06 22:54:48,5,5 10000 809 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-allhead,177980000,5.213425,29.292196 192 2023-04-06 22:54:54,3,5 10000 809 -1 3 ,./perfexp--lq-tailq--queue-inslast-allhead,469220000,5.071355,10.808054 193 2023-04-06 22:54:59,4,5 100000 71 -1 4 ,./perfexp--lq-tailq--stack-insfirst-remelem,688700000,5.012374,7.278022 194 2023-04-06 22:55:04,4,5 10000 809 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-remelem,720010000,5.044350,7.005944 195 2023-04-06 22:55:09,5,5 100000 71 -1 5 ,./perfexp--cfa-cfa--stack-inslast-allhead,624800000,5.034208,8.057311 196 2023-04-06 22:55:14,5,5 100 72421 -1 5 ,./perfexp--upp-upp--queue-insfirst-remelem,260715600,5.109722,19.598835 197 2023-04-06 22:55:19,1,5 1000000 7 -1 1 ,./perfexp--cfa-cfa--queue-inslast-inselem,658000000,5.025521,7.637570 198 2023-04-06 22:55:24,1,5 1000 9051 -1 1 ,./perfexp--cfa-cfa--queue-inslast-remelem,588315000,5.043017,8.571967 199 2023-04-06 22:55:29,1,5 100 72421 -1 1 ,./perfexp--lq-tailq--stack-insfirst-inselem,159326200,5.003525,31.404283 200 2023-04-06 22:55:34,2,5 100 72421 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-remelem,318652400,5.010231,15.723186 201 2023-04-06 22:55:39,3,5 100 72421 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-inselem,137599900,5.150708,37.432498 202 2023-04-06 22:55:44,4,5 1000000 7 -1 4 ,./perfexp--upp-upp--queue-insfirst-inselem,595000000,5.044665,8.478429 203 2023-04-06 22:55:49,4,5 100 72421 -1 4 ,./perfexp--cpp-stlref--stack-inslast-remelem,159326200,5.209063,32.694328 204 2023-04-06 22:55:55,1,5 10000 809 -1 1 ,./perfexp--lq-tailq--stack-inslast-allhead,509670000,5.053284,9.914815 205 2023-04-06 22:56:00,4,5 100000 71 -1 4 ,./perfexp--lq-tailq--stack-insfirst-allhead,795200000,5.012552,6.303511 206 2023-04-06 22:56:05,4,5 100000 71 -1 4 ,./perfexp--lq-tailq--queue-insfirst-allhead,766800000,5.033161,6.563851 207 2023-04-06 22:56:10,2,5 100 72421 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-allhead,159326200,5.121738,32.146238 208 2023-04-06 22:56:15,5,5 1000 9051 -1 5 ,./perfexp--upp-upp--stack-inslast-allhead,334887000,5.028414,15.015256 209 2023-04-06 22:56:20,5,5 1000 9051 -1 5 ,./perfexp--lq-list--stack-insfirst-inselem,325836000,5.124252,15.726476 210 2023-04-06 22:56:25,4,5 10000 809 -1 4 ,./perfexp--cpp-stlref--queue-inslast-inselem,177980000,5.172291,29.061080 211 2023-04-06 22:56:30,3,5 100000 71 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-remelem,830700000,5.042470,6.070146 212 2023-04-06 22:56:35,5,5 1000000 7 -1 5 ,./perfexp--upp-upp--queue-insfirst-remelem,847000000,5.032186,5.941188 213 2023-04-06 22:56:40,1,5 100000 71 -1 1 ,./perfexp--lq-tailq--queue-inslast-remelem,639000000,5.002609,7.828809 214 2023-04-06 22:56:45,1,5 1000000 7 -1 1 ,./perfexp--lq-tailq--queue-inslast-remelem,770000000,5.038757,6.543840 215 2023-04-06 22:56:50,3,5 1000000 7 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-allhead,231000000,5.137935,22.242143 216 2023-04-06 22:56:56,1,5 1000000 7 -1 1 ,./perfexp--cpp-stlref--stack-inslast-allhead,224000000,5.091507,22.729942 217 2023-04-06 22:57:01,4,5 10000 809 -1 4 ,./perfexp--upp-upp--queue-insfirst-inselem,412590000,5.037820,12.210233 218 2023-04-06 22:57:06,1,5 1000000 7 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-remelem,231000000,5.102198,22.087437 219 2023-04-06 22:57:11,3,5 1000 9051 -1 3 ,./perfexp--cpp-stlref--queue-inslast-allhead,171969000,5.164593,30.032116 220 2023-04-06 22:57:16,3,5 10000 809 -1 3 ,./perfexp--cpp-stlref--stack-inslast-remelem,169890000,5.225116,30.755877 221 2023-04-06 22:57:21,4,5 1000 9051 -1 4 ,./perfexp--lq-tailq--queue-insfirst-allhead,316785000,5.093369,16.078315 222 2023-04-06 22:57:26,1,5 100000 71 -1 1 ,./perfexp--cfa-cfa--stack-inslast-inselem,603500000,5.049990,8.367838 223 2023-04-06 22:57:31,2,5 100 72421 -1 2 ,./perfexp--cpp-stlref--queue-inslast-allhead,166568300,5.220664,31.342482 224 2023-04-06 22:57:37,2,5 100000 71 -1 2 ,./perfexp--cfa-cfa--queue-inslast-inselem,568000000,5.010944,8.822085 225 2023-04-06 22:57:42,3,5 100 72421 -1 3 ,./perfexp--lq-tailq--queue-inslast-allhead,144842000,5.227036,36.087847 226 2023-04-06 22:57:47,4,5 100 72421 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-remelem,159326200,5.217508,32.747332 227 2023-04-06 22:57:52,2,5 100 72421 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-allhead,137599900,5.146662,37.403094 228 2023-04-06 22:57:57,1,5 100000 71 -1 1 ,./perfexp--lq-tailq--stack-insfirst-remelem,667400000,5.038476,7.549410 229 2023-04-06 22:58:02,2,5 100 72421 -1 2 ,./perfexp--cpp-stlref--stack-inslast-allhead,159326200,5.013988,31.469953 230 2023-04-06 22:58:07,1,5 1000000 7 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-remelem,1008000000,5.010780,4.971012 231 2023-04-06 22:58:12,5,5 1000000 7 -1 5 ,./perfexp--lq-tailq--stack-inslast-remelem,1421000000,5.023422,3.535132 232 2023-04-06 22:58:17,1,5 100000 71 -1 1 ,./perfexp--upp-upp--queue-insfirst-inselem,553800000,5.060584,9.137927 233 2023-04-06 22:58:23,2,5 1000000 7 -1 2 ,./perfexp--upp-upp--queue-insfirst-inselem,595000000,5.047132,8.482575 234 2023-04-06 22:58:28,5,5 1000 9051 -1 5 ,./perfexp--cfa-cfa--queue-inslast-remelem,588315000,5.032246,8.553659 235 2023-04-06 22:58:33,5,5 100000 71 -1 5 ,./perfexp--upp-upp--stack-insfirst-allhead,724200000,5.020706,6.932762 236 2023-04-06 22:58:38,1,5 1000 9051 -1 1 ,./perfexp--cfa-cfa--queue-inslast-inselem,334887000,5.003484,14.940813 237 2023-04-06 22:58:43,1,5 1000000 7 -1 1 ,./perfexp--upp-upp--stack-insfirst-allhead,840000000,5.042287,6.002723 238 2023-04-06 22:58:48,3,5 1000000 7 -1 3 ,./perfexp--cpp-stlref--queue-inslast-remelem,224000000,5.088342,22.715813 239 2023-04-06 22:58:53,2,5 10000 809 -1 2 ,./perfexp--cpp-stlref--queue-inslast-inselem,169890000,5.058348,29.774254 240 2023-04-06 22:58:58,2,5 100000 71 -1 2 ,./perfexp--upp-upp--queue-inslast-allhead,695800000,5.026595,7.224195 241 2023-04-06 22:59:03,2,5 100000 71 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-inselem,184600000,5.066927,27.448142 242 2023-04-06 22:59:08,3,5 100000 71 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-inselem,184600000,5.055439,27.385910 243 2023-04-06 22:59:13,4,5 1000000 7 -1 4 ,./perfexp--lq-tailq--queue-insfirst-remelem,1309000000,5.009552,3.827007 244 2023-04-06 22:59:18,2,5 1000000 7 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-inselem,658000000,5.048553,7.672573 245 2023-04-06 22:59:23,3,5 100 72421 -1 3 ,./perfexp--cfa-cfa--queue-inslast-allhead,137599900,5.143656,37.381248 246 2023-04-06 22:59:29,4,5 1000000 7 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-allhead,224000000,5.132010,22.910759 247 2023-04-06 22:59:34,3,5 100000 71 -1 3 ,./perfexp--lq-tailq--stack-insfirst-remelem,695800000,5.046242,7.252432 248 2023-04-06 22:59:39,5,5 100000 71 -1 5 ,./perfexp--upp-upp--stack-insfirst-inselem,603500000,5.003978,8.291596 249 2023-04-06 22:59:44,5,5 1000000 7 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-allhead,665000000,5.025093,7.556531 250 2023-04-06 22:59:49,3,5 100000 71 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-remelem,965600000,5.028275,5.207410 251 2023-04-06 22:59:54,4,5 10000 809 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-remelem,687650000,5.005714,7.279450 252 2023-04-06 22:59:59,1,5 10000 809 -1 1 ,./perfexp--lq-tailq--stack-insfirst-remelem,590570000,5.031737,8.520136 253 2023-04-06 23:00:04,3,5 100000 71 -1 3 ,./perfexp--cpp-stlref--queue-inslast-remelem,184600000,5.160974,27.957606 254 2023-04-06 23:00:09,5,5 100 72421 -1 5 ,./perfexp--lq-list--stack-insfirst-remelem,333136600,5.090510,15.280549 255 2023-04-06 23:00:14,5,5 100 72421 -1 5 ,./perfexp--lq-list--stack-insfirst-inselem,159326200,5.004048,31.407565 256 2023-04-06 23:00:19,2,5 10000 809 -1 2 ,./perfexp--upp-upp--queue-insfirst-allhead,444950000,5.073828,11.403142 257 2023-04-06 23:00:24,3,5 1000000 7 -1 3 ,./perfexp--cpp-stlref--queue-inslast-allhead,224000000,5.001734,22.329170 258 2023-04-06 23:00:29,2,5 10000 809 -1 2 ,./perfexp--cfa-cfa--stack-inslast-allhead,477310000,5.050386,10.580935 259 2023-04-06 23:00:34,4,5 1000 9051 -1 4 ,./perfexp--lq-list--stack-insfirst-allhead,343938000,5.050309,14.683777 260 2023-04-06 23:00:40,3,5 10000 809 -1 3 ,./perfexp--upp-upp--queue-insfirst-allhead,444950000,5.017058,11.275555 261 2023-04-06 23:00:45,3,5 1000000 7 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-remelem,994000000,5.019649,5.049949 262 2023-04-06 23:00:50,5,5 1000 9051 -1 5 ,./perfexp--cpp-stlref--stack-inslast-remelem,153867000,5.201021,33.802056 263 2023-04-06 23:00:55,4,5 1000000 7 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-remelem,1001000000,5.015588,5.010577 264 2023-04-06 23:01:00,1,5 10000 809 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-remelem,161800000,5.005496,30.936316 265 2023-04-06 23:01:05,1,5 1000000 7 -1 1 ,./perfexp--cfa-cfa--queue-inslast-allhead,665000000,5.035214,7.571750 266 2023-04-06 23:01:10,2,5 100 72421 -1 2 ,./perfexp--lq-tailq--stack-inslast-allhead,159326200,5.109530,32.069616 267 2023-04-06 23:01:15,2,5 10000 809 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-allhead,169890000,5.100783,30.024033 268 2023-04-06 23:01:20,1,5 100000 71 -1 1 ,./perfexp--upp-upp--stack-insfirst-remelem,639000000,5.014872,7.848000 269 2023-04-06 23:01:25,3,5 10000 809 -1 3 ,./perfexp--cpp-stlref--queue-inslast-inselem,169890000,5.046345,29.703602 270 2023-04-06 23:01:30,1,5 1000000 7 -1 1 ,./perfexp--lq-tailq--stack-insfirst-allhead,896000000,5.013958,5.595935 271 2023-04-06 23:01:35,1,5 1000000 7 -1 1 ,./perfexp--lq-list--stack-insfirst-inselem,581000000,5.047488,8.687587 272 2023-04-06 23:01:40,2,5 10000 809 -1 2 ,./perfexp--lq-tailq--stack-insfirst-inselem,501580000,5.002330,9.973145 273 2023-04-06 23:01:45,4,5 100000 71 -1 4 ,./perfexp--cfa-cfa--stack-inslast-remelem,986900000,5.036032,5.102880 274 2023-04-06 23:01:50,4,5 100 72421 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-inselem,166568300,5.162360,30.992452 275 2023-04-06 23:01:55,4,5 1000 9051 -1 4 ,./perfexp--upp-upp--stack-inslast-inselem,325836000,5.137919,15.768420 276 2023-04-06 23:02:01,4,5 100000 71 -1 4 ,./perfexp--upp-upp--queue-insfirst-remelem,710000000,5.019927,7.070320 277 2023-04-06 23:02:06,3,5 1000 9051 -1 3 ,./perfexp--upp-upp--stack-inslast-allhead,334887000,5.098791,15.225407 278 2023-04-06 23:02:11,1,5 1000000 7 -1 1 ,./perfexp--upp-upp--queue-insfirst-allhead,651000000,5.049504,7.756535 279 2023-04-06 23:02:16,4,5 1000 9051 -1 4 ,./perfexp--lq-tailq--stack-insfirst-remelem,515907000,5.019478,9.729424 280 2023-04-06 23:02:21,1,5 1000 9051 -1 1 ,./perfexp--upp-upp--stack-insfirst-allhead,325836000,5.095609,15.638570 281 2023-04-06 23:02:26,5,5 1000000 7 -1 5 ,./perfexp--lq-list--stack-insfirst-inselem,581000000,5.050648,8.693026 282 2023-04-06 23:02:31,1,5 1000 9051 -1 1 ,./perfexp--lq-tailq--stack-insfirst-remelem,534009000,5.012189,9.385964 283 2023-04-06 23:02:36,1,5 1000 9051 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-inselem,343938000,5.100634,14.830097 284 2023-04-06 23:02:41,3,5 10000 809 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-allhead,177980000,5.039308,28.313900 285 2023-04-06 23:02:46,3,5 10000 809 -1 3 ,./perfexp--upp-upp--queue-insfirst-inselem,412590000,5.053218,12.247553 286 2023-04-06 23:02:51,1,5 1000 9051 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-inselem,162918000,5.104631,31.332517 287 2023-04-06 23:02:56,4,5 100 72421 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-allhead,166568300,5.127294,30.781931 288 2023-04-06 23:03:02,5,5 100 72421 -1 5 ,./perfexp--upp-upp--queue-inslast-inselem,137599900,5.086178,36.963530 289 2023-04-06 23:03:07,2,5 100000 71 -1 2 ,./perfexp--cpp-stlref--queue-inslast-inselem,177500000,5.030765,28.342338 290 2023-04-06 23:03:12,4,5 1000000 7 -1 4 ,./perfexp--lq-list--stack-insfirst-remelem,798000000,5.017055,6.287036 291 2023-04-06 23:03:17,5,5 100000 71 -1 5 ,./perfexp--lq-tailq--stack-insfirst-inselem,660300000,5.001824,7.575078 292 2023-04-06 23:03:22,4,5 10000 809 -1 4 ,./perfexp--lq-list--stack-insfirst-inselem,436860000,5.056530,11.574715 293 2023-04-06 23:03:27,1,5 1000000 7 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-allhead,665000000,5.023530,7.554180 294 2023-04-06 23:03:32,1,5 100000 71 -1 1 ,./perfexp--lq-list--stack-insfirst-inselem,553800000,5.027487,9.078164 295 2023-04-06 23:03:37,5,5 1000000 7 -1 5 ,./perfexp--cfa-cfa--stack-inslast-allhead,672000000,5.030612,7.486030 296 2023-04-06 23:03:42,3,5 1000000 7 -1 3 ,./perfexp--upp-upp--queue-insfirst-allhead,672000000,5.043560,7.505298 297 2023-04-06 23:03:47,2,5 100 72421 -1 2 ,./perfexp--lq-list--stack-insfirst-remelem,333136600,5.084613,15.262847 298 2023-04-06 23:03:52,3,5 100000 71 -1 3 ,./perfexp--upp-upp--stack-inslast-allhead,738400000,5.043688,6.830563 299 2023-04-06 23:03:57,1,5 1000 9051 -1 1 ,./perfexp--cpp-stlref--queue-inslast-remelem,171969000,5.223951,30.377283 300 2023-04-06 23:04:02,4,5 1000 9051 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-inselem,162918000,5.126779,31.468463 301 2023-04-06 23:04:08,1,5 1000000 7 -1 1 ,./perfexp--lq-tailq--stack-inslast-remelem,1421000000,5.023912,3.535476 302 2023-04-06 23:04:13,1,5 1000000 7 -1 1 ,./perfexp--upp-upp--stack-inslast-allhead,658000000,5.020341,7.629698 303 2023-04-06 23:04:18,4,5 1000 9051 -1 4 ,./perfexp--upp-upp--stack-insfirst-remelem,461601000,5.016184,10.866926 304 2023-04-06 23:04:23,3,5 10000 809 -1 3 ,./perfexp--cpp-stlref--stack-inslast-allhead,177980000,5.210149,29.273789 305 2023-04-06 23:04:28,4,5 100 72421 -1 4 ,./perfexp--upp-upp--stack-insfirst-inselem,159326200,5.202610,32.653826 306 2023-04-06 23:04:33,5,5 1000000 7 -1 5 ,./perfexp--cfa-cfa--stack-inslast-remelem,966000000,5.014821,5.191326 307 2023-04-06 23:04:38,2,5 10000 809 -1 2 ,./perfexp--cfa-cfa--stack-inslast-remelem,728100000,5.003623,6.872165 308 2023-04-06 23:04:43,4,5 100000 71 -1 4 ,./perfexp--cpp-stlref--stack-inslast-allhead,184600000,5.136308,27.823987 309 2023-04-06 23:04:48,1,5 10000 809 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-allhead,477310000,5.001601,10.478727 310 2023-04-06 23:04:53,4,5 100000 71 -1 4 ,./perfexp--cfa-cfa--queue-inslast-allhead,568000000,5.029274,8.854356 311 2023-04-06 23:04:58,2,5 10000 809 -1 2 ,./perfexp--upp-upp--stack-insfirst-remelem,590570000,5.018292,8.497370 312 2023-04-06 23:05:03,3,5 100000 71 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-allhead,653200000,5.021467,7.687488 313 2023-04-06 23:05:08,4,5 100 72421 -1 4 ,./perfexp--cfa-cfa--queue-inslast-inselem,137599900,5.250703,38.159207 314 2023-04-06 23:05:14,4,5 100000 71 -1 4 ,./perfexp--upp-upp--queue-inslast-allhead,745500000,5.019787,6.733450 315 2023-04-06 23:05:19,1,5 10000 809 -1 1 ,./perfexp--upp-upp--queue-insfirst-inselem,412590000,5.039837,12.215122 316 2023-04-06 23:05:24,3,5 100000 71 -1 3 ,./perfexp--lq-tailq--queue-inslast-inselem,724200000,5.013341,6.922592 317 2023-04-06 23:05:29,1,5 100000 71 -1 1 ,./perfexp--cfa-cfa--stack-inslast-allhead,603500000,5.026221,8.328452 318 2023-04-06 23:05:34,5,5 10000 809 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-remelem,169890000,5.049109,29.719872 319 2023-04-06 23:05:39,4,5 10000 809 -1 4 ,./perfexp--upp-upp--stack-inslast-remelem,679560000,5.015714,7.380826 320 2023-04-06 23:05:44,2,5 100000 71 -1 2 ,./perfexp--upp-upp--stack-insfirst-remelem,731300000,5.037151,6.887941 321 2023-04-06 23:05:49,4,5 10000 809 -1 4 ,./perfexp--upp-upp--queue-inslast-remelem,614840000,5.059492,8.228957 322 2023-04-06 23:05:54,1,5 100000 71 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-remelem,958500000,5.014201,5.231300 323 2023-04-06 23:05:59,2,5 1000 9051 -1 2 ,./perfexp--lq-tailq--stack-inslast-inselem,316785000,5.024996,15.862481 324 2023-04-06 23:06:04,3,5 1000 9051 -1 3 ,./perfexp--cfa-cfa--queue-inslast-remelem,588315000,5.067089,8.612884 325 2023-04-06 23:06:09,2,5 100000 71 -1 2 ,./perfexp--upp-upp--stack-inslast-allhead,639000000,5.028277,7.868978 326 2023-04-06 23:06:14,5,5 1000 9051 -1 5 ,./perfexp--upp-upp--queue-inslast-allhead,334887000,5.060557,15.111238 327 2023-04-06 23:06:19,4,5 1000 9051 -1 4 ,./perfexp--lq-tailq--queue-inslast-inselem,352989000,5.102670,14.455606 328 2023-04-06 23:06:25,4,5 100 72421 -1 4 ,./perfexp--upp-upp--queue-insfirst-allhead,130357800,5.098607,39.112404 329 2023-04-06 23:06:30,1,5 100 72421 -1 1 ,./perfexp--lq-tailq--queue-inslast-inselem,144842000,5.151602,35.567045 330 2023-04-06 23:06:35,3,5 100000 71 -1 3 ,./perfexp--lq-tailq--stack-insfirst-allhead,795200000,5.020810,6.313896 331 2023-04-06 23:06:40,3,5 1000000 7 -1 3 ,./perfexp--cfa-cfa--stack-inslast-inselem,658000000,5.025127,7.636971 332 2023-04-06 23:06:45,5,5 1000 9051 -1 5 ,./perfexp--cpp-stlref--stack-inslast-inselem,162918000,5.129739,31.486631 333 2023-04-06 23:06:50,1,5 100 72421 -1 1 ,./perfexp--cfa-cfa--stack-inslast-allhead,159326200,5.168959,32.442618 334 2023-04-06 23:06:55,4,5 100000 71 -1 4 ,./perfexp--lq-tailq--queue-inslast-inselem,745500000,5.024930,6.740349 335 2023-04-06 23:07:00,1,5 100 72421 -1 1 ,./perfexp--cfa-cfa--stack-inslast-inselem,159326200,5.104196,32.036137 336 2023-04-06 23:07:06,1,5 100000 71 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-allhead,575100000,5.018488,8.726288 337 2023-04-06 23:07:11,1,5 100000 71 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-inselem,184600000,5.040923,27.307275 338 2023-04-06 23:07:16,4,5 1000 9051 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-allhead,162918000,5.129628,31.485950 339 2023-04-06 23:07:21,3,5 100000 71 -1 3 ,./perfexp--upp-upp--queue-insfirst-allhead,653200000,5.014120,7.676240 340 2023-04-06 23:07:26,4,5 1000000 7 -1 4 ,./perfexp--lq-tailq--stack-insfirst-allhead,903000000,5.007293,5.545175 341 2023-04-06 23:07:31,5,5 1000000 7 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-inselem,231000000,5.039397,21.815571 342 2023-04-06 23:07:36,4,5 100 72421 -1 4 ,./perfexp--cfa-cfa--stack-inslast-inselem,159326200,5.103728,32.033200 343 2023-04-06 23:07:41,4,5 100 72421 -1 4 ,./perfexp--cpp-stlref--queue-inslast-remelem,159326200,5.110623,32.076476 344 2023-04-06 23:07:46,4,5 1000 9051 -1 4 ,./perfexp--upp-upp--queue-inslast-inselem,325836000,5.094063,15.633825 345 2023-04-06 23:07:51,5,5 1000000 7 -1 5 ,./perfexp--upp-upp--queue-inslast-allhead,896000000,5.013412,5.595326 346 2023-04-06 23:07:56,3,5 100 72421 -1 3 ,./perfexp--cfa-cfa--queue-inslast-remelem,289684000,5.090448,17.572417 347 2023-04-06 23:08:01,3,5 1000 9051 -1 3 ,./perfexp--upp-upp--queue-inslast-remelem,515907000,5.013509,9.717854 348 2023-04-06 23:08:06,1,5 10000 809 -1 1 ,./perfexp--upp-upp--stack-insfirst-remelem,582480000,5.028441,8.632813 349 2023-04-06 23:08:11,5,5 100 72421 -1 5 ,./perfexp--lq-list--stack-insfirst-allhead,166568300,5.049215,30.313181 350 2023-04-06 23:08:16,3,5 100 72421 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-remelem,289684000,5.110068,17.640146 351 2023-04-06 23:08:22,2,5 1000 9051 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-inselem,343938000,5.103078,14.837203 352 2023-04-06 23:08:27,5,5 1000 9051 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-inselem,162918000,5.149009,31.604912 353 2023-04-06 23:08:32,1,5 1000000 7 -1 1 ,./perfexp--upp-upp--stack-inslast-remelem,917000000,5.004999,5.458014 354 2023-04-06 23:08:37,5,5 10000 809 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-remelem,695740000,5.052429,7.261950 355 2023-04-06 23:08:42,5,5 100 72421 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-allhead,137599900,5.145265,37.392941 356 2023-04-06 23:08:47,1,5 100 72421 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-inselem,159326200,5.189556,32.571893 357 2023-04-06 23:08:52,4,5 100000 71 -1 4 ,./perfexp--cpp-stlref--stack-inslast-remelem,177500000,5.052410,28.464282 358 2023-04-06 23:08:57,3,5 10000 809 -1 3 ,./perfexp--upp-upp--stack-insfirst-allhead,533940000,5.071980,9.499157 359 2023-04-06 23:09:03,2,5 1000000 7 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-allhead,665000000,5.021102,7.550529 360 2023-04-06 23:09:08,4,5 1000 9051 -1 4 ,./perfexp--lq-tailq--queue-insfirst-inselem,298683000,5.125385,17.159949 361 2023-04-06 23:09:13,4,5 1000 9051 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-remelem,579264000,5.001932,8.634978 362 2023-04-06 23:09:18,4,5 100000 71 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-remelem,184600000,5.103404,27.645742 363 2023-04-06 23:09:23,3,5 100 72421 -1 3 ,./perfexp--upp-upp--stack-inslast-remelem,318652400,5.032572,15.793297 364 2023-04-06 23:09:28,4,5 1000 9051 -1 4 ,./perfexp--cpp-stlref--queue-inslast-remelem,171969000,5.132165,29.843547 365 2023-04-06 23:09:33,5,5 10000 809 -1 5 ,./perfexp--cpp-stlref--stack-inslast-allhead,169890000,5.106152,30.055636 366 2023-04-06 23:09:38,3,5 10000 809 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-remelem,720010000,5.056537,7.022871 367 2023-04-06 23:09:43,1,5 10000 809 -1 1 ,./perfexp--cpp-stlref--queue-inslast-remelem,169890000,5.068533,29.834204 368 2023-04-06 23:09:48,2,5 10000 809 -1 2 ,./perfexp--upp-upp--queue-inslast-allhead,493490000,5.018832,10.170078 369 2023-04-06 23:09:53,3,5 1000000 7 -1 3 ,./perfexp--lq-tailq--queue-inslast-inselem,833000000,5.016267,6.021929 370 2023-04-06 23:09:58,1,5 10000 809 -1 1 ,./perfexp--cfa-cfa--queue-inslast-allhead,461130000,5.084745,11.026706 371 2023-04-06 23:10:03,4,5 100000 71 -1 4 ,./perfexp--lq-tailq--stack-inslast-inselem,908800000,5.035999,5.541372 372 2023-04-06 23:10:09,3,5 1000000 7 -1 3 ,./perfexp--upp-upp--queue-inslast-allhead,889000000,5.028819,5.656714 373 2023-04-06 23:10:14,3,5 100 72421 -1 3 ,./perfexp--cpp-stlref--queue-inslast-allhead,166568300,5.191809,31.169250 374 2023-04-06 23:10:19,5,5 100 72421 -1 5 ,./perfexp--lq-tailq--stack-inslast-inselem,159326200,5.152530,32.339502 375 2023-04-06 23:10:24,4,5 100 72421 -1 4 ,./perfexp--cfa-cfa--queue-inslast-remelem,289684000,5.093276,17.582179 376 2023-04-06 23:10:29,3,5 1000000 7 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-inselem,231000000,5.100410,22.079697 377 2023-04-06 23:10:34,5,5 10000 809 -1 5 ,./perfexp--lq-tailq--queue-inslast-allhead,485400000,5.011748,10.324986 378 2023-04-06 23:10:39,5,5 100000 71 -1 5 ,./perfexp--upp-upp--queue-inslast-remelem,688700000,5.032312,7.306973 379 2023-04-06 23:10:44,5,5 1000000 7 -1 5 ,./perfexp--lq-tailq--queue-insfirst-inselem,973000000,5.027293,5.166797 380 2023-04-06 23:10:49,2,5 10000 809 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-inselem,177980000,5.048409,28.365035 381 2023-04-06 23:10:54,3,5 100 72421 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-allhead,159326200,5.095523,31.981702 382 2023-04-06 23:11:00,4,5 10000 809 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-inselem,444950000,5.015660,11.272413 383 2023-04-06 23:11:05,3,5 1000000 7 -1 3 ,./perfexp--lq-list--stack-insfirst-allhead,924000000,5.029412,5.443087 384 2023-04-06 23:11:10,2,5 1000 9051 -1 2 ,./perfexp--cfa-cfa--stack-inslast-allhead,343938000,5.134039,14.927222 385 2023-04-06 23:11:15,5,5 100 72421 -1 5 ,./perfexp--lq-tailq--stack-insfirst-remelem,333136600,5.076445,15.238329 386 2023-04-06 23:11:20,5,5 10000 809 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-inselem,169890000,5.039287,29.662058 387 2023-04-06 23:11:25,1,5 100 72421 -1 1 ,./perfexp--lq-tailq--stack-insfirst-allhead,166568300,5.122763,30.754729 388 2023-04-06 23:11:30,4,5 100 72421 -1 4 ,./perfexp--upp-upp--stack-inslast-remelem,318652400,5.029359,15.783214 389 2023-04-06 23:11:35,5,5 1000000 7 -1 5 ,./perfexp--lq-tailq--queue-insfirst-allhead,1022000000,5.025006,4.916836 390 2023-04-06 23:11:40,3,5 10000 809 -1 3 ,./perfexp--lq-tailq--queue-inslast-inselem,461130000,5.059408,10.971761 391 2023-04-06 23:11:45,1,5 100 72421 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-allhead,159326200,5.102132,32.023183 392 2023-04-06 23:11:50,2,5 10000 809 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-remelem,728100000,5.037604,6.918835 393 2023-04-06 23:11:56,2,5 1000 9051 -1 2 ,./perfexp--upp-upp--queue-inslast-allhead,334887000,5.067591,15.132242 394 2023-04-06 23:12:01,5,5 100 72421 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-inselem,159326200,5.104270,32.036602 395 2023-04-06 23:12:06,3,5 100000 71 -1 3 ,./perfexp--cpp-stlref--stack-inslast-inselem,184600000,5.124046,27.757562 396 2023-04-06 23:12:11,2,5 1000000 7 -1 2 ,./perfexp--lq-tailq--stack-inslast-allhead,1078000000,5.014921,4.652060 397 2023-04-06 23:12:16,3,5 100000 71 -1 3 ,./perfexp--cfa-cfa--stack-inslast-inselem,624800000,5.051553,8.085072 398 2023-04-06 23:12:21,2,5 1000000 7 -1 2 ,./perfexp--lq-tailq--queue-inslast-inselem,833000000,5.018805,6.024976 399 2023-04-06 23:12:26,3,5 1000 9051 -1 3 ,./perfexp--cfa-cfa--queue-inslast-allhead,343938000,5.055123,14.697774 400 2023-04-06 23:12:31,3,5 1000 9051 -1 3 ,./perfexp--lq-tailq--queue-insfirst-allhead,316785000,5.093298,16.078091 401 2023-04-06 23:12:36,2,5 100 72421 -1 2 ,./perfexp--lq-tailq--queue-inslast-allhead,144842000,5.158022,35.611370 402 2023-04-06 23:12:41,5,5 100 72421 -1 5 ,./perfexp--cfa-cfa--stack-inslast-allhead,159326200,5.152787,32.341115 403 2023-04-06 23:12:47,1,5 1000 9051 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-allhead,181020000,5.246972,28.985593 404 2023-04-06 23:12:52,4,5 1000 9051 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-remelem,171969000,5.244708,30.497985 405 2023-04-06 23:12:57,1,5 100 72421 -1 1 ,./perfexp--cfa-cfa--queue-inslast-remelem,289684000,5.088471,17.565592 406 2023-04-06 23:13:02,5,5 10000 809 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-remelem,720010000,5.055206,7.021022 407 2023-04-06 23:13:07,2,5 100000 71 -1 2 ,./perfexp--cfa-cfa--queue-inslast-allhead,560900000,5.032860,8.972829 408 2023-04-06 23:13:12,5,5 1000000 7 -1 5 ,./perfexp--lq-tailq--queue-inslast-allhead,959000000,5.008545,5.222675 409 2023-04-06 23:13:17,1,5 1000000 7 -1 1 ,./perfexp--upp-upp--stack-insfirst-remelem,784000000,5.022341,6.406047 410 2023-04-06 23:13:22,1,5 1000 9051 -1 1 ,./perfexp--lq-tailq--queue-inslast-inselem,352989000,5.117729,14.498268 411 2023-04-06 23:13:27,4,5 1000000 7 -1 4 ,./perfexp--cpp-stlref--queue-inslast-inselem,224000000,5.066051,22.616299 412 2023-04-06 23:13:33,1,5 100 72421 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-remelem,159326200,5.077187,31.866617 413 2023-04-06 23:13:38,4,5 100 72421 -1 4 ,./perfexp--cpp-stlref--stack-inslast-inselem,166568300,5.220717,31.342801 414 2023-04-06 23:13:43,5,5 10000 809 -1 5 ,./perfexp--lq-tailq--queue-inslast-inselem,477310000,5.070365,10.622792 415 2023-04-06 23:13:48,3,5 1000000 7 -1 3 ,./perfexp--lq-tailq--queue-insfirst-remelem,1309000000,5.007603,3.825518 416 2023-04-06 23:13:53,2,5 100000 71 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-allhead,184600000,5.111904,27.691788 417 2023-04-06 23:13:58,5,5 100000 71 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-remelem,972700000,5.036058,5.177401 418 2023-04-06 23:14:03,1,5 1000000 7 -1 1 ,./perfexp--cfa-cfa--stack-inslast-remelem,938000000,5.030859,5.363389 419 2023-04-06 23:14:08,5,5 1000000 7 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-inselem,231000000,5.144215,22.269329 420 2023-04-06 23:14:13,4,5 100 72421 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-allhead,159326200,5.195831,32.611278 421 2023-04-06 23:14:19,5,5 100000 71 -1 5 ,./perfexp--upp-upp--queue-insfirst-remelem,710000000,5.050419,7.113266 422 2023-04-06 23:14:24,1,5 10000 809 -1 1 ,./perfexp--cfa-cfa--stack-inslast-inselem,477310000,5.056472,10.593685 423 2023-04-06 23:14:29,1,5 100000 71 -1 1 ,./perfexp--upp-upp--stack-inslast-allhead,646100000,5.033754,7.790983 424 2023-04-06 23:14:34,5,5 10000 809 -1 5 ,./perfexp--cpp-stlref--queue-inslast-inselem,169890000,5.007809,29.476773 425 2023-04-06 23:14:39,5,5 100000 71 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-remelem,184600000,5.140697,27.847763 426 2023-04-06 23:14:44,2,5 1000000 7 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-remelem,917000000,5.012871,5.466599 427 2023-04-06 23:14:49,5,5 10000 809 -1 5 ,./perfexp--lq-tailq--stack-inslast-remelem,792820000,5.025219,6.338411 428 2023-04-06 23:14:54,3,5 100000 71 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-allhead,184600000,5.077734,27.506685 429 2023-04-06 23:14:59,2,5 1000000 7 -1 2 ,./perfexp--cpp-stlref--stack-inslast-allhead,231000000,5.142791,22.263165 430 2023-04-06 23:15:04,3,5 1000 9051 -1 3 ,./perfexp--cfa-cfa--queue-inslast-inselem,334887000,5.004776,14.944671 431 2023-04-06 23:15:09,4,5 100 72421 -1 4 ,./perfexp--lq-tailq--queue-inslast-allhead,144842000,5.161848,35.637785 432 2023-04-06 23:15:15,2,5 1000 9051 -1 2 ,./perfexp--lq-tailq--stack-insfirst-inselem,325836000,5.085281,15.606873 433 2023-04-06 23:15:20,2,5 1000000 7 -1 2 ,./perfexp--lq-tailq--stack-insfirst-inselem,581000000,5.020173,8.640573 434 2023-04-06 23:15:25,5,5 100000 71 -1 5 ,./perfexp--lq-tailq--queue-inslast-inselem,710000000,5.014337,7.062446 435 2023-04-06 23:15:30,2,5 10000 809 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-allhead,177980000,5.062496,28.444185 436 2023-04-06 23:15:35,1,5 1000000 7 -1 1 ,./perfexp--lq-list--stack-insfirst-allhead,917000000,5.004475,5.457443 437 2023-04-06 23:15:40,4,5 100 72421 -1 4 ,./perfexp--upp-upp--queue-inslast-remelem,267957700,5.136059,19.167425 438 2023-04-06 23:15:45,5,5 1000 9051 -1 5 ,./perfexp--lq-tailq--stack-inslast-remelem,687876000,5.053524,7.346562 439 2023-04-06 23:15:50,3,5 10000 809 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-allhead,444950000,5.008229,11.255712 440 2023-04-06 23:15:55,1,5 100 72421 -1 1 ,./perfexp--cpp-stlref--queue-inslast-remelem,159326200,5.159661,32.384259 441 2023-04-06 23:16:00,4,5 10000 809 -1 4 ,./perfexp--lq-tailq--queue-insfirst-allhead,453040000,5.007535,11.053185 442 2023-04-06 23:16:05,2,5 1000000 7 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-inselem,224000000,5.009136,22.362214 443 2023-04-06 23:16:10,4,5 10000 809 -1 4 ,./perfexp--cfa-cfa--queue-inslast-allhead,453040000,5.019570,11.079750 444 2023-04-06 23:16:15,4,5 100 72421 -1 4 ,./perfexp--lq-tailq--stack-inslast-allhead,159326200,5.106386,32.049883 445 2023-04-06 23:16:20,2,5 1000 9051 -1 2 ,./perfexp--cpp-stlref--stack-inslast-allhead,162918000,5.082855,31.198855 446 2023-04-06 23:16:26,4,5 100000 71 -1 4 ,./perfexp--lq-tailq--queue-insfirst-remelem,944300000,5.025435,5.321863 447 2023-04-06 23:16:31,2,5 100 72421 -1 2 ,./perfexp--lq-tailq--queue-insfirst-allhead,130357800,5.062806,38.837768 448 2023-04-06 23:16:36,3,5 1000 9051 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-remelem,171969000,5.121176,29.779646 449 2023-04-06 23:16:41,2,5 1000000 7 -1 2 ,./perfexp--upp-upp--queue-insfirst-remelem,861000000,5.036872,5.850026 450 2023-04-06 23:16:46,1,5 10000 809 -1 1 ,./perfexp--cfa-cfa--stack-inslast-remelem,720010000,5.033713,6.991171 451 2023-04-06 23:16:51,5,5 100000 71 -1 5 ,./perfexp--lq-tailq--queue-insfirst-inselem,766800000,5.001069,6.521999 452 2023-04-06 23:16:56,5,5 100 72421 -1 5 ,./perfexp--upp-upp--stack-insfirst-allhead,159326200,5.154320,32.350737 453 2023-04-06 23:17:01,1,5 100000 71 -1 1 ,./perfexp--upp-upp--queue-inslast-inselem,610600000,5.008342,8.202329 454 2023-04-06 23:17:06,3,5 100000 71 -1 3 ,./perfexp--lq-list--stack-insfirst-allhead,802300000,5.014286,6.249889 455 2023-04-06 23:17:11,3,5 1000000 7 -1 3 ,./perfexp--cpp-stlref--stack-inslast-allhead,231000000,5.088531,22.028273 456 2023-04-06 23:17:16,4,5 1000 9051 -1 4 ,./perfexp--cfa-cfa--stack-inslast-inselem,343938000,5.070875,14.743573 457 2023-04-06 23:17:21,4,5 10000 809 -1 4 ,./perfexp--upp-upp--queue-insfirst-allhead,444950000,5.042555,11.332858 458 2023-04-06 23:17:26,2,5 1000000 7 -1 2 ,./perfexp--upp-upp--stack-inslast-remelem,658000000,5.001245,7.600676 459 2023-04-06 23:17:31,5,5 1000 9051 -1 5 ,./perfexp--upp-upp--queue-inslast-remelem,515907000,5.021599,9.733535 460 2023-04-06 23:17:36,4,5 100 72421 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-inselem,159326200,5.186501,32.552719 461 2023-04-06 23:17:42,1,5 10000 809 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-inselem,177980000,5.026446,28.241634 462 2023-04-06 23:17:47,5,5 1000000 7 -1 5 ,./perfexp--cfa-cfa--stack-inslast-inselem,658000000,5.016281,7.623527 463 2023-04-06 23:17:52,2,5 1000000 7 -1 2 ,./perfexp--upp-upp--queue-inslast-remelem,784000000,5.003437,6.381935 464 2023-04-06 23:17:57,3,5 100 72421 -1 3 ,./perfexp--lq-tailq--stack-inslast-remelem,347620800,5.029484,14.468306 465 2023-04-06 23:18:02,1,5 100000 71 -1 1 ,./perfexp--upp-upp--queue-inslast-remelem,710000000,5.007576,7.052924 466 2023-04-06 23:18:07,2,5 100000 71 -1 2 ,./perfexp--cfa-cfa--queue-inslast-remelem,809400000,5.015371,6.196406 467 2023-04-06 23:18:12,1,5 100000 71 -1 1 ,./perfexp--lq-tailq--queue-insfirst-allhead,788100000,5.040980,6.396371 468 2023-04-06 23:18:17,4,5 10000 809 -1 4 ,./perfexp--lq-tailq--queue-inslast-inselem,461130000,5.057431,10.967473 469 2023-04-06 23:18:22,2,5 100 72421 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-remelem,159326200,5.044365,31.660612 470 2023-04-06 23:18:27,4,5 10000 809 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-allhead,485400000,5.070348,10.445711 471 2023-04-06 23:18:32,3,5 1000 9051 -1 3 ,./perfexp--lq-tailq--stack-inslast-inselem,316785000,5.018884,15.843187 472 2023-04-06 23:18:37,2,5 100000 71 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-inselem,560900000,5.062667,9.025971 473 2023-04-06 23:18:42,5,5 10000 809 -1 5 ,./perfexp--upp-upp--queue-insfirst-inselem,412590000,5.015951,12.157229 474 2023-04-06 23:18:47,4,5 100000 71 -1 4 ,./perfexp--lq-tailq--queue-insfirst-inselem,816500000,5.000448,6.124247 475 2023-04-06 23:18:52,1,5 1000 9051 -1 1 ,./perfexp--cpp-stlref--stack-inslast-inselem,162918000,5.018924,30.806443 476 2023-04-06 23:18:57,5,5 10000 809 -1 5 ,./perfexp--cfa-cfa--queue-inslast-remelem,695740000,5.044067,7.249931 477 2023-04-06 23:19:03,4,5 10000 809 -1 4 ,./perfexp--cpp-stlref--queue-inslast-remelem,169890000,5.075488,29.875143 478 2023-04-06 23:19:08,2,5 1000000 7 -1 2 ,./perfexp--cpp-stlref--queue-inslast-inselem,224000000,5.038191,22.491924 479 2023-04-06 23:19:13,1,5 1000 9051 -1 1 ,./perfexp--lq-tailq--stack-insfirst-inselem,325836000,5.103653,15.663257 480 2023-04-06 23:19:18,1,5 10000 809 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-allhead,444950000,5.010533,11.260890 481 2023-04-06 23:19:23,2,5 1000000 7 -1 2 ,./perfexp--cpp-stlref--queue-inslast-allhead,224000000,5.004062,22.339563 482 2023-04-06 23:19:28,1,5 1000000 7 -1 1 ,./perfexp--upp-upp--queue-inslast-remelem,784000000,5.030273,6.416165 483 2023-04-06 23:19:33,1,5 10000 809 -1 1 ,./perfexp--upp-upp--stack-insfirst-inselem,485400000,5.050046,10.403885 484 2023-04-06 23:19:38,1,5 100000 71 -1 1 ,./perfexp--upp-upp--stack-insfirst-inselem,617700000,5.005519,8.103479 485 2023-04-06 23:19:43,2,5 1000 9051 -1 2 ,./perfexp--upp-upp--stack-insfirst-allhead,325836000,5.106682,15.672553 486 2023-04-06 23:19:48,3,5 100000 71 -1 3 ,./perfexp--upp-upp--queue-insfirst-remelem,681600000,5.046878,7.404457 487 2023-04-06 23:19:53,5,5 100 72421 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-inselem,137599900,5.148273,37.414802 488 2023-04-06 23:19:58,2,5 100000 71 -1 2 ,./perfexp--cfa-cfa--stack-inslast-inselem,603500000,5.030745,8.335949 489 2023-04-06 23:20:03,5,5 1000000 7 -1 5 ,./perfexp--lq-tailq--stack-inslast-inselem,987000000,5.001494,5.067370 490 2023-04-06 23:20:08,5,5 100 72421 -1 5 ,./perfexp--lq-tailq--queue-inslast-allhead,144842000,5.159197,35.619482 491 2023-04-06 23:20:14,2,5 10000 809 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-inselem,453040000,5.069119,11.189120 492 2023-04-06 23:20:19,5,5 100000 71 -1 5 ,./perfexp--lq-tailq--stack-inslast-inselem,880400000,5.006800,5.686960 493 2023-04-06 23:20:24,5,5 1000000 7 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-allhead,224000000,5.105644,22.793054 494 2023-04-06 23:20:29,5,5 1000000 7 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-remelem,224000000,5.045045,22.522522 495 2023-04-06 23:20:34,2,5 1000000 7 -1 2 ,./perfexp--lq-tailq--queue-inslast-allhead,959000000,5.008714,5.222851 496 2023-04-06 23:20:39,5,5 100000 71 -1 5 ,./perfexp--cpp-stlref--queue-inslast-inselem,184600000,5.185437,28.090125 497 2023-04-06 23:20:44,4,5 10000 809 -1 4 ,./perfexp--lq-tailq--stack-insfirst-inselem,420680000,5.058743,12.025157 498 2023-04-06 23:20:49,3,5 100 72421 -1 3 ,./perfexp--upp-upp--queue-insfirst-remelem,260715600,5.111093,19.604094 499 2023-04-06 23:20:54,2,5 100000 71 -1 2 ,./perfexp--upp-upp--stack-insfirst-allhead,773900000,5.004333,6.466382 500 2023-04-06 23:20:59,4,5 1000000 7 -1 4 ,./perfexp--upp-upp--queue-insfirst-remelem,812000000,5.021316,6.183887 501 2023-04-06 23:21:04,4,5 100000 71 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-allhead,184600000,5.041771,27.311869 502 2023-04-06 23:21:09,4,5 1000000 7 -1 4 ,./perfexp--lq-tailq--stack-inslast-remelem,1414000000,5.000733,3.536586 503 2023-04-06 23:21:14,4,5 100 72421 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-remelem,289684000,5.112781,17.649511 504 2023-04-06 23:21:20,1,5 100000 71 -1 1 ,./perfexp--lq-tailq--stack-insfirst-inselem,539600000,5.009402,9.283547 505 2023-04-06 23:21:25,3,5 1000 9051 -1 3 ,./perfexp--upp-upp--stack-inslast-inselem,325836000,5.128478,15.739446 506 2023-04-06 23:21:30,5,5 10000 809 -1 5 ,./perfexp--lq-tailq--stack-insfirst-allhead,509670000,5.040138,9.889022 507 2023-04-06 23:21:35,1,5 1000 9051 -1 1 ,./perfexp--upp-upp--queue-insfirst-inselem,307734000,5.031918,16.351518 508 2023-04-06 23:21:40,2,5 1000 9051 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-remelem,588315000,5.069535,8.617042 509 2023-04-06 23:21:45,2,5 1000 9051 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-allhead,181020000,5.196558,28.707093 510 2023-04-06 23:21:50,1,5 10000 809 -1 1 ,./perfexp--lq-tailq--queue-insfirst-remelem,720010000,5.049517,7.013121 511 2023-04-06 23:21:55,2,5 100000 71 -1 2 ,./perfexp--upp-upp--stack-insfirst-inselem,631900000,5.011261,7.930465 512 2023-04-06 23:22:00,4,5 100 72421 -1 4 ,./perfexp--upp-upp--queue-inslast-inselem,137599900,5.090919,36.997985 513 2023-04-06 23:22:05,3,5 100000 71 -1 3 ,./perfexp--lq-list--stack-insfirst-remelem,688700000,5.028916,7.302042 514 2023-04-06 23:22:10,2,5 100 72421 -1 2 ,./perfexp--cpp-stlref--queue-inslast-inselem,159326200,5.021214,31.515306 515 2023-04-06 23:22:15,5,5 1000 9051 -1 5 ,./perfexp--cfa-cfa--stack-inslast-allhead,343938000,5.134953,14.929880 516 2023-04-06 23:22:21,2,5 100000 71 -1 2 ,./perfexp--lq-tailq--stack-insfirst-allhead,766800000,5.010735,6.534605 517 2023-04-06 23:22:26,2,5 1000 9051 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-remelem,588315000,5.005341,8.507927 518 2023-04-06 23:22:31,5,5 100000 71 -1 5 ,./perfexp--upp-upp--stack-inslast-inselem,553800000,5.022399,9.068976 519 2023-04-06 23:22:36,4,5 1000000 7 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-inselem,217000000,5.090764,23.459742 520 2023-04-06 23:22:41,1,5 1000 9051 -1 1 ,./perfexp--lq-tailq--queue-insfirst-allhead,316785000,5.107048,16.121496 521 2023-04-06 23:22:46,2,5 100000 71 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-inselem,603500000,5.007173,8.296890 522 2023-04-06 23:22:51,3,5 1000 9051 -1 3 ,./perfexp--lq-tailq--stack-insfirst-remelem,534009000,5.013222,9.387898 523 2023-04-06 23:22:56,4,5 100000 71 -1 4 ,./perfexp--upp-upp--queue-inslast-inselem,617700000,5.049209,8.174209 524 2023-04-06 23:23:01,3,5 100 72421 -1 3 ,./perfexp--cfa-cfa--stack-inslast-inselem,159326200,5.098883,32.002791 525 2023-04-06 23:23:06,1,5 1000000 7 -1 1 ,./perfexp--cpp-stlref--queue-inslast-allhead,224000000,5.012905,22.379040 526 2023-04-06 23:23:11,2,5 1000000 7 -1 2 ,./perfexp--upp-upp--queue-inslast-inselem,693000000,5.010052,7.229512 527 2023-04-06 23:23:16,3,5 1000 9051 -1 3 ,./perfexp--cfa-cfa--stack-inslast-inselem,343938000,5.081110,14.773331 528 2023-04-06 23:23:21,5,5 1000000 7 -1 5 ,./perfexp--upp-upp--stack-insfirst-allhead,805000000,5.000210,6.211441 529 2023-04-06 23:23:26,2,5 10000 809 -1 2 ,./perfexp--lq-list--stack-insfirst-inselem,420680000,5.069851,12.051562 530 2023-04-06 23:23:31,4,5 10000 809 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-inselem,177980000,5.051407,28.381880 531 2023-04-06 23:23:36,3,5 1000000 7 -1 3 ,./perfexp--lq-tailq--stack-inslast-inselem,987000000,5.007191,5.073142 532 2023-04-06 23:23:41,2,5 1000000 7 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-remelem,231000000,5.081453,21.997632 533 2023-04-06 23:23:46,3,5 100000 71 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-remelem,177500000,5.017600,28.268169 534 2023-04-06 23:23:52,3,5 1000 9051 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-inselem,343938000,5.100129,14.828629 535 2023-04-06 23:23:57,4,5 100000 71 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-inselem,184600000,5.151028,27.903727 536 2023-04-06 23:24:02,1,5 100000 71 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-remelem,184600000,5.128629,27.782389 537 2023-04-06 23:24:07,5,5 1000000 7 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-remelem,910000000,5.002322,5.497057 538 2023-04-06 23:24:12,4,5 10000 809 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-allhead,177980000,5.196302,29.195988 539 2023-04-06 23:24:17,1,5 10000 809 -1 1 ,./perfexp--lq-tailq--stack-insfirst-allhead,509670000,5.014897,9.839498 540 2023-04-06 23:24:22,2,5 100 72421 -1 2 ,./perfexp--upp-upp--queue-insfirst-remelem,260715600,5.109786,19.599080 541 2023-04-06 23:24:27,5,5 100 72421 -1 5 ,./perfexp--cpp-stlref--stack-inslast-inselem,159326200,5.008081,31.432878 542 2023-04-06 23:24:32,1,5 1000 9051 -1 1 ,./perfexp--upp-upp--queue-inslast-inselem,325836000,5.116265,15.701964 543 2023-04-06 23:24:37,3,5 1000 9051 -1 3 ,./perfexp--upp-upp--stack-inslast-remelem,570213000,5.046808,8.850742 544 2023-04-06 23:24:43,2,5 100 72421 -1 2 ,./perfexp--upp-upp--queue-inslast-allhead,137599900,5.042300,36.644649 545 2023-04-06 23:24:48,4,5 1000000 7 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-allhead,665000000,5.022941,7.553295 546 2023-04-06 23:24:53,2,5 1000 9051 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-remelem,153867000,5.092858,33.099092 547 2023-04-06 23:24:58,2,5 1000000 7 -1 2 ,./perfexp--lq-tailq--queue-insfirst-inselem,966000000,5.015365,5.191889 548 2023-04-06 23:25:03,1,5 10000 809 -1 1 ,./perfexp--cpp-stlref--stack-inslast-inselem,177980000,5.188118,29.150006 549 2023-04-06 23:25:08,4,5 100 72421 -1 4 ,./perfexp--lq-tailq--queue-insfirst-remelem,296926100,5.109709,17.208689 550 2023-04-06 23:25:13,1,5 100000 71 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-remelem,184600000,5.118232,27.726067 551 2023-04-06 23:25:18,4,5 10000 809 -1 4 ,./perfexp--cpp-stlref--queue-inslast-allhead,177980000,5.168805,29.041493 552 2023-04-06 23:25:23,2,5 100 72421 -1 2 ,./perfexp--upp-upp--stack-inslast-allhead,159326200,5.074931,31.852457 553 2023-04-06 23:25:28,4,5 1000 9051 -1 4 ,./perfexp--upp-upp--queue-insfirst-remelem,534009000,5.064100,9.483174 554 2023-04-06 23:25:34,1,5 100 72421 -1 1 ,./perfexp--lq-tailq--queue-insfirst-allhead,130357800,5.062901,38.838497 555 2023-04-06 23:25:39,1,5 100000 71 -1 1 ,./perfexp--cpp-stlref--queue-inslast-inselem,184600000,5.176605,28.042281 556 2023-04-06 23:25:44,2,5 100 72421 -1 2 ,./perfexp--cfa-cfa--queue-inslast-inselem,137599900,5.248929,38.146314 557 2023-04-06 23:25:49,1,5 100000 71 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-inselem,184600000,5.090988,27.578483 558 2023-04-06 23:25:54,2,5 10000 809 -1 2 ,./perfexp--lq-list--stack-insfirst-remelem,590570000,5.053093,8.556298 559 2023-04-06 23:25:59,1,5 10000 809 -1 1 ,./perfexp--upp-upp--queue-inslast-remelem,614840000,5.005980,8.141923 560 2023-04-06 23:26:04,2,5 1000 9051 -1 2 ,./perfexp--cpp-stlref--queue-inslast-allhead,171969000,5.032441,29.263652 561 2023-04-06 23:26:09,4,5 10000 809 -1 4 ,./perfexp--lq-tailq--queue-inslast-allhead,485400000,5.027026,10.356461 562 2023-04-06 23:26:14,5,5 100000 71 -1 5 ,./perfexp--upp-upp--queue-inslast-allhead,695800000,5.023256,7.219396 563 2023-04-06 23:26:19,2,5 100000 71 -1 2 ,./perfexp--lq-list--stack-insfirst-inselem,738400000,5.023025,6.802580 564 2023-04-06 23:26:24,4,5 100000 71 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-allhead,546700000,5.016473,9.175915 565 2023-04-06 23:26:29,5,5 1000 9051 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-inselem,181020000,5.192822,28.686455 566 2023-04-06 23:26:35,5,5 1000 9051 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-inselem,343938000,5.093426,14.809140 567 2023-04-06 23:26:40,3,5 1000 9051 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-remelem,153867000,5.079586,33.012836 568 2023-04-06 23:26:45,5,5 10000 809 -1 5 ,./perfexp--lq-list--stack-insfirst-inselem,509670000,5.077423,9.962177 569 2023-04-06 23:26:50,2,5 10000 809 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-remelem,169890000,5.078467,29.892678 570 2023-04-06 23:26:55,3,5 100 72421 -1 3 ,./perfexp--upp-upp--stack-inslast-inselem,159326200,5.146163,32.299540 571 2023-04-06 23:27:00,3,5 100 72421 -1 3 ,./perfexp--cfa-cfa--stack-inslast-allhead,159326200,5.163047,32.405511 572 2023-04-06 23:27:05,4,5 100000 71 -1 4 ,./perfexp--upp-upp--queue-insfirst-inselem,568000000,5.058001,8.904931 573 2023-04-06 23:27:11,3,5 10000 809 -1 3 ,./perfexp--lq-list--stack-insfirst-inselem,485400000,5.006967,10.315136 574 2023-04-06 23:27:16,5,5 100000 71 -1 5 ,./perfexp--cfa-cfa--stack-inslast-inselem,617700000,5.005977,8.104220 575 2023-04-06 23:27:21,5,5 1000000 7 -1 5 ,./perfexp--upp-upp--queue-insfirst-inselem,588000000,5.020572,8.538388 576 2023-04-06 23:27:26,4,5 1000000 7 -1 4 ,./perfexp--lq-tailq--queue-inslast-remelem,777000000,5.025727,6.468117 577 2023-04-06 23:27:31,4,5 100000 71 -1 4 ,./perfexp--upp-upp--stack-inslast-inselem,553800000,5.014991,9.055599 578 2023-04-06 23:27:36,5,5 1000 9051 -1 5 ,./perfexp--upp-upp--stack-insfirst-remelem,461601000,5.001793,10.835750 579 2023-04-06 23:27:41,2,5 1000000 7 -1 2 ,./perfexp--cpp-stlref--queue-inslast-remelem,224000000,5.052311,22.554960 580 2023-04-06 23:27:46,2,5 10000 809 -1 2 ,./perfexp--upp-upp--queue-insfirst-inselem,412590000,5.009318,12.141152 581 2023-04-06 23:27:51,1,5 100000 71 -1 1 ,./perfexp--lq-tailq--queue-inslast-allhead,781000000,5.043798,6.458128 582 2023-04-06 23:27:56,2,5 10000 809 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-remelem,703830000,5.055801,7.183270 583 2023-04-06 23:28:01,2,5 100000 71 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-remelem,184600000,5.103939,27.648640 584 2023-04-06 23:28:06,2,5 100 72421 -1 2 ,./perfexp--upp-upp--stack-insfirst-allhead,159326200,5.157636,32.371550 585 2023-04-06 23:28:11,5,5 100 72421 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-remelem,318652400,5.003554,15.702232 586 2023-04-06 23:28:16,2,5 100000 71 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-allhead,617700000,5.007486,8.106663 587 2023-04-06 23:28:21,5,5 1000000 7 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-remelem,231000000,5.082904,22.003913 588 2023-04-06 23:28:26,5,5 100000 71 -1 5 ,./perfexp--upp-upp--stack-inslast-remelem,823600000,5.035229,6.113683 589 2023-04-06 23:28:31,5,5 100000 71 -1 5 ,./perfexp--cfa-cfa--queue-inslast-allhead,539600000,5.014691,9.293349 590 2023-04-06 23:28:36,1,5 100 72421 -1 1 ,./perfexp--cfa-cfa--queue-inslast-allhead,137599900,5.146557,37.402331 591 2023-04-06 23:28:42,5,5 100 72421 -1 5 ,./perfexp--cpp-stlref--queue-inslast-allhead,166568300,5.151938,30.929883 592 2023-04-06 23:28:47,3,5 1000000 7 -1 3 ,./perfexp--upp-upp--queue-insfirst-inselem,595000000,5.045803,8.480341 593 2023-04-06 23:28:52,5,5 10000 809 -1 5 ,./perfexp--cfa-cfa--queue-inslast-inselem,453040000,5.084859,11.223863 594 2023-04-06 23:28:57,2,5 100 72421 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-inselem,159326200,5.191003,32.580975 595 2023-04-06 23:29:02,5,5 10000 809 -1 5 ,./perfexp--upp-upp--stack-inslast-remelem,687650000,5.026542,7.309739 596 2023-04-06 23:29:07,5,5 100 72421 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-remelem,159326200,5.092534,31.962941 597 2023-04-06 23:29:12,5,5 10000 809 -1 5 ,./perfexp--lq-tailq--queue-insfirst-remelem,720010000,5.046402,7.008794 598 2023-04-06 23:29:17,5,5 100000 71 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-allhead,184600000,5.093610,27.592687 599 2023-04-06 23:29:22,4,5 1000 9051 -1 4 ,./perfexp--cfa-cfa--stack-inslast-allhead,343938000,5.130926,14.918171 600 2023-04-06 23:29:28,4,5 100 72421 -1 4 ,./perfexp--lq-tailq--queue-inslast-inselem,144842000,5.154669,35.588220 601 2023-04-06 23:29:33,5,5 100000 71 -1 5 ,./perfexp--lq-tailq--stack-insfirst-allhead,781000000,5.027590,6.437375 602 2023-04-06 23:29:38,1,5 10000 809 -1 1 ,./perfexp--cfa-cfa--stack-inslast-allhead,469220000,5.020177,10.698983 603 2023-04-06 23:29:43,2,5 1000000 7 -1 2 ,./perfexp--cfa-cfa--stack-inslast-allhead,672000000,5.049259,7.513778 604 2023-04-06 23:29:48,4,5 10000 809 -1 4 ,./perfexp--lq-tailq--queue-inslast-remelem,590570000,5.015500,8.492643 605 2023-04-06 23:29:53,2,5 1000 9051 -1 2 ,./perfexp--upp-upp--queue-inslast-remelem,515907000,5.032712,9.755076 606 2023-04-06 23:29:58,5,5 1000 9051 -1 5 ,./perfexp--upp-upp--queue-inslast-inselem,325836000,5.107450,15.674910 607 2023-04-06 23:30:03,1,5 10000 809 -1 1 ,./perfexp--lq-tailq--stack-inslast-remelem,800910000,5.026620,6.276136 608 2023-04-06 23:30:08,2,5 100 72421 -1 2 ,./perfexp--lq-tailq--stack-inslast-remelem,347620800,5.041880,14.503965 609 2023-04-06 23:30:13,2,5 1000000 7 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-allhead,231000000,5.013901,21.705199 610 2023-04-06 23:30:18,3,5 1000 9051 -1 3 ,./perfexp--cpp-stlref--queue-inslast-remelem,171969000,5.137606,29.875187 611 2023-04-06 23:30:23,2,5 1000000 7 -1 2 ,./perfexp--upp-upp--stack-inslast-allhead,770000000,5.003343,6.497848 612 2023-04-06 23:30:28,1,5 100 72421 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-allhead,166568300,5.108504,30.669125 613 2023-04-06 23:30:34,2,5 100000 71 -1 2 ,./perfexp--cpp-stlref--queue-inslast-allhead,184600000,5.156994,27.936046 614 2023-04-06 23:30:39,3,5 1000000 7 -1 3 ,./perfexp--upp-upp--stack-insfirst-allhead,819000000,5.014858,6.123148 615 2023-04-06 23:30:44,3,5 1000000 7 -1 3 ,./perfexp--lq-tailq--stack-inslast-remelem,1414000000,5.003794,3.538751 616 2023-04-06 23:30:49,1,5 1000000 7 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-inselem,231000000,5.035501,21.798706 617 2023-04-06 23:30:54,1,5 100 72421 -1 1 ,./perfexp--upp-upp--stack-insfirst-inselem,159326200,5.209153,32.694893 618 2023-04-06 23:30:59,4,5 10000 809 -1 4 ,./perfexp--upp-upp--stack-insfirst-inselem,477310000,5.023267,10.524118 619 2023-04-06 23:31:04,3,5 1000 9051 -1 3 ,./perfexp--lq-tailq--stack-insfirst-inselem,325836000,5.101399,15.656339 620 2023-04-06 23:31:09,2,5 100000 71 -1 2 ,./perfexp--lq-tailq--queue-inslast-remelem,667400000,5.022926,7.526110 621 2023-04-06 23:31:14,2,5 100 72421 -1 2 ,./perfexp--cfa-cfa--stack-inslast-remelem,325894500,5.091748,15.623915 622 2023-04-06 23:31:19,2,5 1000 9051 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-allhead,334887000,5.054765,15.093942 623 2023-04-06 23:31:24,2,5 1000000 7 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-remelem,1008000000,5.001067,4.961376 624 2023-04-06 23:31:29,4,5 1000000 7 -1 4 ,./perfexp--upp-upp--stack-insfirst-inselem,679000000,5.016446,7.387991 625 2023-04-06 23:31:35,5,5 1000000 7 -1 5 ,./perfexp--lq-list--stack-insfirst-remelem,798000000,5.020158,6.290925 626 2023-04-06 23:31:40,2,5 1000000 7 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-inselem,658000000,5.046821,7.669941 627 2023-04-06 23:31:45,2,5 10000 809 -1 2 ,./perfexp--upp-upp--stack-insfirst-inselem,469220000,5.064185,10.792773 628 2023-04-06 23:31:50,4,5 100000 71 -1 4 ,./perfexp--upp-upp--stack-insfirst-inselem,674500000,5.015829,7.436366 629 2023-04-06 23:31:55,2,5 10000 809 -1 2 ,./perfexp--upp-upp--queue-insfirst-remelem,639110000,5.034318,7.877076 630 2023-04-06 23:32:00,1,5 1000 9051 -1 1 ,./perfexp--upp-upp--stack-inslast-remelem,570213000,5.053420,8.862337 631 2023-04-06 23:32:05,1,5 1000 9051 -1 1 ,./perfexp--cpp-stlref--queue-inslast-allhead,171969000,5.028685,29.241811 632 2023-04-06 23:32:10,5,5 1000000 7 -1 5 ,./perfexp--cpp-stlref--queue-inslast-remelem,224000000,5.019890,22.410223 633 2023-04-06 23:32:15,4,5 10000 809 -1 4 ,./perfexp--upp-upp--queue-insfirst-remelem,582480000,5.025035,8.626966 634 2023-04-06 23:32:20,4,5 10000 809 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-remelem,161800000,5.127857,31.692565 635 2023-04-06 23:32:25,1,5 100 72421 -1 1 ,./perfexp--upp-upp--queue-inslast-remelem,260715600,5.019198,19.251621 636 2023-04-06 23:32:30,3,5 1000 9051 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-allhead,162918000,5.129510,31.485226 637 2023-04-06 23:32:35,1,5 100 72421 -1 1 ,./perfexp--lq-tailq--queue-insfirst-inselem,130357800,5.149737,39.504633 638 2023-04-06 23:32:40,2,5 1000 9051 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-remelem,162918000,5.005389,30.723364 639 2023-04-06 23:32:45,3,5 100000 71 -1 3 ,./perfexp--upp-upp--queue-inslast-allhead,695800000,5.049924,7.257723 640 2023-04-06 23:32:50,1,5 1000000 7 -1 1 ,./perfexp--lq-tailq--queue-insfirst-inselem,973000000,5.026228,5.165702 641 2023-04-06 23:32:56,5,5 100000 71 -1 5 ,./perfexp--cpp-stlref--stack-inslast-inselem,184600000,5.070150,27.465601 642 2023-04-06 23:33:01,5,5 1000 9051 -1 5 ,./perfexp--cpp-stlref--queue-inslast-allhead,171969000,5.038940,29.301444 643 2023-04-06 23:33:06,3,5 1000 9051 -1 3 ,./perfexp--lq-tailq--stack-insfirst-allhead,352989000,5.128804,14.529643 644 2023-04-06 23:33:11,4,5 100000 71 -1 4 ,./perfexp--lq-tailq--stack-inslast-remelem,1313500000,5.022908,3.824064 645 2023-04-06 23:33:16,2,5 1000000 7 -1 2 ,./perfexp--cpp-stlref--stack-inslast-inselem,224000000,5.068988,22.629411 646 2023-04-06 23:33:21,1,5 10000 809 -1 1 ,./perfexp--lq-tailq--stack-insfirst-inselem,420680000,5.058039,12.023483 647 2023-04-06 23:33:26,4,5 1000 9051 -1 4 ,./perfexp--cfa-cfa--stack-inslast-remelem,597366000,5.067353,8.482828 648 2023-04-06 23:33:31,1,5 1000 9051 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-inselem,171969000,5.047845,29.353226 649 2023-04-06 23:33:36,2,5 10000 809 -1 2 ,./perfexp--lq-tailq--stack-inslast-remelem,809000000,5.044723,6.235752 650 2023-04-06 23:33:41,3,5 100000 71 -1 3 ,./perfexp--lq-tailq--queue-inslast-remelem,589300000,5.035557,8.544980 651 2023-04-06 23:33:46,4,5 100000 71 -1 4 ,./perfexp--upp-upp--queue-inslast-remelem,717100000,5.046045,7.036738 652 2023-04-06 23:33:51,5,5 1000 9051 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-remelem,597366000,5.069419,8.486286 653 2023-04-06 23:33:56,1,5 1000000 7 -1 1 ,./perfexp--upp-upp--queue-insfirst-remelem,868000000,5.025089,5.789273 654 2023-04-06 23:34:01,2,5 1000000 7 -1 2 ,./perfexp--cfa-cfa--stack-inslast-inselem,658000000,5.025487,7.637518 655 2023-04-06 23:34:06,2,5 1000000 7 -1 2 ,./perfexp--cfa-cfa--queue-inslast-remelem,980000000,5.009915,5.112158 656 2023-04-06 23:34:11,3,5 100000 71 -1 3 ,./perfexp--cfa-cfa--queue-inslast-remelem,823600000,5.002809,6.074319 657 2023-04-06 23:34:16,3,5 1000000 7 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-remelem,231000000,5.141988,22.259688 658 2023-04-06 23:34:22,1,5 1000 9051 -1 1 ,./perfexp--lq-tailq--queue-insfirst-remelem,642621000,5.057599,7.870267 659 2023-04-06 23:34:27,4,5 100000 71 -1 4 ,./perfexp--cpp-stlref--stack-inslast-inselem,184600000,5.153607,27.917698 660 2023-04-06 23:34:32,4,5 1000000 7 -1 4 ,./perfexp--cfa-cfa--stack-inslast-inselem,658000000,5.017245,7.624992 661 2023-04-06 23:34:37,5,5 10000 809 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-allhead,485400000,5.077844,10.461154 662 2023-04-06 23:34:42,4,5 1000000 7 -1 4 ,./perfexp--cpp-stlref--queue-inslast-remelem,217000000,5.099401,23.499544 663 2023-04-06 23:34:47,3,5 1000000 7 -1 3 ,./perfexp--cfa-cfa--queue-inslast-inselem,658000000,5.013213,7.618865 664 2023-04-06 23:34:52,4,5 10000 809 -1 4 ,./perfexp--lq-tailq--stack-insfirst-remelem,590570000,5.033234,8.522671 665 2023-04-06 23:34:57,1,5 1000 9051 -1 1 ,./perfexp--lq-tailq--stack-inslast-inselem,316785000,5.046378,15.929978 666 2023-04-06 23:35:02,5,5 100 72421 -1 5 ,./perfexp--cpp-stlref--queue-inslast-remelem,159326200,5.120925,32.141136 667 2023-04-06 23:35:07,1,5 1000 9051 -1 1 ,./perfexp--upp-upp--stack-inslast-allhead,334887000,5.038462,15.045260 668 2023-04-06 23:35:12,5,5 1000000 7 -1 5 ,./perfexp--cpp-stlref--stack-inslast-inselem,231000000,5.148560,22.288139 669 2023-04-06 23:35:18,2,5 10000 809 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-inselem,169890000,5.124945,30.166255 670 2023-04-06 23:35:23,5,5 100000 71 -1 5 ,./perfexp--cfa-cfa--queue-inslast-inselem,553800000,5.003500,9.034850 671 2023-04-06 23:35:28,3,5 1000 9051 -1 3 ,./perfexp--lq-list--stack-insfirst-remelem,534009000,5.006456,9.375228 672 2023-04-06 23:35:33,5,5 100000 71 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-allhead,624800000,5.050627,8.083590 673 2023-04-06 23:35:38,3,5 1000 9051 -1 3 ,./perfexp--lq-tailq--queue-insfirst-remelem,642621000,5.039619,7.842288 674 2023-04-06 23:35:43,3,5 1000000 7 -1 3 ,./perfexp--lq-list--stack-insfirst-inselem,574000000,5.031817,8.766232 675 2023-04-06 23:35:48,1,5 100 72421 -1 1 ,./perfexp--cfa-cfa--queue-inslast-inselem,137599900,5.246307,38.127259 676 2023-04-06 23:35:53,3,5 10000 809 -1 3 ,./perfexp--lq-tailq--stack-inslast-allhead,501580000,5.012750,9.993919 677 2023-04-06 23:35:58,5,5 1000 9051 -1 5 ,./perfexp--upp-upp--stack-inslast-inselem,325836000,5.131221,15.747864 678 2023-04-06 23:36:03,5,5 100 72421 -1 5 ,./perfexp--lq-tailq--stack-inslast-allhead,159326200,5.111924,32.084641 679 2023-04-06 23:36:09,2,5 10000 809 -1 2 ,./perfexp--upp-upp--queue-inslast-remelem,606750000,5.003928,8.247100 680 2023-04-06 23:36:14,3,5 100000 71 -1 3 ,./perfexp--cfa-cfa--queue-inslast-allhead,582200000,5.022484,8.626733 681 2023-04-06 23:36:19,2,5 100 72421 -1 2 ,./perfexp--cpp-stlref--stack-inslast-inselem,166568300,5.222978,31.356375 682 2023-04-06 23:36:24,1,5 1000 9051 -1 1 ,./perfexp--cpp-stlref--stack-inslast-allhead,162918000,5.101216,31.311556 683 2023-04-06 23:36:29,1,5 1000000 7 -1 1 ,./perfexp--lq-tailq--queue-inslast-allhead,959000000,5.005860,5.219875 684 2023-04-06 23:36:34,4,5 1000 9051 -1 4 ,./perfexp--upp-upp--queue-insfirst-inselem,307734000,5.025667,16.331205 685 2023-04-06 23:36:39,3,5 1000 9051 -1 3 ,./perfexp--cfa-cfa--stack-inslast-remelem,588315000,5.002182,8.502557 686 2023-04-06 23:36:44,2,5 1000 9051 -1 2 ,./perfexp--cpp-stlref--stack-inslast-remelem,153867000,5.230752,33.995282 687 2023-04-06 23:36:49,4,5 100 72421 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-remelem,152084100,5.127175,33.712762 688 2023-04-06 23:36:54,3,5 10000 809 -1 3 ,./perfexp--lq-tailq--stack-inslast-remelem,784730000,5.021496,6.399011 689 2023-04-06 23:37:00,4,5 1000000 7 -1 4 ,./perfexp--lq-tailq--queue-insfirst-allhead,1022000000,5.025863,4.917674 690 2023-04-06 23:37:05,5,5 10000 809 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-inselem,444950000,5.083193,11.424189 691 2023-04-06 23:37:10,4,5 1000 9051 -1 4 ,./perfexp--lq-list--stack-insfirst-inselem,325836000,5.104508,15.665881 692 2023-04-06 23:37:15,4,5 1000000 7 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-allhead,224000000,5.044330,22.519330 693 2023-04-06 23:37:20,1,5 1000000 7 -1 1 ,./perfexp--cfa-cfa--stack-inslast-inselem,658000000,5.008834,7.612210 694 2023-04-06 23:37:25,5,5 10000 809 -1 5 ,./perfexp--lq-tailq--queue-insfirst-allhead,461130000,5.088815,11.035532 695 2023-04-06 23:37:30,2,5 1000 9051 -1 2 ,./perfexp--upp-upp--queue-insfirst-remelem,534009000,5.067296,9.489158 696 2023-04-06 23:37:35,4,5 1000 9051 -1 4 ,./perfexp--cpp-stlref--stack-inslast-inselem,162918000,5.085345,31.214138 697 2023-04-06 23:37:40,3,5 1000 9051 -1 3 ,./perfexp--lq-list--stack-insfirst-allhead,343938000,5.058624,14.707953 698 2023-04-06 23:37:45,4,5 1000000 7 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-inselem,658000000,5.050619,7.675713 699 2023-04-06 23:37:50,4,5 100 72421 -1 4 ,./perfexp--lq-tailq--queue-insfirst-inselem,130357800,5.147518,39.487610 700 2023-04-06 23:37:55,2,5 10000 809 -1 2 ,./perfexp--lq-tailq--queue-inslast-remelem,606750000,5.060103,8.339684 701 2023-04-06 23:38:00,4,5 10000 809 -1 4 ,./perfexp--lq-list--stack-insfirst-allhead,509670000,5.013006,9.835788 702 2023-04-06 23:38:06,2,5 1000000 7 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-allhead,665000000,5.030220,7.564241 703 2023-04-06 23:38:11,4,5 10000 809 -1 4 ,./perfexp--lq-tailq--stack-insfirst-allhead,509670000,5.045241,9.899035 704 2023-04-06 23:38:16,4,5 1000000 7 -1 4 ,./perfexp--upp-upp--stack-inslast-remelem,707000000,5.030443,7.115195 705 2023-04-06 23:38:21,3,5 100000 71 -1 3 ,./perfexp--lq-tailq--stack-inslast-allhead,1036600000,5.005349,4.828621 706 2023-04-06 23:38:26,4,5 100 72421 -1 4 ,./perfexp--lq-tailq--stack-insfirst-allhead,166568300,5.122366,30.752346 707 2023-04-06 23:38:31,4,5 10000 809 -1 4 ,./perfexp--cfa-cfa--stack-inslast-remelem,720010000,5.032318,6.989233 708 2023-04-06 23:38:36,5,5 1000000 7 -1 5 ,./perfexp--lq-tailq--stack-inslast-allhead,1078000000,5.011085,4.648502 709 2023-04-06 23:38:41,5,5 1000000 7 -1 5 ,./perfexp--upp-upp--stack-insfirst-remelem,693000000,5.044421,7.279107 710 2023-04-06 23:38:46,1,5 1000000 7 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-inselem,217000000,5.008831,23.082171 711 2023-04-06 23:38:51,1,5 1000000 7 -1 1 ,./perfexp--lq-tailq--stack-inslast-inselem,980000000,5.001764,5.103841 712 2023-04-06 23:38:56,2,5 100 72421 -1 2 ,./perfexp--cfa-cfa--stack-inslast-allhead,159326200,5.160432,32.389099 713 2023-04-06 23:39:01,5,5 1000000 7 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-remelem,994000000,5.009426,5.039664 714 2023-04-06 23:39:06,5,5 100000 71 -1 5 ,./perfexp--lq-tailq--stack-inslast-allhead,1008200000,5.006411,4.965692 715 2023-04-06 23:39:11,2,5 1000000 7 -1 2 ,./perfexp--upp-upp--queue-insfirst-allhead,679000000,5.010746,7.379596 716 2023-04-06 23:39:16,3,5 1000 9051 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-remelem,588315000,5.073975,8.624589 717 2023-04-06 23:39:21,1,5 100 72421 -1 1 ,./perfexp--upp-upp--stack-insfirst-remelem,267957700,5.034365,18.787909 718 2023-04-06 23:39:26,5,5 1000 9051 -1 5 ,./perfexp--upp-upp--queue-insfirst-remelem,534009000,5.054075,9.464400 719 2023-04-06 23:39:31,5,5 1000000 7 -1 5 ,./perfexp--cfa-cfa--queue-inslast-allhead,665000000,5.000117,7.518973 720 2023-04-06 23:39:36,5,5 100 72421 -1 5 ,./perfexp--upp-upp--queue-inslast-allhead,137599900,5.044078,36.657570 721 2023-04-06 23:39:42,3,5 1000000 7 -1 3 ,./perfexp--cpp-stlref--stack-inslast-remelem,224000000,5.024699,22.431692 722 2023-04-06 23:39:47,3,5 1000000 7 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-allhead,665000000,5.038271,7.576347 723 2023-04-06 23:39:52,2,5 100 72421 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-inselem,137599900,5.151879,37.441008 724 2023-04-06 23:39:57,3,5 100 72421 -1 3 ,./perfexp--cfa-cfa--queue-inslast-inselem,137599900,5.247585,38.136547 725 2023-04-06 23:40:02,1,5 100 72421 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-allhead,159326200,5.203331,32.658351 726 2023-04-06 23:40:07,1,5 100 72421 -1 1 ,./perfexp--lq-tailq--stack-inslast-remelem,347620800,5.038125,14.493163 727 2023-04-06 23:40:12,5,5 100000 71 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-allhead,532500000,5.009917,9.408295 728 2023-04-06 23:40:17,2,5 100000 71 -1 2 ,./perfexp--lq-list--stack-insfirst-remelem,681600000,5.024278,7.371300 729 2023-04-06 23:40:22,5,5 1000 9051 -1 5 ,./perfexp--lq-list--stack-insfirst-remelem,534009000,5.005566,9.373561 730 2023-04-06 23:40:27,5,5 1000 9051 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-remelem,588315000,5.056992,8.595722 731 2023-04-06 23:40:32,2,5 100 72421 -1 2 ,./perfexp--lq-tailq--queue-inslast-inselem,144842000,5.153273,35.578582 732 2023-04-06 23:40:38,4,5 1000000 7 -1 4 ,./perfexp--upp-upp--stack-insfirst-allhead,945000000,5.002845,5.294016 733 2023-04-06 23:40:43,1,5 1000 9051 -1 1 ,./perfexp--cfa-cfa--queue-inslast-allhead,343938000,5.058633,14.707979 734 2023-04-06 23:40:48,5,5 10000 809 -1 5 ,./perfexp--lq-tailq--stack-insfirst-inselem,420680000,5.068194,12.047623 735 2023-04-06 23:40:53,3,5 1000000 7 -1 3 ,./perfexp--lq-tailq--stack-inslast-allhead,1078000000,5.010055,4.647546 736 2023-04-06 23:40:58,3,5 100000 71 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-remelem,184600000,5.101831,27.637221 737 2023-04-06 23:41:03,3,5 1000000 7 -1 3 ,./perfexp--upp-upp--queue-insfirst-remelem,854000000,5.009771,5.866242 738 2023-04-06 23:41:08,5,5 1000 9051 -1 5 ,./perfexp--lq-tailq--stack-inslast-inselem,316785000,5.026464,15.867115 739 2023-04-06 23:41:13,1,5 10000 809 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-inselem,444950000,5.000762,11.238930 740 2023-04-06 23:41:18,2,5 100000 71 -1 2 ,./perfexp--upp-upp--queue-inslast-remelem,702900000,5.023292,7.146524 741 2023-04-06 23:41:23,4,5 10000 809 -1 4 ,./perfexp--upp-upp--stack-insfirst-remelem,582480000,5.024755,8.626485 742 2023-04-06 23:41:28,1,5 1000000 7 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-allhead,224000000,5.026874,22.441402 743 2023-04-06 23:41:33,2,5 1000 9051 -1 2 ,./perfexp--lq-tailq--stack-insfirst-remelem,534009000,5.029006,9.417456 744 2023-04-06 23:41:38,2,5 100 72421 -1 2 ,./perfexp--cpp-stlref--queue-inslast-remelem,159326200,5.174692,32.478601 745 2023-04-06 23:41:43,1,5 1000000 7 -1 1 ,./perfexp--lq-tailq--stack-insfirst-remelem,784000000,5.004447,6.383223 746 2023-04-06 23:41:48,4,5 1000000 7 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-remelem,224000000,5.007044,22.352875 747 2023-04-06 23:41:53,3,5 100 72421 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-allhead,166568300,5.093894,30.581413 748 2023-04-06 23:41:58,1,5 10000 809 -1 1 ,./perfexp--lq-tailq--stack-inslast-inselem,501580000,5.063699,10.095496 749 2023-04-06 23:42:03,5,5 1000000 7 -1 5 ,./perfexp--upp-upp--stack-insfirst-inselem,672000000,5.002208,7.443762 750 2023-04-06 23:42:09,3,5 1000000 7 -1 3 ,./perfexp--upp-upp--stack-inslast-allhead,700000000,5.035791,7.193987 751 2023-04-06 23:42:14,5,5 100000 71 -1 5 ,./perfexp--lq-tailq--stack-inslast-remelem,1263800000,5.028343,3.978749 752 2023-04-06 23:42:19,3,5 100 72421 -1 3 ,./perfexp--cpp-stlref--queue-inslast-remelem,159326200,5.113131,32.092217 753 2023-04-06 23:42:24,5,5 1000 9051 -1 5 ,./perfexp--cfa-cfa--stack-inslast-remelem,597366000,5.046347,8.447664 754 2023-04-06 23:42:29,2,5 1000 9051 -1 2 ,./perfexp--lq-tailq--queue-insfirst-remelem,642621000,5.053251,7.863501 755 2023-04-06 23:42:34,4,5 10000 809 -1 4 ,./perfexp--upp-upp--stack-inslast-inselem,444950000,5.077268,11.410873 756 2023-04-06 23:42:39,2,5 1000 9051 -1 2 ,./perfexp--cpp-stlref--queue-inslast-inselem,171969000,5.099023,29.650827 757 2023-04-06 23:42:44,1,5 1000 9051 -1 1 ,./perfexp--lq-tailq--stack-inslast-allhead,325836000,5.047047,15.489532 758 2023-04-06 23:42:49,5,5 1000 9051 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-allhead,181020000,5.216122,28.815170 759 2023-04-06 23:42:54,3,5 1000 9051 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-allhead,181020000,5.222584,28.850867 760 2023-04-06 23:43:00,5,5 1000 9051 -1 5 ,./perfexp--lq-tailq--queue-inslast-remelem,534009000,5.024676,9.409347 761 2023-04-06 23:43:05,1,5 1000 9051 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-allhead,162918000,5.066455,31.098191 762 2023-04-06 23:43:10,4,5 100000 71 -1 4 ,./perfexp--upp-upp--stack-inslast-allhead,646100000,5.006395,7.748638 763 2023-04-06 23:43:15,1,5 100000 71 -1 1 ,./perfexp--lq-tailq--stack-inslast-allhead,1022400000,5.033839,4.923551 764 2023-04-06 23:43:20,5,5 10000 809 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-remelem,169890000,5.194201,30.573907 765 2023-04-06 23:43:25,3,5 100000 71 -1 3 ,./perfexp--upp-upp--stack-insfirst-inselem,617700000,5.004354,8.101593 766 2023-04-06 23:43:30,1,5 100000 71 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-inselem,568000000,5.053840,8.897606 767 2023-04-06 23:43:35,4,5 100000 71 -1 4 ,./perfexp--lq-tailq--queue-inslast-allhead,773900000,5.009564,6.473141 768 2023-04-06 23:43:40,3,5 10000 809 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-inselem,477310000,5.060300,10.601705 769 2023-04-06 23:43:45,4,5 100000 71 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-remelem,766800000,5.029327,6.558851 770 2023-04-06 23:43:50,5,5 1000 9051 -1 5 ,./perfexp--upp-upp--stack-insfirst-inselem,307734000,5.015156,16.297049 771 2023-04-06 23:43:55,2,5 1000 9051 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-allhead,343938000,5.030864,14.627241 772 2023-04-06 23:44:00,1,5 100000 71 -1 1 ,./perfexp--upp-upp--stack-inslast-inselem,546700000,5.028823,9.198506 773 2023-04-06 23:44:06,4,5 100 72421 -1 4 ,./perfexp--upp-upp--stack-insfirst-allhead,159326200,5.159831,32.385326 774 2023-04-06 23:44:11,2,5 100000 71 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-inselem,184600000,5.013750,27.160076 775 2023-04-06 23:44:16,1,5 100000 71 -1 1 ,./perfexp--cpp-stlref--stack-inslast-remelem,184600000,5.191165,28.121154 776 2023-04-06 23:44:21,3,5 100 72421 -1 3 ,./perfexp--lq-list--stack-insfirst-inselem,166568300,5.221509,31.347555 777 2023-04-06 23:44:26,1,5 100000 71 -1 1 ,./perfexp--lq-list--stack-insfirst-remelem,681600000,5.027947,7.376683 778 2023-04-06 23:44:31,1,5 10000 809 -1 1 ,./perfexp--lq-tailq--queue-inslast-allhead,493490000,5.065787,10.265227 779 2023-04-06 23:44:36,1,5 1000000 7 -1 1 ,./perfexp--upp-upp--stack-inslast-inselem,448000000,5.071891,11.321185 780 2023-04-06 23:44:41,5,5 1000 9051 -1 5 ,./perfexp--upp-upp--stack-inslast-remelem,570213000,5.041445,8.841336 781 2023-04-06 23:44:46,3,5 1000000 7 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-inselem,224000000,5.075413,22.658094 782 2023-04-06 23:44:51,1,5 10000 809 -1 1 ,./perfexp--upp-upp--stack-insfirst-allhead,517760000,5.074958,9.801758 783 2023-04-06 23:44:57,1,5 1000 9051 -1 1 ,./perfexp--lq-list--stack-insfirst-inselem,325836000,5.079069,15.587808 784 2023-04-06 23:45:02,5,5 100000 71 -1 5 ,./perfexp--cpp-stlref--stack-inslast-remelem,184600000,5.156223,27.931869 785 2023-04-06 23:45:07,5,5 100000 71 -1 5 ,./perfexp--lq-tailq--queue-inslast-remelem,646100000,5.048818,7.814298 786 2023-04-06 23:45:12,5,5 1000 9051 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-remelem,153867000,5.084243,33.043102 787 2023-04-06 23:45:17,1,5 100 72421 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-remelem,152084100,5.088762,33.460184 788 2023-04-06 23:45:22,4,5 10000 809 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-inselem,477310000,5.040919,10.561101 789 2023-04-06 23:45:27,2,5 100 72421 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-allhead,166568300,5.107945,30.665769 790 2023-04-06 23:45:32,5,5 100000 71 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-remelem,759700000,5.013032,6.598699 791 2023-04-06 23:45:37,5,5 100 72421 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-inselem,159326200,5.183840,32.536017 792 2023-04-06 23:45:43,2,5 100000 71 -1 2 ,./perfexp--upp-upp--stack-inslast-inselem,546700000,5.060570,9.256576 793 2023-04-06 23:45:48,1,5 100000 71 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-remelem,773900000,5.016882,6.482597 794 2023-04-06 23:45:53,2,5 100 72421 -1 2 ,./perfexp--cfa-cfa--queue-inslast-allhead,137599900,5.146936,37.405085 795 2023-04-06 23:45:58,1,5 1000000 7 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-inselem,665000000,5.030136,7.564114 796 2023-04-06 23:46:03,5,5 1000000 7 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-allhead,231000000,5.069341,21.945199 797 2023-04-06 23:46:08,4,5 1000 9051 -1 4 ,./perfexp--cfa-cfa--queue-inslast-remelem,588315000,5.038815,8.564825 798 2023-04-06 23:46:13,2,5 1000 9051 -1 2 ,./perfexp--cfa-cfa--stack-inslast-remelem,597366000,5.062109,8.474049 799 2023-04-06 23:46:18,5,5 100 72421 -1 5 ,./perfexp--upp-upp--queue-insfirst-allhead,130357800,5.097324,39.102562 800 2023-04-06 23:46:23,2,5 1000 9051 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-inselem,181020000,5.245083,28.975157 801 2023-04-06 23:46:28,5,5 10000 809 -1 5 ,./perfexp--cfa-cfa--stack-inslast-remelem,728100000,5.048765,6.934164 802 2023-04-06 23:46:34,2,5 100 72421 -1 2 ,./perfexp--upp-upp--queue-inslast-remelem,260715600,5.006853,19.204271 803 2023-04-06 23:46:39,2,5 1000 9051 -1 2 ,./perfexp--cpp-stlref--queue-inslast-remelem,171969000,5.222348,30.367962 804 2023-04-06 23:46:44,4,5 1000000 7 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-remelem,917000000,5.014479,5.468352 805 2023-04-06 23:46:49,4,5 100 72421 -1 4 ,./perfexp--lq-list--stack-insfirst-inselem,166568300,5.223544,31.359773 806 2023-04-06 23:46:54,2,5 100000 71 -1 2 ,./perfexp--lq-tailq--stack-inslast-allhead,994000000,5.008805,5.039039 807 2023-04-06 23:46:59,5,5 10000 809 -1 5 ,./perfexp--lq-tailq--stack-inslast-allhead,509670000,5.037473,9.883793 808 2023-04-06 23:47:04,5,5 10000 809 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-allhead,444950000,5.008930,11.257287 809 2023-04-06 23:47:09,5,5 100000 71 -1 5 ,./perfexp--cfa-cfa--stack-inslast-remelem,1022400000,5.031635,4.921396 810 2023-04-06 23:47:14,1,5 1000000 7 -1 1 ,./perfexp--lq-list--stack-insfirst-remelem,798000000,5.019472,6.290065 811 2023-04-06 23:47:19,1,5 100 72421 -1 1 ,./perfexp--lq-list--stack-insfirst-remelem,333136600,5.086682,15.269058 812 2023-04-06 23:47:24,3,5 10000 809 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-inselem,444950000,5.009886,11.259436 813 2023-04-06 23:47:29,1,5 1000000 7 -1 1 ,./perfexp--lq-tailq--queue-insfirst-allhead,1022000000,5.028409,4.920165 814 2023-04-06 23:47:34,3,5 1000000 7 -1 3 ,./perfexp--cpp-stlref--stack-inslast-inselem,224000000,5.134726,22.922884 815 2023-04-06 23:47:40,3,5 100 72421 -1 3 ,./perfexp--lq-tailq--stack-insfirst-allhead,166568300,5.129354,30.794299 816 2023-04-06 23:47:45,3,5 100 72421 -1 3 ,./perfexp--upp-upp--stack-insfirst-remelem,267957700,5.029663,18.770362 817 2023-04-06 23:47:50,1,5 100 72421 -1 1 ,./perfexp--lq-tailq--queue-inslast-allhead,144842000,5.159035,35.618363 818 2023-04-06 23:47:55,1,5 1000 9051 -1 1 ,./perfexp--cpp-stlref--stack-inslast-remelem,153867000,5.205434,33.830737 819 2023-04-06 23:48:00,5,5 100000 71 -1 5 ,./perfexp--lq-tailq--queue-insfirst-remelem,859100000,5.024798,5.848909 820 2023-04-06 23:48:05,5,5 1000 9051 -1 5 ,./perfexp--lq-tailq--queue-inslast-inselem,352989000,5.106726,14.467097 821 2023-04-06 23:48:10,3,5 1000 9051 -1 3 ,./perfexp--upp-upp--queue-inslast-inselem,325836000,5.095977,15.639699 822 2023-04-06 23:48:15,2,5 1000 9051 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-inselem,162918000,5.237821,32.150045 823 2023-04-06 23:48:21,5,5 1000000 7 -1 5 ,./perfexp--cpp-stlref--stack-inslast-allhead,231000000,5.106340,22.105368 824 2023-04-06 23:48:26,1,5 100 72421 -1 1 ,./perfexp--cpp-stlref--queue-inslast-inselem,159326200,5.099221,32.004912 825 2023-04-06 23:48:31,2,5 100 72421 -1 2 ,./perfexp--lq-tailq--stack-insfirst-inselem,159326200,5.004885,31.412818 826 2023-04-06 23:48:36,2,5 100 72421 -1 2 ,./perfexp--upp-upp--queue-insfirst-inselem,130357800,5.103887,39.152908 827 2023-04-06 23:48:41,5,5 1000 9051 -1 5 ,./perfexp--lq-tailq--queue-insfirst-allhead,316785000,5.095627,16.085443 828 2023-04-06 23:48:46,2,5 10000 809 -1 2 ,./perfexp--cpp-stlref--stack-inslast-allhead,169890000,5.023940,29.571723 829 2023-04-06 23:48:51,3,5 100000 71 -1 3 ,./perfexp--lq-list--stack-insfirst-inselem,724200000,5.040016,6.959426 830 2023-04-06 23:48:56,4,5 1000000 7 -1 4 ,./perfexp--upp-upp--queue-insfirst-allhead,679000000,5.039133,7.421404 831 2023-04-06 23:49:01,2,5 100 72421 -1 2 ,./perfexp--cpp-stlref--stack-inslast-remelem,159326200,5.202599,32.653757 832 2023-04-06 23:49:07,2,5 1000 9051 -1 2 ,./perfexp--upp-upp--queue-insfirst-allhead,316785000,5.001730,15.789037 833 2023-04-06 23:49:12,4,5 1000000 7 -1 4 ,./perfexp--cpp-stlref--stack-inslast-remelem,224000000,5.005996,22.348196 834 2023-04-06 23:49:17,4,5 1000000 7 -1 4 ,./perfexp--cfa-cfa--queue-inslast-allhead,672000000,5.047250,7.510789 835 2023-04-06 23:49:22,1,5 100000 71 -1 1 ,./perfexp--lq-tailq--queue-inslast-inselem,710000000,5.015764,7.064456 836 2023-04-06 23:49:27,4,5 1000 9051 -1 4 ,./perfexp--lq-tailq--queue-insfirst-remelem,642621000,5.038532,7.840597 837 2023-04-06 23:49:32,3,5 100 72421 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-remelem,152084100,5.074580,33.366933 838 2023-04-06 23:49:37,3,5 10000 809 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-allhead,169890000,5.038720,29.658720 839 2023-04-06 23:49:42,3,5 100 72421 -1 3 ,./perfexp--upp-upp--queue-insfirst-allhead,130357800,5.097956,39.107411 840 2023-04-06 23:49:47,2,5 1000000 7 -1 2 ,./perfexp--cfa-cfa--queue-inslast-allhead,665000000,5.003770,7.524466 841 2023-04-06 23:49:52,5,5 100000 71 -1 5 ,./perfexp--upp-upp--queue-inslast-inselem,646100000,5.033712,7.790918 842 2023-04-06 23:49:57,5,5 100 72421 -1 5 ,./perfexp--cpp-stlref--stack-inslast-remelem,159326200,5.197406,32.621163 843 2023-04-06 23:50:02,3,5 1000000 7 -1 3 ,./perfexp--lq-list--stack-insfirst-remelem,798000000,5.021226,6.292263 844 2023-04-06 23:50:07,2,5 100 72421 -1 2 ,./perfexp--upp-upp--stack-insfirst-remelem,267957700,5.036691,18.796590 845 2023-04-06 23:50:12,5,5 10000 809 -1 5 ,./perfexp--lq-list--stack-insfirst-allhead,517760000,5.076458,9.804655 846 2023-04-06 23:50:18,1,5 1000 9051 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-inselem,343938000,5.111457,14.861565 847 2023-04-06 23:50:23,4,5 100000 71 -1 4 ,./perfexp--cfa-cfa--queue-inslast-remelem,766800000,5.036608,6.568346 848 2023-04-06 23:50:28,3,5 100000 71 -1 3 ,./perfexp--cfa-cfa--stack-inslast-allhead,639000000,5.008767,7.838446 849 2023-04-06 23:50:33,3,5 1000 9051 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-inselem,343938000,5.096478,14.818014 850 2023-04-06 23:50:38,5,5 1000000 7 -1 5 ,./perfexp--cpp-stlref--queue-inslast-inselem,224000000,5.053022,22.558134 851 2023-04-06 23:50:43,3,5 1000000 7 -1 3 ,./perfexp--upp-upp--stack-inslast-inselem,588000000,5.043254,8.576963 852 2023-04-06 23:50:48,1,5 1000 9051 -1 1 ,./perfexp--upp-upp--queue-insfirst-allhead,325836000,5.142199,15.781556 853 2023-04-06 23:50:53,3,5 100000 71 -1 3 ,./perfexp--upp-upp--queue-inslast-inselem,575100000,5.013201,8.717094 854 2023-04-06 23:50:58,1,5 100000 71 -1 1 ,./perfexp--upp-upp--stack-insfirst-allhead,788100000,5.011622,6.359119 855 2023-04-06 23:51:03,1,5 100000 71 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-inselem,603500000,5.049321,8.366729 856 2023-04-06 23:51:08,2,5 100 72421 -1 2 ,./perfexp--lq-list--stack-insfirst-allhead,166568300,5.050434,30.320499 857 2023-04-06 23:51:13,3,5 1000 9051 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-inselem,162918000,5.096707,31.283879 858 2023-04-06 23:51:18,2,5 1000000 7 -1 2 ,./perfexp--upp-upp--stack-insfirst-allhead,805000000,5.003890,6.216012 859 2023-04-06 23:51:23,1,5 100 72421 -1 1 ,./perfexp--upp-upp--queue-inslast-inselem,137599900,5.089424,36.987120 860 2023-04-06 23:51:29,5,5 10000 809 -1 5 ,./perfexp--lq-list--stack-insfirst-remelem,582480000,5.006380,8.594939 861 2023-04-06 23:51:34,3,5 10000 809 -1 3 ,./perfexp--cfa-cfa--queue-inslast-allhead,453040000,5.016531,11.073042 862 2023-04-06 23:51:39,2,5 10000 809 -1 2 ,./perfexp--cfa-cfa--queue-inslast-inselem,453040000,5.063734,11.177234 863 2023-04-06 23:51:44,1,5 10000 809 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-allhead,177980000,5.226280,29.364423 864 2023-04-06 23:51:49,2,5 1000 9051 -1 2 ,./perfexp--cfa-cfa--queue-inslast-allhead,343938000,5.057972,14.706057 865 2023-04-06 23:51:54,3,5 10000 809 -1 3 ,./perfexp--lq-tailq--stack-insfirst-allhead,509670000,5.025430,9.860164 866 2023-04-06 23:51:59,4,5 10000 809 -1 4 ,./perfexp--cpp-stlref--stack-inslast-remelem,161800000,5.000954,30.908245 867 2023-04-06 23:52:04,4,5 1000 9051 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-allhead,181020000,5.211717,28.790835 868 2023-04-06 23:52:09,3,5 10000 809 -1 3 ,./perfexp--cfa-cfa--stack-inslast-allhead,477310000,5.049791,10.579688 869 2023-04-06 23:52:14,1,5 10000 809 -1 1 ,./perfexp--lq-list--stack-insfirst-remelem,590570000,5.016456,8.494261 870 2023-04-06 23:52:19,1,5 1000 9051 -1 1 ,./perfexp--upp-upp--queue-insfirst-remelem,534009000,5.061113,9.477580 871 2023-04-06 23:52:24,1,5 10000 809 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-remelem,169890000,5.017420,29.533345 872 2023-04-06 23:52:29,1,5 10000 809 -1 1 ,./perfexp--lq-tailq--queue-inslast-inselem,485400000,5.081081,10.467822 873 2023-04-06 23:52:34,1,5 1000 9051 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-allhead,343938000,5.033256,14.634196 874 2023-04-06 23:52:40,3,5 1000000 7 -1 3 ,./perfexp--upp-upp--queue-inslast-remelem,784000000,5.033145,6.419828 875 2023-04-06 23:52:45,2,5 1000000 7 -1 2 ,./perfexp--lq-tailq--stack-inslast-inselem,980000000,5.012630,5.114929 876 2023-04-06 23:52:50,5,5 1000000 7 -1 5 ,./perfexp--lq-tailq--stack-insfirst-remelem,791000000,5.040982,6.372923 877 2023-04-06 23:52:55,2,5 10000 809 -1 2 ,./perfexp--upp-upp--stack-inslast-inselem,444950000,5.091346,11.442513 878 2023-04-06 23:53:00,5,5 100000 71 -1 5 ,./perfexp--cfa-cfa--queue-inslast-remelem,752600000,5.007532,6.653643 879 2023-04-06 23:53:05,5,5 1000 9051 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-remelem,171969000,5.137818,29.876420 880 2023-04-06 23:53:10,5,5 10000 809 -1 5 ,./perfexp--cfa-cfa--stack-inslast-allhead,477310000,5.056730,10.594226 881 2023-04-06 23:53:15,3,5 100000 71 -1 3 ,./perfexp--upp-upp--queue-insfirst-inselem,539600000,5.044061,9.347778 882 2023-04-06 23:53:20,2,5 1000000 7 -1 2 ,./perfexp--upp-upp--queue-inslast-allhead,889000000,5.018817,5.645463 883 2023-04-06 23:53:25,2,5 10000 809 -1 2 ,./perfexp--lq-tailq--queue-inslast-allhead,485400000,5.004149,10.309330 884 2023-04-06 23:53:30,3,5 1000 9051 -1 3 ,./perfexp--lq-tailq--stack-inslast-remelem,687876000,5.062201,7.359177 885 2023-04-06 23:53:35,1,5 100 72421 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-allhead,137599900,5.148068,37.413312 886 2023-04-06 23:53:40,1,5 1000 9051 -1 1 ,./perfexp--lq-tailq--queue-insfirst-inselem,289632000,5.012993,17.308146 887 2023-04-06 23:53:45,1,5 100000 71 -1 1 ,./perfexp--cfa-cfa--queue-inslast-inselem,575100000,5.045375,8.773039 888 2023-04-06 23:53:50,1,5 100 72421 -1 1 ,./perfexp--upp-upp--queue-insfirst-allhead,130357800,5.099296,39.117690 889 2023-04-06 23:53:56,2,5 1000000 7 -1 2 ,./perfexp--upp-upp--stack-inslast-inselem,588000000,5.037787,8.567665 890 2023-04-06 23:54:01,4,5 100000 71 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-allhead,184600000,5.105671,27.658023 891 2023-04-06 23:54:06,3,5 100 72421 -1 3 ,./perfexp--lq-tailq--stack-insfirst-remelem,333136600,5.074849,15.233538 892 2023-04-06 23:54:11,5,5 100 72421 -1 5 ,./perfexp--cfa-cfa--stack-inslast-remelem,325894500,5.093924,15.630592 893 2023-04-06 23:54:16,3,5 1000 9051 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-allhead,343938000,5.031887,14.630215 894 2023-04-06 23:54:21,2,5 100000 71 -1 2 ,./perfexp--cfa-cfa--stack-inslast-remelem,965600000,5.024737,5.203746 895 2023-04-06 23:54:26,2,5 1000 9051 -1 2 ,./perfexp--lq-tailq--stack-insfirst-allhead,343938000,5.000385,14.538623 896 2023-04-06 23:54:31,3,5 1000 9051 -1 3 ,./perfexp--cpp-stlref--stack-inslast-allhead,162918000,5.114478,31.392958 897 2023-04-06 23:54:36,4,5 1000000 7 -1 4 ,./perfexp--upp-upp--queue-inslast-remelem,784000000,5.034203,6.421177 898 2023-04-06 23:54:41,2,5 100000 71 -1 2 ,./perfexp--lq-list--stack-insfirst-allhead,773900000,5.039677,6.512052 899 2023-04-06 23:54:46,4,5 100 72421 -1 4 ,./perfexp--cfa-cfa--stack-inslast-remelem,325894500,5.097422,15.641326 900 2023-04-06 23:54:51,2,5 1000000 7 -1 2 ,./perfexp--upp-upp--stack-insfirst-remelem,756000000,5.023632,6.645016 901 2023-04-06 23:54:56,3,5 10000 809 -1 3 ,./perfexp--cfa-cfa--queue-inslast-remelem,695740000,5.045478,7.251959 902 2023-04-06 23:55:01,4,5 100000 71 -1 4 ,./perfexp--cpp-stlref--queue-inslast-remelem,177500000,5.031516,28.346569 903 2023-04-06 23:55:07,5,5 100 72421 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-allhead,159326200,5.042017,31.645875 904 2023-04-06 23:55:12,5,5 1000 9051 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-allhead,343938000,5.028640,14.620775 905 2023-04-06 23:55:17,5,5 10000 809 -1 5 ,./perfexp--upp-upp--queue-inslast-inselem,444950000,5.013986,11.268650 906 2023-04-06 23:55:22,5,5 100 72421 -1 5 ,./perfexp--upp-upp--stack-insfirst-remelem,267957700,5.032008,18.779113 907 2023-04-06 23:55:27,2,5 1000 9051 -1 2 ,./perfexp--lq-tailq--queue-inslast-allhead,352989000,5.053183,14.315412 908 2023-04-06 23:55:32,3,5 100 72421 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-inselem,159326200,5.186497,32.552694 909 2023-04-06 23:55:37,2,5 1000 9051 -1 2 ,./perfexp--lq-list--stack-insfirst-remelem,534009000,5.014736,9.390733 910 2023-04-06 23:55:42,3,5 1000 9051 -1 3 ,./perfexp--lq-tailq--queue-inslast-remelem,534009000,5.029801,9.418944 911 2023-04-06 23:55:47,5,5 1000 9051 -1 5 ,./perfexp--cfa-cfa--stack-inslast-inselem,343938000,5.069517,14.739625 912 2023-04-06 23:55:52,1,5 100000 71 -1 1 ,./perfexp--cfa-cfa--queue-inslast-allhead,582200000,5.043558,8.662930 913 2023-04-06 23:55:57,4,5 100000 71 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-remelem,184600000,5.143890,27.865060 914 2023-04-06 23:56:02,5,5 10000 809 -1 5 ,./perfexp--cfa-cfa--queue-inslast-allhead,461130000,5.080796,11.018142 915 2023-04-06 23:56:07,3,5 1000 9051 -1 3 ,./perfexp--cpp-stlref--queue-inslast-inselem,171969000,5.118993,29.766952 916 2023-04-06 23:56:13,4,5 10000 809 -1 4 ,./perfexp--lq-tailq--queue-insfirst-remelem,720010000,5.035548,6.993720 917 2023-04-06 23:56:18,1,5 100 72421 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-inselem,137599900,5.147075,37.406095 918 2023-04-06 23:56:23,3,5 10000 809 -1 3 ,./perfexp--upp-upp--stack-insfirst-remelem,582480000,5.029466,8.634573 919 2023-04-06 23:56:28,4,5 100 72421 -1 4 ,./perfexp--cpp-stlref--stack-inslast-allhead,166568300,5.213374,31.298717 920 2023-04-06 23:56:33,4,5 100 72421 -1 4 ,./perfexp--upp-upp--queue-insfirst-inselem,130357800,5.104179,39.155148 921 2023-04-06 23:56:38,5,5 10000 809 -1 5 ,./perfexp--upp-upp--queue-insfirst-remelem,647200000,5.055149,7.810799 922 2023-04-06 23:56:43,4,5 1000 9051 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-allhead,334887000,5.047137,15.071164 923 2023-04-06 23:56:48,4,5 1000000 7 -1 4 ,./perfexp--lq-tailq--queue-insfirst-inselem,973000000,5.030706,5.170304 924 2023-04-06 23:56:53,5,5 100 72421 -1 5 ,./perfexp--upp-upp--stack-insfirst-inselem,159326200,5.197585,32.622287 925 2023-04-06 23:56:59,5,5 10000 809 -1 5 ,./perfexp--upp-upp--queue-insfirst-allhead,444950000,5.057074,11.365488 926 2023-04-06 23:57:04,2,5 100000 71 -1 2 ,./perfexp--cpp-stlref--queue-inslast-remelem,177500000,5.028745,28.330958 927 2023-04-06 23:57:09,4,5 1000 9051 -1 4 ,./perfexp--upp-upp--queue-insfirst-allhead,325836000,5.133705,15.755487 928 2023-04-06 23:57:14,4,5 1000 9051 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-inselem,181020000,5.216624,28.817943 929 2023-04-06 23:57:19,5,5 100000 71 -1 5 ,./perfexp--upp-upp--queue-insfirst-inselem,546700000,5.040683,9.220199 930 2023-04-06 23:57:24,2,5 100 72421 -1 2 ,./perfexp--lq-tailq--stack-insfirst-allhead,166568300,5.126525,30.777315 931 2023-04-06 23:57:29,3,5 100000 71 -1 3 ,./perfexp--lq-tailq--queue-inslast-allhead,752600000,5.030341,6.683950 932 2023-04-06 23:57:34,2,5 100000 71 -1 2 ,./perfexp--lq-tailq--queue-insfirst-inselem,781000000,5.002303,6.404997 933 2023-04-06 23:57:39,1,5 100 72421 -1 1 ,./perfexp--lq-tailq--queue-inslast-remelem,311410300,5.110663,16.411349 934 2023-04-06 23:57:44,5,5 100 72421 -1 5 ,./perfexp--upp-upp--queue-inslast-remelem,260715600,5.004443,19.195027 935 2023-04-06 23:57:49,5,5 10000 809 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-inselem,177980000,5.040817,28.322379 936 2023-04-06 23:57:55,5,5 1000000 7 -1 5 ,./perfexp--upp-upp--queue-inslast-remelem,777000000,5.012582,6.451199 937 2023-04-06 23:58:00,2,5 100 72421 -1 2 ,./perfexp--lq-tailq--queue-insfirst-inselem,130357800,5.143872,39.459641 938 2023-04-06 23:58:05,3,5 1000 9051 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-remelem,588315000,5.034068,8.556756 939 2023-04-06 23:58:10,1,5 10000 809 -1 1 ,./perfexp--upp-upp--queue-inslast-inselem,436860000,5.006743,11.460749 940 2023-04-06 23:58:15,4,5 100 72421 -1 4 ,./perfexp--lq-tailq--stack-insfirst-inselem,159326200,5.004273,31.408977 941 2023-04-06 23:58:20,3,5 1000000 7 -1 3 ,./perfexp--lq-tailq--stack-insfirst-remelem,784000000,5.042812,6.432158 942 2023-04-06 23:58:25,5,5 100000 71 -1 5 ,./perfexp--lq-list--stack-insfirst-allhead,788100000,5.002504,6.347550 943 2023-04-06 23:58:30,3,5 100000 71 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-inselem,177500000,5.009520,28.222648 944 2023-04-06 23:58:35,4,5 1000 9051 -1 4 ,./perfexp--cpp-stlref--stack-inslast-allhead,162918000,5.140808,31.554573 945 2023-04-06 23:58:40,3,5 100 72421 -1 3 ,./perfexp--lq-tailq--queue-inslast-inselem,144842000,5.151509,35.566403 946 2023-04-06 23:58:45,3,5 100 72421 -1 3 ,./perfexp--cpp-stlref--stack-inslast-remelem,152084100,5.034474,33.103224 947 2023-04-06 23:58:50,5,5 100000 71 -1 5 ,./perfexp--cpp-stlref--stack-insfirst-inselem,184600000,5.137038,27.827941 948 2023-04-06 23:58:56,5,5 10000 809 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-inselem,477310000,5.038631,10.556307 949 2023-04-06 23:59:01,4,5 1000 9051 -1 4 ,./perfexp--cpp-stlref--queue-inslast-inselem,171969000,5.114824,29.742709 950 2023-04-06 23:59:06,1,5 1000 9051 -1 1 ,./perfexp--upp-upp--queue-inslast-remelem,515907000,5.030354,9.750505 951 2023-04-06 23:59:11,3,5 1000000 7 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-allhead,665000000,5.014697,7.540898 952 2023-04-06 23:59:16,5,5 1000000 7 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-allhead,665000000,5.003080,7.523429 953 2023-04-06 23:59:21,5,5 10000 809 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-allhead,169890000,5.029569,29.604856 954 2023-04-06 23:59:26,3,5 100000 71 -1 3 ,./perfexp--upp-upp--stack-insfirst-allhead,724200000,5.029829,6.945359 955 2023-04-06 23:59:31,1,5 10000 809 -1 1 ,./perfexp--upp-upp--queue-inslast-allhead,493490000,5.010267,10.152722 956 2023-04-06 23:59:36,3,5 1000 9051 -1 3 ,./perfexp--cpp-stlref--stack-inslast-remelem,153867000,5.204054,33.821768 957 2023-04-06 23:59:41,5,5 100 72421 -1 5 ,./perfexp--lq-tailq--stack-insfirst-inselem,159326200,5.006861,31.425221 958 2023-04-06 23:59:46,5,5 100 72421 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-inselem,166568300,5.134474,30.825037 959 2023-04-06 23:59:51,3,5 100000 71 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-allhead,177500000,5.021209,28.288501 960 2023-04-06 23:59:56,1,5 1000000 7 -1 1 ,./perfexp--cfa-cfa--queue-inslast-remelem,959000000,5.000634,5.214425 961 2023-04-07 00:00:01,1,5 10000 809 -1 1 ,./perfexp--cpp-stlref--queue-inslast-allhead,177980000,5.123476,28.786808 962 2023-04-07 00:00:07,5,5 10000 809 -1 5 ,./perfexp--upp-upp--stack-insfirst-remelem,574390000,5.003850,8.711590 963 2023-04-07 00:00:12,1,5 1000 9051 -1 1 ,./perfexp--lq-tailq--stack-inslast-remelem,678825000,5.004920,7.372916 964 2023-04-07 00:00:17,3,5 100000 71 -1 3 ,./perfexp--lq-tailq--queue-insfirst-inselem,788100000,5.031101,6.383836 965 2023-04-07 00:00:22,4,5 1000 9051 -1 4 ,./perfexp--upp-upp--stack-inslast-allhead,334887000,5.030583,15.021733 966 2023-04-07 00:00:27,3,5 1000 9051 -1 3 ,./perfexp--lq-tailq--queue-insfirst-inselem,298683000,5.139339,17.206667 967 2023-04-07 00:00:32,3,5 10000 809 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-allhead,485400000,5.084587,10.475045 968 2023-04-07 00:00:37,1,5 10000 809 -1 1 ,./perfexp--lq-tailq--queue-inslast-remelem,590570000,5.043516,8.540082 969 2023-04-07 00:00:42,3,5 1000000 7 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-allhead,231000000,5.119258,22.161290 970 2023-04-07 00:00:47,2,5 1000 9051 -1 2 ,./perfexp--upp-upp--stack-insfirst-remelem,461601000,5.024322,10.884556 971 2023-04-07 00:00:52,3,5 10000 809 -1 3 ,./perfexp--lq-tailq--queue-insfirst-allhead,461130000,5.076500,11.008826 972 2023-04-07 00:00:57,1,5 1000000 7 -1 1 ,./perfexp--upp-upp--queue-insfirst-inselem,588000000,5.001611,8.506141 973 2023-04-07 00:01:02,1,5 10000 809 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-inselem,169890000,5.145494,30.287209 974 2023-04-07 00:01:07,3,5 1000000 7 -1 3 ,./perfexp--cfa-cfa--stack-inslast-allhead,672000000,5.044544,7.506762 975 2023-04-07 00:01:12,5,5 1000 9051 -1 5 ,./perfexp--lq-tailq--stack-insfirst-remelem,534009000,5.004349,9.371282 976 2023-04-07 00:01:17,4,5 1000000 7 -1 4 ,./perfexp--lq-tailq--stack-inslast-inselem,987000000,5.025173,5.091361 977 2023-04-07 00:01:23,2,5 10000 809 -1 2 ,./perfexp--cpp-stlref--stack-inslast-remelem,169890000,5.236716,30.824157 978 2023-04-07 00:01:28,1,5 1000 9051 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-allhead,334887000,5.055747,15.096874 979 2023-04-07 00:01:33,2,5 1000000 7 -1 2 ,./perfexp--lq-list--stack-insfirst-allhead,924000000,5.034723,5.448834 980 2023-04-07 00:01:38,2,5 100 72421 -1 2 ,./perfexp--lq-tailq--queue-insfirst-remelem,296926100,5.111804,17.215745 981 2023-04-07 00:01:43,1,5 100 72421 -1 1 ,./perfexp--cfa-cfa--stack-inslast-remelem,325894500,5.092882,15.627395 982 2023-04-07 00:01:48,2,5 10000 809 -1 2 ,./perfexp--lq-tailq--stack-inslast-inselem,493490000,5.012330,10.156903 983 2023-04-07 00:01:53,1,5 100000 71 -1 1 ,./perfexp--upp-upp--queue-insfirst-allhead,660300000,5.052296,7.651516 984 2023-04-07 00:01:58,3,5 10000 809 -1 3 ,./perfexp--cpp-stlref--stack-insfirst-inselem,169890000,5.023551,29.569433 985 2023-04-07 00:02:03,3,5 1000 9051 -1 3 ,./perfexp--cpp-stlref--stack-inslast-inselem,162918000,5.065419,31.091831 986 2023-04-07 00:02:08,1,5 100 72421 -1 1 ,./perfexp--cpp-stlref--stack-inslast-inselem,159326200,5.065417,31.792743 987 2023-04-07 00:02:13,4,5 100000 71 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-inselem,610600000,5.045429,8.263067 988 2023-04-07 00:02:18,3,5 100 72421 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-remelem,159326200,5.086272,31.923638 989 2023-04-07 00:02:24,1,5 100000 71 -1 1 ,./perfexp--upp-upp--queue-insfirst-remelem,773900000,5.011786,6.476012 990 2023-04-07 00:02:29,1,5 10000 809 -1 1 ,./perfexp--cfa-cfa--queue-inslast-remelem,695740000,5.035083,7.237018 991 2023-04-07 00:02:34,5,5 100000 71 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-inselem,617700000,5.034056,8.149678 992 2023-04-07 00:02:39,2,5 1000 9051 -1 2 ,./perfexp--lq-tailq--queue-insfirst-allhead,316785000,5.101400,16.103667 993 2023-04-07 00:02:44,4,5 100000 71 -1 4 ,./perfexp--upp-upp--queue-insfirst-allhead,624800000,5.004312,8.009462 994 2023-04-07 00:02:49,5,5 10000 809 -1 5 ,./perfexp--lq-tailq--queue-insfirst-inselem,444950000,5.086458,11.431527 995 2023-04-07 00:02:54,4,5 1000 9051 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-inselem,343938000,5.095479,14.815109 996 2023-04-07 00:02:59,3,5 10000 809 -1 3 ,./perfexp--upp-upp--stack-inslast-allhead,501580000,5.078669,10.125342 997 2023-04-07 00:03:04,3,5 1000 9051 -1 3 ,./perfexp--lq-tailq--stack-inslast-allhead,325836000,5.035838,15.455131 998 2023-04-07 00:03:09,5,5 1000 9051 -1 5 ,./perfexp--lq-tailq--queue-insfirst-remelem,642621000,5.048161,7.855581 999 2023-04-07 00:03:14,5,5 1000 9051 -1 5 ,./perfexp--lq-list--stack-insfirst-allhead,343938000,5.068172,14.735714 1000 2023-04-07 00:03:19,2,5 10000 809 -1 2 ,./perfexp--lq-list--stack-insfirst-allhead,509670000,5.010027,9.829943 1001 2023-04-07 00:03:24,3,5 10000 809 -1 3 ,./perfexp--lq-tailq--queue-insfirst-remelem,711920000,5.004285,7.029280 1002 2023-04-07 00:03:29,4,5 1000 9051 -1 4 ,./perfexp--cfa-cfa--queue-inslast-inselem,343938000,5.124094,14.898307 1003 2023-04-07 00:03:35,2,5 100 72421 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-remelem,289684000,5.109375,17.637754 1004 2023-04-07 00:03:40,1,5 10000 809 -1 1 ,./perfexp--cpp-stlref--queue-inslast-inselem,177980000,5.226474,29.365513 1005 2023-04-07 00:03:45,2,5 1000000 7 -1 2 ,./perfexp--lq-tailq--stack-inslast-remelem,1421000000,5.024039,3.535566 1006 2023-04-07 00:03:50,3,5 100 72421 -1 3 ,./perfexp--upp-upp--queue-inslast-allhead,137599900,5.041139,36.636211 1007 2023-04-07 00:03:55,4,5 100 72421 -1 4 ,./perfexp--upp-upp--stack-inslast-allhead,159326200,5.081520,31.893813 1008 2023-04-07 00:04:00,4,5 1000000 7 -1 4 ,./perfexp--lq-tailq--stack-insfirst-inselem,581000000,5.046014,8.685050 1009 2023-04-07 00:04:05,5,5 10000 809 -1 5 ,./perfexp--upp-upp--stack-inslast-allhead,493490000,5.016015,10.164370 1010 2023-04-07 00:04:10,3,5 1000000 7 -1 3 ,./perfexp--lq-tailq--stack-insfirst-inselem,581000000,5.003459,8.611806 1011 2023-04-07 00:04:15,1,5 1000000 7 -1 1 ,./perfexp--upp-upp--queue-inslast-inselem,693000000,5.001641,7.217375 1012 2023-04-07 00:04:20,4,5 100 72421 -1 4 ,./perfexp--cfa-cfa--stack-inslast-allhead,159326200,5.162225,32.400352 1013 2023-04-07 00:04:25,3,5 100 72421 -1 3 ,./perfexp--cfa-cfa--stack-inslast-remelem,325894500,5.086104,15.606597 1014 2023-04-07 00:04:31,2,5 1000 9051 -1 2 ,./perfexp--upp-upp--queue-insfirst-inselem,307734000,5.019841,16.312273 1015 2023-04-07 00:04:36,4,5 10000 809 -1 4 ,./perfexp--cfa-cfa--stack-inslast-allhead,469220000,5.001562,10.659311 1016 2023-04-07 00:04:41,3,5 100 72421 -1 3 ,./perfexp--lq-tailq--queue-insfirst-inselem,130357800,5.142624,39.450067 1017 2023-04-07 00:04:46,3,5 100000 71 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-allhead,553800000,5.013626,9.053135 1018 2023-04-07 00:04:51,1,5 100 72421 -1 1 ,./perfexp--lq-tailq--stack-insfirst-remelem,333136600,5.076545,15.238629 1019 2023-04-07 00:04:56,5,5 10000 809 -1 5 ,./perfexp--cpp-stlref--stack-inslast-inselem,169890000,5.071793,29.853393 1020 2023-04-07 00:05:01,3,5 10000 809 -1 3 ,./perfexp--upp-upp--queue-inslast-allhead,501580000,5.064339,10.096772 1021 2023-04-07 00:05:06,1,5 1000 9051 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-remelem,153867000,5.176563,33.643101 1022 2023-04-07 00:05:11,5,5 100000 71 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-allhead,184600000,5.032819,27.263375 1023 2023-04-07 00:05:16,3,5 1000000 7 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-remelem,224000000,5.024146,22.429223 1024 2023-04-07 00:05:21,2,5 1000 9051 -1 2 ,./perfexp--cfa-cfa--queue-inslast-remelem,588315000,5.050261,8.584281 1025 2023-04-07 00:05:26,5,5 1000000 7 -1 5 ,./perfexp--cfa-cfa--queue-inslast-remelem,980000000,5.025545,5.128107 1026 2023-04-07 00:05:32,3,5 100 72421 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-inselem,166568300,5.065528,30.411117 1027 2023-04-07 00:05:37,4,5 100 72421 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-remelem,318652400,5.015438,15.739527 1028 2023-04-07 00:05:42,4,5 100000 71 -1 4 ,./perfexp--upp-upp--stack-inslast-remelem,823600000,5.033144,6.111151 1029 2023-04-07 00:05:47,1,5 100000 71 -1 1 ,./perfexp--upp-upp--queue-inslast-allhead,710000000,5.007572,7.052918 1030 2023-04-07 00:05:52,3,5 100 72421 -1 3 ,./perfexp--upp-upp--queue-insfirst-inselem,130357800,5.098879,39.114491 1031 2023-04-07 00:05:57,4,5 100 72421 -1 4 ,./perfexp--cpp-stlref--queue-inslast-allhead,166568300,5.181296,31.106135 1032 2023-04-07 00:06:02,2,5 100 72421 -1 2 ,./perfexp--upp-upp--stack-insfirst-inselem,159326200,5.206496,32.678216 1033 2023-04-07 00:06:07,4,5 100 72421 -1 4 ,./perfexp--lq-tailq--stack-insfirst-remelem,333136600,5.083054,15.258167 1034 2023-04-07 00:06:12,3,5 100 72421 -1 3 ,./perfexp--cpp-stlref--queue-inslast-inselem,159326200,5.023020,31.526642 1035 2023-04-07 00:06:17,5,5 10000 809 -1 5 ,./perfexp--upp-upp--stack-insfirst-inselem,477310000,5.066548,10.614795 1036 2023-04-07 00:06:23,4,5 10000 809 -1 4 ,./perfexp--upp-upp--queue-inslast-inselem,444950000,5.002215,11.242196 1037 2023-04-07 00:06:28,5,5 100000 71 -1 5 ,./perfexp--lq-tailq--queue-insfirst-allhead,731300000,5.007529,6.847435 1038 2023-04-07 00:06:33,5,5 1000 9051 -1 5 ,./perfexp--lq-tailq--stack-insfirst-inselem,316785000,5.004748,15.798564 1039 2023-04-07 00:06:38,5,5 1000000 7 -1 5 ,./perfexp--upp-upp--stack-inslast-inselem,588000000,5.046407,8.582325 1040 2023-04-07 00:06:43,3,5 1000000 7 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-remelem,917000000,5.029605,5.484847 1041 2023-04-07 00:06:48,5,5 1000000 7 -1 5 ,./perfexp--lq-tailq--queue-inslast-inselem,833000000,5.018035,6.024052 1042 2023-04-07 00:06:53,4,5 10000 809 -1 4 ,./perfexp--upp-upp--stack-insfirst-allhead,525850000,5.070215,9.641942 1043 2023-04-07 00:06:58,5,5 100000 71 -1 5 ,./perfexp--upp-upp--stack-insfirst-remelem,731300000,5.028043,6.875486 1044 2023-04-07 00:07:03,5,5 10000 809 -1 5 ,./perfexp--upp-upp--queue-inslast-remelem,614840000,5.028645,8.178786 1045 2023-04-07 00:07:08,3,5 10000 809 -1 3 ,./perfexp--cfa-cfa--stack-inslast-remelem,720010000,5.048400,7.011569 1046 2023-04-07 00:07:13,1,5 1000000 7 -1 1 ,./perfexp--cpp-stlref--stack-inslast-remelem,224000000,5.107446,22.801098 1047 2023-04-07 00:07:18,4,5 1000000 7 -1 4 ,./perfexp--lq-tailq--queue-inslast-allhead,959000000,5.009608,5.223783 1048 2023-04-07 00:07:23,5,5 100000 71 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-remelem,184600000,5.136296,27.823922 1049 2023-04-07 00:07:28,2,5 10000 809 -1 2 ,./perfexp--cfa-cfa--queue-inslast-remelem,695740000,5.019980,7.215310 1050 2023-04-07 00:07:33,4,5 10000 809 -1 4 ,./perfexp--upp-upp--queue-inslast-allhead,493490000,5.031048,10.194833 1051 2023-04-07 00:07:38,3,5 1000 9051 -1 3 ,./perfexp--upp-upp--queue-insfirst-remelem,534009000,5.044507,9.446483 1052 2023-04-07 00:07:43,2,5 1000 9051 -1 2 ,./perfexp--cfa-cfa--stack-inslast-inselem,343938000,5.079265,14.767967 1053 2023-04-07 00:07:48,3,5 100000 71 -1 3 ,./perfexp--cfa-cfa--queue-inslast-inselem,568000000,5.039315,8.872033 1054 2023-04-07 00:07:53,1,5 10000 809 -1 1 ,./perfexp--lq-tailq--queue-insfirst-inselem,436860000,5.036864,11.529698 1055 2023-04-07 00:07:58,2,5 100000 71 -1 2 ,./perfexp--lq-tailq--queue-inslast-inselem,724200000,5.004672,6.910621 1056 2023-04-07 00:08:03,2,5 100 72421 -1 2 ,./perfexp--lq-tailq--stack-inslast-inselem,159326200,5.152197,32.337412 1057 2023-04-07 00:08:09,4,5 100 72421 -1 4 ,./perfexp--upp-upp--queue-inslast-allhead,137599900,5.043725,36.655005 1058 2023-04-07 00:08:14,1,5 1000 9051 -1 1 ,./perfexp--upp-upp--stack-insfirst-remelem,461601000,5.010361,10.854311 1059 2023-04-07 00:08:19,4,5 10000 809 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-allhead,444950000,5.008312,11.255898 1060 2023-04-07 00:08:24,5,5 100000 71 -1 5 ,./perfexp--upp-upp--queue-insfirst-allhead,646100000,5.052912,7.820635 1061 2023-04-07 00:08:29,3,5 1000000 7 -1 3 ,./perfexp--upp-upp--queue-inslast-inselem,693000000,5.024033,7.249687 1062 2023-04-07 00:08:34,5,5 1000 9051 -1 5 ,./perfexp--cpp-stlref--queue-inslast-inselem,171969000,5.113559,29.735353 1063 2023-04-07 00:08:39,1,5 1000000 7 -1 1 ,./perfexp--cpp-stlref--queue-inslast-remelem,224000000,5.136808,22.932179 1064 2023-04-07 00:08:44,2,5 1000000 7 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-allhead,224000000,5.087099,22.710263 1065 2023-04-07 00:08:49,4,5 1000000 7 -1 4 ,./perfexp--upp-upp--queue-inslast-inselem,693000000,5.001977,7.217860 1066 2023-04-07 00:08:54,3,5 1000 9051 -1 3 ,./perfexp--upp-upp--stack-insfirst-allhead,325836000,5.086269,15.609905 1067 2023-04-07 00:08:59,2,5 100 72421 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-remelem,152084100,5.070523,33.340257 1068 2023-04-07 00:09:04,4,5 1000 9051 -1 4 ,./perfexp--upp-upp--stack-insfirst-inselem,307734000,5.001254,16.251873 1069 2023-04-07 00:09:09,3,5 1000 9051 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-inselem,181020000,5.244969,28.974528 1070 2023-04-07 00:09:15,3,5 100 72421 -1 3 ,./perfexp--upp-upp--stack-inslast-allhead,159326200,5.076574,31.862770 1071 2023-04-07 00:09:20,2,5 100000 71 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-allhead,560900000,5.015707,8.942248 1072 2023-04-07 00:09:25,1,5 100000 71 -1 1 ,./perfexp--upp-upp--stack-inslast-remelem,937200000,5.038076,5.375668 1073 2023-04-07 00:09:30,3,5 10000 809 -1 3 ,./perfexp--cpp-stlref--queue-insfirst-inselem,177980000,5.087129,28.582588 1074 2023-04-07 00:09:35,4,5 10000 809 -1 4 ,./perfexp--lq-list--stack-insfirst-remelem,590570000,5.057216,8.563280 1075 2023-04-07 00:09:40,4,5 100 72421 -1 4 ,./perfexp--lq-tailq--stack-inslast-inselem,159326200,5.148371,32.313399 1076 2023-04-07 00:09:45,1,5 1000 9051 -1 1 ,./perfexp--upp-upp--stack-insfirst-inselem,307734000,5.017681,16.305254 1077 2023-04-07 00:09:50,1,5 10000 809 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-remelem,703830000,5.001011,7.105425 1078 2023-04-07 00:09:55,5,5 100 72421 -1 5 ,./perfexp--upp-upp--stack-inslast-inselem,159326200,5.146824,32.303689 1079 2023-04-07 00:10:00,4,5 100000 71 -1 4 ,./perfexp--lq-list--stack-insfirst-inselem,560900000,5.037575,8.981236 1080 2023-04-07 00:10:05,3,5 100 72421 -1 3 ,./perfexp--upp-upp--stack-insfirst-inselem,159326200,5.206990,32.681317 1081 2023-04-07 00:10:11,3,5 10000 809 -1 3 ,./perfexp--cpp-stlref--stack-inslast-inselem,177980000,5.212465,29.286802 1082 2023-04-07 00:10:16,4,5 1000000 7 -1 4 ,./perfexp--cfa-cfa--queue-inslast-remelem,980000000,5.014558,5.116896 1083 2023-04-07 00:10:21,5,5 1000 9051 -1 5 ,./perfexp--cfa-cfa--stack-insfirst-inselem,343938000,5.094368,14.811879 1084 2023-04-07 00:10:26,3,5 100000 71 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-inselem,610600000,5.038606,8.251893 1085 2023-04-07 00:10:31,3,5 100000 71 -1 3 ,./perfexp--upp-upp--stack-insfirst-remelem,738400000,5.012787,6.788715 1086 2023-04-07 00:10:36,3,5 10000 809 -1 3 ,./perfexp--upp-upp--stack-inslast-remelem,679560000,5.029846,7.401622 1087 2023-04-07 00:10:41,2,5 10000 809 -1 2 ,./perfexp--upp-upp--queue-inslast-inselem,453040000,5.073771,11.199389 1088 2023-04-07 00:10:46,2,5 1000000 7 -1 2 ,./perfexp--lq-list--stack-insfirst-remelem,798000000,5.015579,6.285187 1089 2023-04-07 00:10:51,3,5 10000 809 -1 3 ,./perfexp--lq-tailq--stack-inslast-inselem,493490000,5.060374,10.254258 1090 2023-04-07 00:10:56,1,5 100000 71 -1 1 ,./perfexp--cfa-cfa--queue-inslast-remelem,766800000,5.015732,6.541122 1091 2023-04-07 00:11:01,1,5 10000 809 -1 1 ,./perfexp--cfa-cfa--queue-inslast-inselem,453040000,5.070851,11.192943 1092 2023-04-07 00:11:06,2,5 10000 809 -1 2 ,./perfexp--upp-upp--stack-insfirst-allhead,509670000,5.009743,9.829386 1093 2023-04-07 00:11:11,2,5 100000 71 -1 2 ,./perfexp--upp-upp--queue-inslast-inselem,610600000,5.024440,8.228693 1094 2023-04-07 00:11:16,2,5 100000 71 -1 2 ,./perfexp--lq-tailq--queue-inslast-allhead,759700000,5.040553,6.634926 1095 2023-04-07 00:11:21,1,5 100 72421 -1 1 ,./perfexp--cpp-stlref--stack-inslast-remelem,159326200,5.193180,32.594639 1096 2023-04-07 00:11:27,5,5 1000 9051 -1 5 ,./perfexp--cfa-cfa--queue-inslast-allhead,343938000,5.052484,14.690101 1097 2023-04-07 00:11:32,1,5 100000 71 -1 1 ,./perfexp--lq-list--stack-insfirst-allhead,788100000,5.016808,6.365700 1098 2023-04-07 00:11:37,2,5 100000 71 -1 2 ,./perfexp--upp-upp--queue-insfirst-allhead,660300000,5.045791,7.641664 1099 2023-04-07 00:11:42,4,5 100 72421 -1 4 ,./perfexp--upp-upp--stack-inslast-inselem,159326200,5.146330,32.300588 1100 2023-04-07 00:11:47,3,5 10000 809 -1 3 ,./perfexp--lq-list--stack-insfirst-allhead,509670000,5.049794,9.907968 1101 2023-04-07 00:11:52,1,5 100 72421 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-inselem,166568300,5.161840,30.989330 1102 2023-04-07 00:11:57,4,5 100 72421 -1 4 ,./perfexp--lq-tailq--queue-insfirst-allhead,130357800,5.062710,38.837032 1103 2023-04-07 00:12:02,4,5 100 72421 -1 4 ,./perfexp--cpp-stlref--queue-inslast-inselem,159326200,5.089807,31.945826 1104 2023-04-07 00:12:08,5,5 100 72421 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-remelem,282441900,5.058237,17.908947 1105 2023-04-07 00:12:13,1,5 1000000 7 -1 1 ,./perfexp--cpp-stlref--queue-insfirst-remelem,224000000,5.036237,22.483201 1106 2023-04-07 00:12:18,2,5 100000 71 -1 2 ,./perfexp--cpp-stlref--stack-inslast-allhead,177500000,5.014610,28.251324 1107 2023-04-07 00:12:23,1,5 10000 809 -1 1 ,./perfexp--upp-upp--queue-insfirst-remelem,647200000,5.039386,7.786443 1108 2023-04-07 00:12:28,2,5 1000 9051 -1 2 ,./perfexp--lq-list--stack-insfirst-allhead,343938000,5.069521,14.739636 1109 2023-04-07 00:12:33,2,5 100 72421 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-allhead,159326200,5.100854,32.015161 1110 2023-04-07 00:12:38,5,5 100 72421 -1 5 ,./perfexp--lq-tailq--stack-insfirst-allhead,166568300,5.125007,30.768201 1111 2023-04-07 00:12:43,4,5 10000 809 -1 4 ,./perfexp--cpp-stlref--queue-insfirst-allhead,177980000,5.117398,28.752658 1112 2023-04-07 00:12:48,5,5 10000 809 -1 5 ,./perfexp--lq-tailq--queue-inslast-remelem,590570000,5.052605,8.555472 1113 2023-04-07 00:12:53,4,5 1000 9051 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-allhead,343938000,5.025513,14.611683 1114 2023-04-07 00:12:58,3,5 10000 809 -1 3 ,./perfexp--cpp-stlref--queue-inslast-allhead,177980000,5.199746,29.215339 1115 2023-04-07 00:13:04,1,5 10000 809 -1 1 ,./perfexp--upp-upp--stack-inslast-remelem,679560000,5.058526,7.443825 1116 2023-04-07 00:13:09,2,5 100000 71 -1 2 ,./perfexp--upp-upp--queue-insfirst-remelem,710000000,5.003660,7.047408 1117 2023-04-07 00:13:14,2,5 100000 71 -1 2 ,./perfexp--upp-upp--queue-insfirst-inselem,560900000,5.048259,9.000283 1118 2023-04-07 00:13:19,3,5 1000000 7 -1 3 ,./perfexp--lq-tailq--stack-insfirst-allhead,896000000,5.014332,5.596353 1119 2023-04-07 00:13:24,1,5 100000 71 -1 1 ,./perfexp--cpp-stlref--queue-inslast-allhead,184600000,5.190548,28.117811 1120 2023-04-07 00:13:29,3,5 100 72421 -1 3 ,./perfexp--cfa-cfa--stack-insfirst-remelem,325894500,5.111016,15.683039 1121 2023-04-07 00:13:34,5,5 1000000 7 -1 5 ,./perfexp--upp-upp--stack-inslast-allhead,763000000,5.017561,6.576096 1122 2023-04-07 00:13:39,1,5 1000000 7 -1 1 ,./perfexp--lq-tailq--queue-inslast-inselem,833000000,5.019453,6.025754 1123 2023-04-07 00:13:44,5,5 10000 809 -1 5 ,./perfexp--lq-tailq--stack-insfirst-remelem,590570000,5.047563,8.546934 1124 2023-04-07 00:13:49,4,5 10000 809 -1 4 ,./perfexp--lq-tailq--queue-insfirst-inselem,436860000,5.034155,11.523497 1125 2023-04-07 00:13:54,4,5 1000 9051 -1 4 ,./perfexp--upp-upp--stack-inslast-remelem,570213000,5.051648,8.859230 1126 2023-04-07 00:13:59,1,5 100000 71 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-allhead,610600000,5.015572,8.214170 1127 2023-04-07 00:14:04,2,5 1000000 7 -1 2 ,./perfexp--lq-tailq--queue-insfirst-allhead,1022000000,5.030284,4.922000 1128 2023-04-07 00:14:09,3,5 1000000 7 -1 3 ,./perfexp--cfa-cfa--stack-inslast-remelem,966000000,5.018343,5.194972 1129 2023-04-07 00:14:14,2,5 1000000 7 -1 2 ,./perfexp--lq-tailq--stack-insfirst-remelem,784000000,5.042359,6.431580 1130 2023-04-07 00:14:19,5,5 100000 71 -1 5 ,./perfexp--cpp-stlref--stack-inslast-allhead,184600000,5.173540,28.025677 1131 2023-04-07 00:14:25,3,5 100000 71 -1 3 ,./perfexp--upp-upp--stack-inslast-inselem,553800000,5.046826,9.113084 1132 2023-04-07 00:14:30,1,5 10000 809 -1 1 ,./perfexp--upp-upp--stack-inslast-allhead,493490000,5.025143,10.182867 1133 2023-04-07 00:14:35,4,5 100000 71 -1 4 ,./perfexp--lq-list--stack-insfirst-remelem,702900000,5.050739,7.185573 1134 2023-04-07 00:14:40,2,5 1000 9051 -1 2 ,./perfexp--cpp-stlref--stack-insfirst-allhead,162918000,5.172527,31.749267 1135 2023-04-07 00:14:45,4,5 100 72421 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-inselem,159326200,5.130366,32.200391 1136 2023-04-07 00:14:50,2,5 100000 71 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-remelem,830700000,5.005727,6.025914 1137 2023-04-07 00:14:55,3,5 100 72421 -1 3 ,./perfexp--lq-tailq--stack-inslast-allhead,159326200,5.105089,32.041742 1138 2023-04-07 00:15:00,5,5 1000000 7 -1 5 ,./perfexp--lq-tailq--stack-insfirst-inselem,581000000,5.027483,8.653155 1139 2023-04-07 00:15:05,5,5 100 72421 -1 5 ,./perfexp--upp-upp--stack-inslast-allhead,159326200,5.079283,31.879772 1140 2023-04-07 00:15:10,5,5 10000 809 -1 5 ,./perfexp--cpp-stlref--stack-inslast-remelem,169890000,5.225200,30.756372 1141 2023-04-07 00:15:16,3,5 100 72421 -1 3 ,./perfexp--lq-tailq--stack-inslast-inselem,159326200,5.152960,32.342201 1142 2023-04-07 00:15:21,3,5 1000000 7 -1 3 ,./perfexp--lq-tailq--queue-inslast-remelem,777000000,5.023512,6.465266 1143 2023-04-07 00:15:26,5,5 1000000 7 -1 5 ,./perfexp--upp-upp--queue-inslast-inselem,693000000,5.042654,7.276557 1144 2023-04-07 00:15:31,1,5 10000 809 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-allhead,169890000,5.097853,30.006787 1145 2023-04-07 00:15:36,2,5 100 72421 -1 2 ,./perfexp--lq-tailq--queue-inslast-remelem,311410300,5.100699,16.379352 1146 2023-04-07 00:15:41,5,5 100 72421 -1 5 ,./perfexp--cfa-cfa--queue-inslast-inselem,137599900,5.246073,38.125558 1147 2023-04-07 00:15:46,2,5 1000 9051 -1 2 ,./perfexp--upp-upp--stack-inslast-inselem,325836000,5.127345,15.735968 1148 2023-04-07 00:15:52,4,5 1000 9051 -1 4 ,./perfexp--lq-tailq--stack-inslast-allhead,325836000,5.027188,15.428584 1149 2023-04-07 00:15:57,3,5 1000000 7 -1 3 ,./perfexp--cpp-stlref--queue-inslast-inselem,224000000,5.015171,22.389156 1150 2023-04-07 00:16:02,4,5 10000 809 -1 4 ,./perfexp--lq-tailq--stack-inslast-inselem,493490000,5.011236,10.154686 1151 2023-04-07 00:16:07,4,5 100000 71 -1 4 ,./perfexp--cfa-cfa--queue-insfirst-inselem,546700000,5.018107,9.178904 1152 2023-04-07 00:16:12,1,5 1000000 7 -1 1 ,./perfexp--upp-upp--queue-inslast-allhead,882000000,5.002161,5.671384 1153 2023-04-07 00:16:17,4,5 10000 809 -1 4 ,./perfexp--lq-tailq--stack-inslast-remelem,792820000,5.043780,6.361822 1154 2023-04-07 00:16:22,1,5 100 72421 -1 1 ,./perfexp--upp-upp--stack-inslast-remelem,318652400,5.040033,15.816711 1155 2023-04-07 00:16:27,2,5 10000 809 -1 2 ,./perfexp--lq-tailq--queue-insfirst-inselem,388320000,5.085010,13.094896 1156 2023-04-07 00:16:32,3,5 100 72421 -1 3 ,./perfexp--lq-list--stack-insfirst-remelem,333136600,5.078881,15.245641 1157 2023-04-07 00:16:37,4,5 1000000 7 -1 4 ,./perfexp--upp-upp--queue-inslast-allhead,868000000,5.019333,5.782642 1158 2023-04-07 00:16:42,4,5 100000 71 -1 4 ,./perfexp--cpp-stlref--queue-inslast-allhead,177500000,5.028223,28.328017 1159 2023-04-07 00:16:47,4,5 100000 71 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-allhead,631900000,5.013989,7.934782 1160 2023-04-07 00:16:52,5,5 1000000 7 -1 5 ,./perfexp--cpp-stlref--queue-inslast-allhead,224000000,5.103798,22.784813 1161 2023-04-07 00:16:57,3,5 100 72421 -1 3 ,./perfexp--lq-list--stack-insfirst-allhead,166568300,5.053284,30.337609 1162 2023-04-07 00:17:02,3,5 10000 809 -1 3 ,./perfexp--lq-tailq--stack-insfirst-inselem,493490000,5.046497,10.226138 1163 2023-04-07 00:17:07,4,5 1000 9051 -1 4 ,./perfexp--upp-upp--queue-inslast-allhead,334887000,5.070579,15.141164 1164 2023-04-07 00:17:12,3,5 1000 9051 -1 3 ,./perfexp--lq-tailq--queue-inslast-inselem,352989000,5.106015,14.465082 1165 2023-04-07 00:17:18,1,5 1000000 7 -1 1 ,./perfexp--cfa-cfa--stack-inslast-allhead,672000000,5.053260,7.519732 1166 2023-04-07 00:17:23,1,5 100000 71 -1 1 ,./perfexp--cpp-stlref--stack-inslast-inselem,184600000,5.086013,27.551533 1167 2023-04-07 00:17:28,3,5 100000 71 -1 3 ,./perfexp--cpp-stlref--queue-inslast-inselem,177500000,5.041333,28.401876 1168 2023-04-07 00:17:33,3,5 100000 71 -1 3 ,./perfexp--lq-tailq--queue-insfirst-remelem,944300000,5.027667,5.324226 1169 2023-04-07 00:17:38,1,5 10000 809 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-remelem,695740000,5.024660,7.222037 1170 2023-04-07 00:17:43,3,5 100 72421 -1 3 ,./perfexp--lq-tailq--queue-insfirst-allhead,130357800,5.060227,38.817984 1171 2023-04-07 00:17:48,2,5 10000 809 -1 2 ,./perfexp--cfa-cfa--queue-insfirst-allhead,453040000,5.060348,11.169760 1172 2023-04-07 00:17:53,1,5 100000 71 -1 1 ,./perfexp--lq-tailq--stack-inslast-remelem,1263800000,5.002587,3.958369 1173 2023-04-07 00:17:58,3,5 10000 809 -1 3 ,./perfexp--cpp-stlref--queue-inslast-remelem,169890000,5.032008,29.619212 1174 2023-04-07 00:18:03,3,5 10000 809 -1 3 ,./perfexp--cfa-cfa--stack-inslast-inselem,469220000,5.038856,10.738792 1175 2023-04-07 00:18:08,1,5 100000 71 -1 1 ,./perfexp--cpp-stlref--stack-inslast-allhead,184600000,5.132353,27.802562 1176 2023-04-07 00:18:13,3,5 10000 809 -1 3 ,./perfexp--lq-tailq--queue-insfirst-inselem,388320000,5.061103,13.033331 1177 2023-04-07 00:18:18,4,5 10000 809 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-inselem,169890000,5.089740,29.959032 1178 2023-04-07 00:18:23,2,5 100 72421 -1 2 ,./perfexp--upp-upp--queue-insfirst-allhead,130357800,5.096965,39.099808 1179 2023-04-07 00:18:29,1,5 1000 9051 -1 1 ,./perfexp--cpp-stlref--queue-inslast-inselem,171969000,5.103011,29.674017 1180 2023-04-07 00:18:34,3,5 1000000 7 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-inselem,658000000,5.036277,7.653916 1181 2023-04-07 00:18:39,4,5 10000 809 -1 4 ,./perfexp--cpp-stlref--stack-inslast-inselem,177980000,5.212807,29.288723 1182 2023-04-07 00:18:44,4,5 10000 809 -1 4 ,./perfexp--cfa-cfa--stack-inslast-inselem,477310000,5.072814,10.627923 1183 2023-04-07 00:18:49,4,5 100 72421 -1 4 ,./perfexp--lq-tailq--queue-inslast-remelem,311410300,5.096826,16.366915 1184 2023-04-07 00:18:54,4,5 10000 809 -1 4 ,./perfexp--cpp-stlref--stack-inslast-allhead,169890000,5.016611,29.528583 1185 2023-04-07 00:18:59,4,5 100000 71 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-remelem,937200000,5.001450,5.336588 1186 2023-04-07 00:19:04,4,5 1000000 7 -1 4 ,./perfexp--upp-upp--stack-inslast-inselem,588000000,5.027147,8.549570 1187 2023-04-07 00:19:09,2,5 100000 71 -1 2 ,./perfexp--cpp-stlref--stack-inslast-inselem,184600000,5.170569,28.009583 1188 2023-04-07 00:19:14,4,5 1000 9051 -1 4 ,./perfexp--cpp-stlref--queue-inslast-allhead,181020000,5.255817,29.034455 1189 2023-04-07 00:19:20,2,5 100000 71 -1 2 ,./perfexp--cfa-cfa--stack-inslast-allhead,603500000,5.004894,8.293114 1190 2023-04-07 00:19:25,4,5 10000 809 -1 4 ,./perfexp--upp-upp--stack-inslast-allhead,493490000,5.060646,10.254810 1191 2023-04-07 00:19:30,4,5 1000000 7 -1 4 ,./perfexp--upp-upp--stack-insfirst-remelem,609000000,5.021341,8.245223 1192 2023-04-07 00:19:35,2,5 1000 9051 -1 2 ,./perfexp--cfa-cfa--queue-inslast-inselem,334887000,5.004467,14.943748 1193 2023-04-07 00:19:40,3,5 10000 809 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-remelem,687650000,5.004454,7.277618 1194 2023-04-07 00:19:45,1,5 100 72421 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-remelem,289684000,5.114885,17.656774 1195 2023-04-07 00:19:50,2,5 10000 809 -1 2 ,./perfexp--lq-tailq--queue-inslast-inselem,485400000,5.081049,10.467756 1196 2023-04-07 00:19:55,5,5 100 72421 -1 5 ,./perfexp--upp-upp--stack-inslast-remelem,318652400,5.038741,15.812657 1197 2023-04-07 00:20:00,1,5 1000 9051 -1 1 ,./perfexp--cfa-cfa--queue-insfirst-remelem,588315000,5.013924,8.522516 1198 2023-04-07 00:20:05,5,5 1000000 7 -1 5 ,./perfexp--lq-tailq--stack-insfirst-allhead,889000000,5.011883,5.637664 1199 2023-04-07 00:20:10,1,5 10000 809 -1 1 ,./perfexp--upp-upp--stack-inslast-inselem,444950000,5.067489,11.388895 1200 2023-04-07 00:20:15,3,5 100 72421 -1 3 ,./perfexp--cpp-stlref--stack-inslast-allhead,159326200,5.066920,31.802177 1201 2023-04-07 00:20:20,3,5 100000 71 -1 3 ,./perfexp--cpp-stlref--queue-inslast-allhead,177500000,5.042851,28.410428 1202 2023-04-07 00:20:25,1,5 100 72421 -1 1 ,./perfexp--upp-upp--queue-inslast-allhead,137599900,5.041518,36.638966 1203 2023-04-07 00:20:30,1,5 1000 9051 -1 1 ,./perfexp--lq-tailq--queue-inslast-remelem,534009000,5.035769,9.430120 1204 2023-04-07 00:20:35,5,5 10000 809 -1 5 ,./perfexp--cpp-stlref--queue-inslast-allhead,169890000,5.014708,29.517382 1205 2023-04-07 00:20:40,2,5 10000 809 -1 2 ,./perfexp--cpp-stlref--queue-inslast-remelem,169890000,5.074810,29.871152 1206 2023-04-07 00:20:46,5,5 100 72421 -1 5 ,./perfexp--lq-tailq--queue-inslast-inselem,144842000,5.151741,35.568005 1207 2023-04-07 00:20:51,3,5 10000 809 -1 3 ,./perfexp--upp-upp--queue-inslast-remelem,606750000,5.015496,8.266166 1208 2023-04-07 00:20:56,3,5 1000 9051 -1 3 ,./perfexp--upp-upp--queue-inslast-allhead,334887000,5.048050,15.073891 1209 2023-04-07 00:21:01,4,5 1000000 7 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-allhead,665000000,5.000859,7.520089 1210 2023-04-07 00:21:06,2,5 1000 9051 -1 2 ,./perfexp--upp-upp--stack-insfirst-inselem,316785000,5.145817,16.243878 1211 2023-04-07 00:21:11,5,5 1000 9051 -1 5 ,./perfexp--upp-upp--queue-insfirst-inselem,307734000,5.028541,16.340544 1212 2023-04-07 00:21:16,3,5 10000 809 -1 3 ,./perfexp--upp-upp--queue-insfirst-remelem,574390000,5.000948,8.706537 1213 2023-04-07 00:21:21,3,5 1000000 7 -1 3 ,./perfexp--lq-tailq--queue-insfirst-allhead,1022000000,5.024777,4.916612 1214 2023-04-07 00:21:26,5,5 10000 809 -1 5 ,./perfexp--upp-upp--queue-inslast-allhead,493490000,5.064331,10.262277 1215 2023-04-07 00:21:31,1,5 1000000 7 -1 1 ,./perfexp--cpp-stlref--queue-inslast-inselem,224000000,5.122860,22.869911 1216 2023-04-07 00:21:36,5,5 100000 71 -1 5 ,./perfexp--lq-tailq--queue-inslast-allhead,710000000,5.003407,7.047052 1217 2023-04-07 00:21:41,4,5 1000000 7 -1 4 ,./perfexp--lq-tailq--stack-inslast-allhead,1078000000,5.014066,4.651267 1218 2023-04-07 00:21:46,4,5 1000000 7 -1 4 ,./perfexp--cpp-stlref--stack-inslast-allhead,224000000,5.121987,22.866013 1219 2023-04-07 00:21:51,2,5 10000 809 -1 2 ,./perfexp--lq-tailq--stack-insfirst-remelem,590570000,5.012351,8.487311 1220 2023-04-07 00:21:56,1,5 100000 71 -1 1 ,./perfexp--cpp-stlref--queue-inslast-remelem,177500000,5.128494,28.892924 1221 2023-04-07 00:22:02,5,5 100000 71 -1 5 ,./perfexp--cpp-stlref--queue-insfirst-inselem,184600000,5.024489,27.218250 1222 2023-04-07 00:22:07,2,5 100000 71 -1 2 ,./perfexp--lq-tailq--queue-insfirst-allhead,788100000,5.040492,6.395752 1223 2023-04-07 00:22:12,2,5 10000 809 -1 2 ,./perfexp--cfa-cfa--queue-inslast-allhead,461130000,5.072015,10.999100 1224 2023-04-07 00:22:17,5,5 100000 71 -1 5 ,./perfexp--cpp-stlref--queue-inslast-allhead,184600000,5.131083,27.795683 1225 2023-04-07 00:22:22,2,5 100 72421 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-inselem,166568300,5.142531,30.873407 1226 2023-04-07 00:22:27,4,5 100 72421 -1 4 ,./perfexp--lq-list--stack-insfirst-allhead,166568300,5.044477,30.284736 1227 2023-04-07 00:22:32,1,5 100 72421 -1 1 ,./perfexp--upp-upp--stack-inslast-inselem,159326200,5.141698,32.271516 1228 2023-04-07 00:22:37,5,5 1000 9051 -1 5 ,./perfexp--upp-upp--stack-insfirst-allhead,325836000,5.094147,15.634083 1229 2023-04-07 00:22:42,2,5 10000 809 -1 2 ,./perfexp--cfa-cfa--stack-inslast-inselem,477310000,5.069685,10.621368 1230 2023-04-07 00:22:47,5,5 100 72421 -1 5 ,./perfexp--lq-tailq--queue-insfirst-inselem,130357800,5.145580,39.472743 1231 2023-04-07 00:22:53,4,5 100000 71 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-inselem,184600000,5.108413,27.672876 1232 2023-04-07 00:22:58,2,5 100 72421 -1 2 ,./perfexp--upp-upp--stack-inslast-remelem,318652400,5.036010,15.804086 1233 2023-04-07 00:23:03,1,5 10000 809 -1 1 ,./perfexp--lq-tailq--queue-insfirst-allhead,461130000,5.085039,11.027344 1234 2023-04-07 00:23:08,2,5 100000 71 -1 2 ,./perfexp--cpp-stlref--queue-insfirst-remelem,184600000,5.172400,28.019502 1235 2023-04-07 00:23:13,2,5 100000 71 -1 2 ,./perfexp--lq-tailq--stack-insfirst-remelem,674500000,5.047846,7.483834 1236 2023-04-07 00:23:18,2,5 1000000 7 -1 2 ,./perfexp--lq-tailq--queue-insfirst-remelem,1309000000,5.005255,3.823724 1237 2023-04-07 00:23:23,4,5 1000000 7 -1 4 ,./perfexp--cfa-cfa--queue-inslast-inselem,658000000,5.016826,7.624356 1238 2023-04-07 00:23:28,4,5 1000 9051 -1 4 ,./perfexp--upp-upp--queue-inslast-remelem,515907000,5.025500,9.741097 1239 2023-04-07 00:23:33,1,5 1000000 7 -1 1 ,./perfexp--cpp-stlref--stack-insfirst-allhead,231000000,5.117156,22.152190 1240 2023-04-07 00:23:38,4,5 10000 809 -1 4 ,./perfexp--lq-tailq--stack-inslast-allhead,509670000,5.046288,9.901089 1241 2023-04-07 00:23:43,3,5 100 72421 -1 3 ,./perfexp--lq-tailq--stack-insfirst-inselem,166568300,5.221492,31.347453 1242 2023-04-07 00:23:49,1,5 100 72421 -1 1 ,./perfexp--lq-tailq--queue-insfirst-remelem,296926100,5.106445,17.197697 1243 2023-04-07 00:23:54,2,5 100 72421 -1 2 ,./perfexp--lq-tailq--stack-insfirst-remelem,333136600,5.079056,15.246166 1244 2023-04-07 00:23:59,4,5 100000 71 -1 4 ,./perfexp--cpp-stlref--queue-inslast-inselem,184600000,5.131130,27.795937 1245 2023-04-07 00:24:04,2,5 100000 71 -1 2 ,./perfexp--lq-tailq--stack-inslast-inselem,880400000,5.012434,5.693360 1246 2023-04-07 00:24:09,2,5 1000 9051 -1 2 ,./perfexp--upp-upp--queue-inslast-inselem,325836000,5.094942,15.636523 1247 2023-04-07 00:24:14,1,5 1000 9051 -1 1 ,./perfexp--lq-tailq--queue-inslast-allhead,352989000,5.061654,14.339410 1248 2023-04-07 00:24:19,5,5 100000 71 -1 5 ,./perfexp--lq-list--stack-insfirst-inselem,731300000,5.012975,6.854882 1249 2023-04-07 00:24:24,3,5 1000 9051 -1 3 ,./perfexp--upp-upp--queue-insfirst-allhead,325836000,5.139636,15.773690 1250 2023-04-07 00:24:30,1,5 1000000 7 -1 1 ,./perfexp--cfa-cfa--stack-insfirst-allhead,665000000,5.024825,7.556128 1251 2023-04-07 00:24:35,1,5 1000 9051 -1 1 ,./perfexp--cfa-cfa--stack-inslast-allhead,334887000,5.006794,14.950697 1252 2023-04-07 00:24:40,3,5 1000 9051 -1 3 ,./perfexp--cfa-cfa--queue-insfirst-allhead,334887000,5.056826,15.100096 1253 2023-04-07 00:24:45,4,5 1000 9051 -1 4 ,./perfexp--lq-tailq--queue-inslast-allhead,352989000,5.047526,14.299386 1254 2023-04-07 00:24:50,5,5 1000000 7 -1 5 ,./perfexp--upp-upp--stack-inslast-remelem,903000000,5.002012,5.539327 1255 2023-04-07 00:24:55,1,5 100000 71 -1 1 ,./perfexp--lq-tailq--queue-insfirst-remelem,894600000,5.017897,5.609096 1256 2023-04-07 00:25:00,5,5 100000 71 -1 5 ,./perfexp--cfa-cfa--queue-insfirst-inselem,546700000,5.050560,9.238266 1257 2023-04-07 00:25:05,4,5 1000000 7 -1 4 ,./perfexp--cpp-stlref--stack-insfirst-remelem,231000000,5.084063,22.008931 1258 2023-04-07 00:25:10,2,5 100 72421 -1 2 ,./perfexp--upp-upp--queue-inslast-inselem,137599900,5.086801,36.968057 1259 2023-04-07 00:25:15,2,5 10000 809 -1 2 ,./perfexp--lq-tailq--queue-insfirst-remelem,720010000,5.029074,6.984728 1260 2023-04-07 00:25:20,4,5 1000 9051 -1 4 ,./perfexp--lq-tailq--queue-inslast-remelem,534009000,5.024933,9.409828 1261 2023-04-07 00:25:25,4,5 100 72421 -1 4 ,./perfexp--cfa-cfa--stack-insfirst-allhead,159326200,5.104904,32.040581 1262 2023-04-07 00:25:30,3,5 10000 809 -1 3 ,./perfexp--upp-upp--queue-inslast-inselem,444950000,5.013109,11.266679 1263 2023-04-07 00:25:35,3,5 100000 71 -1 3 ,./perfexp--cpp-stlref--stack-inslast-remelem,177500000,5.116110,28.823155 1264 2023-04-07 00:25:41,2,5 10000 809 -1 2 ,./perfexp--cfa-cfa--stack-insfirst-inselem,477310000,5.017041,10.511075 1265 2023-04-07 00:25:46,5,5 100 72421 -1 5 ,./perfexp--lq-tailq--queue-insfirst-allhead,130357800,5.060870,38.822917 1266 2023-04-07 00:25:51,3,5 1000 9051 -1 3 ,./perfexp--upp-upp--stack-insfirst-inselem,307734000,5.017423,16.304416 1267 2023-04-07 00:25:56,2,5 100 72421 -1 2 ,./perfexp--cfa-cfa--queue-inslast-remelem,289684000,5.096670,17.593895 1268 2023-04-07 00:26:01,1,5 1000000 7 -1 1 ,./perfexp--lq-tailq--stack-insfirst-inselem,581000000,5.003206,8.611370 1269 2023-04-07 00:26:06,3,5 100000 71 -1 3 ,./perfexp--cfa-cfa--stack-inslast-remelem,1015300000,5.026273,4.950530 1270 2023-04-07 00:26:11,3,5 100 72421 -1 3 ,./perfexp--upp-upp--stack-insfirst-allhead,159326200,5.149416,32.319957 1271 2023-04-07 00:26:16,4,5 1000 9051 -1 4 ,./perfexp--lq-tailq--stack-inslast-inselem,316785000,5.019917,15.846448 1272 2023-04-07 00:26:21,4,5 10000 809 -1 4 ,./perfexp--cfa-cfa--queue-inslast-remelem,687650000,5.023642,7.305522 1273 2023-04-07 00:26:26,4,5 100000 71 -1 4 ,./perfexp--upp-upp--stack-insfirst-allhead,788100000,5.021043,6.371073 1274 2023-04-07 00:26:31,3,5 100000 71 -1 3 ,./perfexp--lq-tailq--stack-inslast-remelem,1320600000,5.018016,3.799800 1275 2023-04-07 00:26:36,3,5 100000 71 -1 3 ,./perfexp--upp-upp--queue-inslast-remelem,667400000,5.007560,7.503087
Note:
See TracChangeset
for help on using the changeset viewer.