Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							d75f0ba437 
							
						 
					 
					
						
						
							
							[yul-phaser] Chromosome: Make it possible to use genes that do not correspond to existing optimiser steps  
						
						
						
					 
					
						2020-09-14 16:17:39 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							47f5ee42c9 
							
						 
					 
					
						
						
							
							[yul-phaser] isFitter(): Switch from toString() to genes() to make chromosome comparisons a tiny bit faster  
						
						... 
						
						
						
						- toString() uses a stream for conversion while genes() returns a direct reference to the string, without copies in between. The speed up is very small compared to the improvement from switching to storing a string of abbreviations instead of a vector of step names inside chromosomes but there's basically no downside to this change so it's still worth it. 
						
					 
					
						2020-09-11 23:09:51 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							952a9c6115 
							
						 
					 
					
						
						
							
							[yul-phaser] Chromosome: store step abbreviations instead of full names  
						
						
						
					 
					
						2020-09-11 22:05:56 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							2a707e7685 
							
						 
					 
					
						
						
							
							[yul-phaser] Chromosome: Add stepsToGenes() and genesToSteps()  
						
						
						
					 
					
						2020-09-11 22:05:56 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							9be5ed1220 
							
						 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/develop' into breaking  
						
						
						
					 
					
						2020-07-21 11:35:28 +02:00 
						 
				 
			
				
					
						
							
							
								Sachin Grover 
							
						 
					 
					
						
						
						
						
							
						
						
							b7adb2aa42 
							
						 
					 
					
						
						
							
							Add SPDX license identifier if not present already in source file  
						
						... 
						
						
						
						Fixes : #9220  
					
						2020-07-17 20:24:12 +05:30 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							6b3171c38b 
							
						 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/develop' into breaking  
						
						
						
					 
					
						2020-06-10 11:30:50 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							8f55ead48d 
							
						 
					 
					
						
						
							
							yul-phaser: Switch from uint32_t to size_t in SimulationRNG  
						
						... 
						
						
						
						- Also pass the appriopriate type internally to the distribution instead of relying on the default (which is uint32_t) 
						
					 
					
						2020-06-04 17:19:42 +02:00 
						 
				 
			
				
					
						
							
							
								Djordje Mijovic 
							
						 
					 
					
						
						
						
						
							
						
						
							a49a127627 
							
						 
					 
					
						
						
							
							yul-phaser: Use ptrdiff_t for iterator arithmetic  
						
						
						
					 
					
						2020-06-04 17:17:40 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							74b9b094c0 
							
						 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/develop' into HEAD  
						
						
						
					 
					
						2020-05-20 17:22:47 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							1fa689e951 
							
						 
					 
					
						
						
							
							[yul-phaser] ProgramCache::calculateTotalCachedCodeSize(): Replace default weights with ones that better correlate with memory usage  
						
						
						
					 
					
						2020-05-20 16:47:23 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							bff012c76d 
							
						 
					 
					
						
						
							
							[yul-phaser] Change default metric weights so that everything has a cost  
						
						... 
						
						
						
						- The CodeSize::DefaultWeights gives zeros to instructions that it assumes will be optimised out. Obviously, we cannot make this assumption here since phaser is meant to find the best way for the optimiser to work. 
						
					 
					
						2020-05-20 16:47:23 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							b776021870 
							
						 
					 
					
						
						
							
							[yul-phaser] Command-line options for altering weights used by CodeSize metric  
						
						
						
					 
					
						2020-05-20 16:47:23 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							40dfac7683 
							
						 
					 
					
						
						
							
							[yul-phaser] Require specifying weights for Program::codeSize()  
						
						
						
					 
					
						2020-05-20 16:47:23 +02:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							4a001d568e 
							
						 
					 
					
						
						
							
							Removed null members from JSON output  
						
						
						
					 
					
						2020-05-20 16:56:33 +05:30 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							e8aec6de54 
							
						 
					 
					
						
						
							
							More information about --yul-optimizations option in READMEs and docs  
						
						
						
					 
					
						2020-05-08 22:29:57 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							5d4b9022f0 
							
						 
					 
					
						
						
							
							yul-phaser README: --no-optimize-yul options is not really necessary  
						
						
						
					 
					
						2020-05-08 22:05:04 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							ee915008bd 
							
						 
					 
					
						
						
							
							[yul-phaser] README  
						
						
						
					 
					
						2020-04-24 17:31:50 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							163e35dd23 
							
						 
					 
					
						
						
							
							[yul-phaser] Tweak default values according to experiment results  
						
						... 
						
						
						
						- Long chromosomes in the intial population are better. Set minimum and maximum to 100.
