base:comparison_of_6502_random_generators
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
base:comparison_of_6502_random_generators [2021-11-12 01:58] – wording: good -> medium wil | base:comparison_of_6502_random_generators [2021-11-12 13:03] – updated execution time model wil | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Comparison of 6502 random generators ====== | + | ====== Comparison of 6502 pseudo |
This is an overview of the main properties of eight algorithms here on codebase. | This is an overview of the main properties of eight algorithms here on codebase. | ||
- | Each algorithm was implemented as stated in the linked articles. Code size, execution time was measured. Execution | + | Each algorithm was implemented as stated in the linked articles. Code size, execution time was measured. Execution |
- | Many PRNGs have a problem when the internal state becomes 0. Since this might be an important feature, it was stated | + | Many PRNGs have a problem when the internal state becomes 0. Since this might be an important feature, it was stated which algorithms can also eventually output and handle a 0. |
- | which algorithms can also eventually output and handle a 0. | + | |
The quality was assessed by a test if the low byte hits all 256 numbers for 2000 random numbers and by a graphical check of the plot of 51200 random values. | The quality was assessed by a test if the low byte hits all 256 numbers for 2000 random numbers and by a graphical check of the plot of 51200 random values. | ||
Line 13: | Line 12: | ||
| ^ result size ^ execution cycles | | ^ result size ^ execution cycles | ||
- | ^ [[16bit xorshift random generator|798 Xorshift]] | 16bit | 42 | 21 | stuck | high | {{: | + | ^ [[16bit xorshift random generator|798 Xorshift]] | 16bit | 30 | 21 | stuck | high | {{: |
- | ^ [[X ABC Random Number Generator (8/16 bit)|X ABC]] | 16bit | 50 | 28 | handled | high | {{: | + | ^ [[X ABC Random Number Generator (8/16 bit)|X ABC]] | 16bit | 38 | 28 | handled | high | {{: |
- | ^ [[Small, fast 16-bit PRNG|Whiteflame16]] | 16bit | 42* | 35 | handled | medium (some horizontal dashes visible) | + | ^ [[Small, fast 16-bit PRNG|Whiteflame16]] | 16bit | 30* | 35 | handled | medium (some horizontal dashes visible) |
- | ^ [[32bit Galois LFSR|Galois LFSR]] | + | ^ [[32bit Galois LFSR|Galois LFSR]] |
- | ^ [[Two very fast 16bit pseudo random generators as LFSR|Two16 PRG LSFR]] | + | ^ [[Two very fast 16bit pseudo random generators as LFSR|Two16 PRG LSFR]] |
- | ^ [[another 16bit pseudo random generator|another 16bit PRG]] | 16bit | 42 | 21 | stuck | low | {{: | + | ^ [[another 16bit pseudo random generator|another 16bit PRG]] | 16bit | 30 | 21 | stuck | low | {{: |
- | ^ [[16bit pseudo random generator|16bit PRG]] | 16bit | 81 | 49 | stuck | low | {{: | + | ^ [[16bit pseudo random generator|16bit PRG]] | 16bit | 69 | 49 | stuck | low | {{: |
- | ^ [[Small, fast 8-bit PRNG|Whiteflame8]] | + | ^ [[Small, fast 8-bit PRNG|Whiteflame8]] |
* implementation has branches, execution time varies | * implementation has branches, execution time varies | ||
base/comparison_of_6502_random_generators.txt · Last modified: 2021-11-28 00:15 by wil