Anonymous user
Elementary cellular automaton/Random number generator: Difference between revisions
Elementary cellular automaton/Random number generator (view source)
Revision as of 10:33, 1 August 2019
, 4 years ago→{{header|Pascal}}: counting cpu-cycles on TryItOnline via RDTSC , only 3.2 GHZ on Ryzen
m (→{{header|Pascal}}: changed, so that the output ist comparable to C and GO -> 44 at 2000000) |
m (→{{header|Pascal}}: counting cpu-cycles on TryItOnline via RDTSC , only 3.2 GHZ on Ryzen) |
||
Line 308:
=={{header|Pascal}}==
{{Works with|Free Pascal}}
Using ROR and ROL is nearly as fast as assembler and more portable.<BR>[https://tio.run/##7VVdb@JGFH33r7gPkYCuwXYSrVa4VGLB7FoC2wtOu21VRY49wGiNx5oZh02j/PXSOx7MR8L@gtYPYM8599yPuXOnTESa5N1lme52EWcrnmxgXuXkxnYNy1pLWfYtixS9Lf1GS5LRpMf4ylJfVkC@y/uFTCS5Vxb3ZyabRK63jOdZb8vyJar2UraxtHJvLTe58XzlT8beBCbR6MUAeL6asYzAmOTlmr48Xw0Xs1k49sAPYm@qCWEU@zP/j2HshwGEgTmcImBZChohdTj1PwVQcpYOPpjTMIwGzgt68aYLT9sPoyj@PfJgFAaLcOrVYDD2Jy9GJYhAyuJJ3EmaC9dIWSEkrmyS73NWFZmAAVz/5Ni2Xf@4CHG9js8AHFwxHhOOijqKm2vlUqerawR9uKOFfH@LzGVVpJKyAj4ROYru7mO6IX3Yo/KpJGgbj8oKlTlJGc8MOHk@U4TMs6UpU@w@jLHkmXuESIFfKi4AJEhkKFnXeCArWuBiIjYqzHG8GCmrWfirloBIcvgTqXGvlv7L9IZff0Cow0HCWBFqhwBbKtfaY8bqaDgRVY7@BzrLNhpFdx0Q6xxLBe90Aq5RmxtqC0lWcQJ@QeVpEV1a5LQgxwROQRR33kpc6NJGRBeGV4WJXUMezQKpx11qXCAOKvCzOHA9QpN6PZx/USVpKyGnoyAlpKHpa@isJRSnXZPDufLTga/4omJp8jh0ikpD2358wlSDRNJH4hfSNT42ceoSK03dn4eSt/XrO/3XUc7aZ3EMgzFgeJcO9P86/02d18doURKSSSJkc2xix4xtHCh@UJ8WANqHC1255VSSvGi3DgKwZByE8ibo3wTYElrm@1uzBQ9UilZ9SCzrt4RvoCoVj0uIK/7AFBOHBsITFKAqQcc@juSug7NmW0gGdjN0LuWFwJuhorKxld7JOHb3frSjwzXwAy/Hk1mLORfEmkKc0zunUCt9SnMioCQcFIjVbZnt2OlKu2MdQujb/etTs7d7FSfiW7NNtL5XyIrwC3sSrwlIJIMu@6XCHGvgAGa9v/T2qddCrzLq314KrnFdd0FctxHs42xkWvCzh3f9/BcVDSdJtrfu7Xb/pMs8WYldN7zZdReP/wI Try it online!] counting CPU-Cycles 64 vs 76 one Ryzen Zen1
<lang pascal>Program Rule30;
//http://en.wikipedia.org/wiki/Next_State_Rule_30;
Line 324:
maxRounds = 2*1000*1000;
rounds = 10;
CpuF = 3.
var
Line 381:
procedure Task;
var
Begin
writeln('The task ');
InitRule30_State;
For
write(NextRule30Byte);
writeln;
Line 401:
44
2000000 calls take 00:00:00.049
cycles per Byte :
The task
Line 411:
44
2000000 calls take 00:00:00.108
cycles per Byte :
The task
|