- The classic algorithm does not work well without elite. 50% performed better but I think it might be too large. Let's set it to 25%.
- Switch to uniform crossover since this is what was used in most experiments and performed well. 
						
					 
					
						2020-04-24 17:31:50 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							35395a4b9c 
							
						 
					 
					
						
						
							
							[yul-phaser] Phaser: Missing word in --metric-aggregator option description  
						
						
						
					 
					
						2020-04-24 17:31:50 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							424edecd21 
							
						 
					 
					
						
						
							
							[yul-phaser] Phaser: List all available values of enum options in --help  
						
						
						
					 
					
						2020-04-24 17:31:50 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							e19d8d1fa3 
							
						 
					 
					
						
						
							
							[yul-phaser] GeneticAlgorithm::runNextRound(): Fix outdated docstring  
						
						
						
					 
					
						2020-04-24 17:31:50 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							c2effd4e98 
							
						 
					 
					
						
						
							
							[yul-phaser] Mutations: Minor style tweak, missing space in the ternary operator  
						
						
						
					 
					
						2020-04-20 15:30:10 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							d9e2735361 
							
						 
					 
					
						
						
							
							[yul-phaser] Add options for selecting crossover operator used by the algorithms  
						
						
						
					 
					
						2020-04-20 15:30:10 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							ad89b477c8 
							
						 
					 
					
						
						
							
							[yul-phaser] GeneticAlgorithms: Add methods for selecting a crossover operator  
						
						
						
					 
					
						2020-04-20 15:30:10 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							1ada2a52fb 
							
						 
					 
					
						
						
							
							[yul-phaser] Mutations: Add two-point and uniform crossover operators  
						
						
						
					 
					
						2020-04-20 15:30:10 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							703b6efb55 
							
						 
					 
					
						
						
							
							Merge pull request  #8515  from imapp-pl/yul-phaser-classic-genetic-algorithm  
						
						... 
						
						
						
						[yul-phaser] Classic genetic algorithm 
						
					 
					
						2020-04-15 12:01:51 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							823a119117 
							
						 
					 
					
						
						
							
							Merge pull request  #8570  from aarlt/clang-tidy-apply-modernize-use-emplace  
						
						... 
						
						
						
						clang-tidy: Apply modernize-use-emplace. 
						
					 
					
						2020-04-07 17:28:50 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							0efea99fa5 
							
						 
					 
					
						
						
							
							[yul-phaser] Phaser: Allow selecting the classic algorithm on the command line  
						
						
						
					 
					
						2020-04-06 19:06:08 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							f6783c60b2 
							
						 
					 
					
						
						
							
							[yul-phaser] GeneticAlgorithms: Add ClassicGeneticAlgorithm  
						
						
						
					 
					
						2020-04-06 19:06:08 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							879f6e17e9 
							
						 
					 
					
						
						
							
							[yul-phaser] GenerationalElitistWithExclusivePools: Refactor runNextRound() for less nesting and more readability  
						
						
						
					 
					
						2020-04-06 19:06:08 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							8c86a4983d 
							
						 
					 
					
						
						
							
							[yul-phaser] Population: Add combine()  
						
						
						
					 
					
						2020-04-06 19:06:08 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							ef8d0888af 
							
						 
					 
					
						
						
							
							[yul-phaser] Population: Add symmetricCrossoverWithRemainder()  
						
						
						
					 
					
						2020-04-06 19:06:08 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							59011fcde6 
							
						 
					 
					
						
						
							
							[yul-phaser] Mutations: Add mutationSequence()  
						
						
						
					 
					
						2020-04-06 19:06:08 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							0837a62d5c 
							
						 
					 
					
						
						
							
							[yul-phaser] Mutations: Add symmetricRandomPointCrossover()  
						
						
						
					 
					
						2020-04-06 19:06:08 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							b6f8ecf755 
							
						 
					 
					
						
						
							
							[yul-phaser] Selections+PairSelections: Add RandomSubset and PairsFromRandomSubset  
						
						
						
					 
					
						2020-04-06 19:06:08 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							7381068dcc 
							
						 
					 
					
						
						
							
							[yul-phaser] Make the Population constructor that takes individuals public and use it to speed up some operations  
						
						
						
					 
					
						2020-04-06 19:06:08 +02:00 
						 
				 
			
				
					
						
							
							
								Alexander Arlt 
							
						 
					 
					
						
						
						
						
							
						
						
							90bb1d8a7c 
							
						 
					 
					
						
						
							
							Apply modernize-use-emplace.  
						
						
						
					 
					
						2020-04-02 17:35:48 -05:00 
						 
				 
			
				
					
						
							
							
								Alexander Arlt 
							
						 
					 
					
						
						
						
						
							
						
						
							616fd8df1e 
							
						 
					 
					
						
						
							
							Apply modernize-use-nullptr.  
						
						
						
					 
					
						2020-04-01 12:46:19 -05:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ff35bf69de 
							
						 
					 
					
						
						
							
							Merge pull request  #8539  from random-internet-cat/population-op-plus  
						
						... 
						
						
						
						Convert operator+(Population, Population) into a hidden friend 
						
					 
					
						2020-03-30 16:22:57 +02:00 
						 
				 
			
				
					
						
							
							
								Jason Cobb 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c184844932 
							
						 
					 
					
						
						
							
							Remove forward declaration of class Population  
						
						
						
					 
					
						2020-03-26 18:57:43 -04:00 
						 
				 
			
				
					
						
							
							
								Jason Cobb 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e16c0c4133 
							
						 
					 
					
						
						
							
							Convert operator+(Population, Population) into a hidden friend  
						
						
						
					 
					
						2020-03-25 23:54:30 -04:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							e41ea6d25e 
							
						 
					 
					
						
						
							
							[yul-phaser] Add --show-seed option and don't print seed by default  
						
						
						
					 
					
						2020-03-25 10:21:18 +01:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							3f524ccfe5 
							
						 
					 
					
						
						
							
							[yul-phaser] Population: Print individuals in a more compact way  
						
						
						
					 
					
						2020-03-25 10:21:18 +01:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							10e8d3616c 
							
						 
					 
					
						
						
							
							[yul-phaser] AlgorithmRunner: Print total time when showing only the top chromosome  
						
						
						
					 
					
						2020-03-25 10:21:18 +01:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							58e3fca3de 
							
						 
					 
					
						
						
							
							[yul-phaser] AlgorithmRunner: Measure CPU time rather than wall-clock time  
						
						
						
					 
					
						2020-03-25 10:21:18 +01:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							cd16a6e178 
							
						 
					 
					
						
						
							
							[yul-phaser] Add --show-cache-stats option  
						
						
						
					 
					
						2020-03-25 10:21:18 +01:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							3e35decf2b 
							
						 
					 
					
						
						
							
							[yul-phaser] ProgramCache: Add ability to gather cache stats  
						
						
						
					 
					
						2020-03-25 10:21:18 +01:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							d33ba54a38 
							
						 
					 
					
						
						
							
							[yul-phaser] Add print-optimised-programs and print-optimised-asts modes  
						
						
						
					 
					
						2020-03-25 10:21:18 +01:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							1272a9335c 
							
						 
					 
					
						
						
							
							[yul-phaser] Add --mode option  
						
						
						
					 
					
						2020-03-25 10:21:18 +01:00