Coder Social home page Coder Social logo

avaneev / prvhash Goto Github PK

View Code? Open in Web Editor NEW
297.0 297.0 22.0 10.06 MB

PRVHASH - Pseudo-Random-Value Hash. Hash functions, PRNG with unlimited period, randomness extractor, and a glimpse into abyss. (inline C/C++) (Codename Gradilac/Градилак)

License: MIT License

C 73.30% C++ 13.08% Python 13.62%
cellular-automata hash hash-algorithm hash-function hash-functions hashing hashing-algorithm hashing-algorithms prng prng-algorithms prng-methods pseudo-random pseudo-random-generator pseudorandom random random-number-generators random-numbers

prvhash's People

Contributors

avaneev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

prvhash's Issues

[Question] What is the license of PRVHASH algorithm (not the code in this repository)?

Chacha20 is a stream cipher with a public domain license, but many implementations of it in Github have their own licenses such as MIT or GPL.

There is also this statement in the repository:

"PRVHASH "computer program" authorship and copyright were registered at the [Russian Patent Office](https://rospatent.gov.ru/en), under reg.numbers 2020661136, 2020666287, 2021615385, 2021668070, 2022612987 (searchable via [fips.ru](https://new.fips.ru/en/)). Please note that these are not "invention patents"; the registrations assure you that the author has the required rights to grant the software license to you."

I'm little confused about the PRVHASH license. What is the license of PRVHASH itself (not the code in this repository)? It it MIT too?

@avaneev
I mailed you about this question but I deleted a list of messages by accident and maybe the reply was gone.

Thanks.

Any noise will appear to contain patterns if patterns are looked for

If you listen to empty white noise long enough you might begin to hear voices or sounds in the static. Any program designed to look for repeating patterns or complexity occuring in, what should be, random noise is going to find "something" there, because noise is noise

Feedback, benchmarking PRVhash versus SHA3, WY, XXH3, iSCSI CRC32

Hi Aleksey,
thanks for your work, appreciate your nifty etude despite not understanding how it works.

Thought it would be fun to compare your superstong PRVhash vs my superweak FNV1A-Pippip, sadly no available machine at the moment, yet, I uploaded a .C source which includes your hash in order to compare it against Hardware CRC32C, SHA3, WY, XXH3, XXH64 within the same codepath and the same compiler and options, to be fair, that is.

Allow me to include your function in my amateurish 'Lookuperorama' benchmark, have done it a year ago, it is compileable with Intel C, also with GCC, so will be glad if you yourself take a shot at it. My two 16GB laptops are crunching, pausing may be problematic.
The download link is at:
Lookuperorama.c_r8.zip (7,489,752 bytes): https://drive.google.com/file/d/1ltloR3nCP0zUUA_oN4muqofwdDArO-KK/view?usp=sharing

You see, hashing all positions of a given file with some fixed length is a good idea to measure collisions.
Here comes 'BENCHMARK.bat' it runs all hashers for a given file.

A quick dirty benchmark (on my 32 bit Windows, Core 2) with Gulyakovskiyi_E._Dolgiyi_Voshod_Na_Yenne.html (570,901 bytes) in chunks a.k.a. Building-Blocks, (Slots=1<<Bits): 20, meaning 10x2^20 total slots in 10 hashtables or 10 x 1,048,576:

Note1: RAW (i.e. 'ON THE FLY') Hashing Speed is given - one order at a time, without touching any SLOTS (uncached RAM).
Note2: Last column contains CUMULATIVE Collisions i.e. TOTAL ones.
Note3: The 570 million are due to the time was under 1 clock, not a bug - just the bench needs bigger files.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Hasher / Speed in Keys/s for     |     4 bytes |     6 bytes |     8 bytes |    10 bytes |    12 bytes |    14 bytes |    16 bytes |    18 bytes |    36 bytes |    64 bytes | Total Collisions |
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SHA3-224 (Intel v15.0)           |      28,587 |      28,632 |      28,453 |      28,543 |      28,543 |      28,299 |      28,587 |      28,565 |      28,587 |      28,607 |          899,364 |
| PRVhash (Intel v15.0)            |  33,582,235 |  17,840,500 |  17,840,437 |  12,146,638 |   8,920,156 |   8,920,125 |   7,226,405 |   6,009,305 |   3,299,803 |   1,823,763 |          898,908 |
| WYHASH (Intel v15.0)             |  35,681,125 |  33,582,117 |  33,582,000 |  33,581,882 |  35,680,625 |  33,581,647 |  33,581,529 |  17,299,515 |  11,893,041 |   8,919,343 |          898,534 |
| XXH3 (Intel v15.0)               | 570,898,000 | 570,896,000 | 570,894,000 | 570,892,000 | 570,890,000 | 570,888,000 | 570,886,000 |  35,680,250 |  17,839,562 |  17,838,687 |          899,046 |
| FNV1A-Pippip-Yurii (Intel v15.0) | 570,898,000 | 570,896,000 | 570,894,000 | 570,892,000 | 570,890,000 | 570,888,000 | 570,886,000 | 570,884,000 |  33,580,352 |  33,578,705 |          899,286 |
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

The hash scanner - hashing in one pass all orders - TESTING CUMULATIVE PERFORMANCE, without touching any SLOTS (uncached RAM):
SHA3-224 (Intel v15.0)           : RAW Hashing Speed for keys 4,6,8,10,12,14,16,18,36,64 bytes long =     26,566 KEYS-PER-SECOND; all in 200,204 clocks
PRVhash (Intel v15.0)            : RAW Hashing Speed for keys 4,6,8,10,12,14,16,18,36,64 bytes long =  5,075,124 KEYS-PER-SECOND; all in    1048 clocks
WYHASH (Intel v15.0)             : RAW Hashing Speed for keys 4,6,8,10,12,14,16,18,36,64 bytes long = 14,774,250 KEYS-PER-SECOND; all in     360 clocks
XXH3 (Intel v15.0)               : RAW Hashing Speed for keys 4,6,8,10,12,14,16,18,36,64 bytes long = 26,072,205 KEYS-PER-SECOND; all in     204 clocks
FNV1A-Pippip-Yurii (Intel v15.0) : RAW Hashing Speed for keys 4,6,8,10,12,14,16,18,36,64 bytes long = 48,352,090 KEYS-PER-SECOND; all in     110 clocks

And the actual console dump, if you can increase 20 (which is hashtable in bits) and 1200 (which is RAM needed for B-trees in MB):

E:\Lookuperorama.c_r8>BENCHMARK.bat Gulyakovskiyi_E._Dolgiyi_Voshod_Na_Yenne.html

E:\Lookuperorama.c_r8>Lookuperorama_ICC-V15.0_PRV_32bit.exe "Gulyakovskiyi_E._Dolgiyi_Voshod_Na_Yenne.html" x 20 1200 i

RAW Hashing Speed for key 570,901 bytes long = 118,591,815 118,591,815 118,616,455 118,616,455 118,616,455 | 118,616,455 BYTES-PER-SECOND
RAW Hashing Speed for keys 04 bytes long = 33,582,235 KEYS-PER-SECOND; all in 17 clocks
RAW Hashing Speed for keys 06 bytes long = 17,840,500 KEYS-PER-SECOND; all in 32 clocks
RAW Hashing Speed for keys 08 bytes long = 17,840,437 KEYS-PER-SECOND; all in 32 clocks
RAW Hashing Speed for keys 10 bytes long = 12,146,638 KEYS-PER-SECOND; all in 47 clocks
RAW Hashing Speed for keys 12 bytes long = 8,920,156 KEYS-PER-SECOND; all in 64 clocks
RAW Hashing Speed for keys 14 bytes long = 8,920,125 KEYS-PER-SECOND; all in 64 clocks
RAW Hashing Speed for keys 16 bytes long = 7,226,405 KEYS-PER-SECOND; all in 79 clocks
RAW Hashing Speed for keys 18 bytes long = 6,009,305 KEYS-PER-SECOND; all in 95 clocks
RAW Hashing Speed for keys 36 bytes long = 3,299,803 KEYS-PER-SECOND; all in 173 clocks
RAW Hashing Speed for keys 64 bytes long = 1,823,763 KEYS-PER-SECOND; all in 313 clocks
The hash scanner - hashing in one pass all orders - TESTING CUMULATIVE PERFORMANCE...
RAW Hashing Speed for keys 4,6,8,10,12,14,16,18,36,64 bytes long = 5,075,124 KEYS-PER-SECOND; all in 1048 clocks
Leprechaun: Inserting keys/BBs of order 004 into B-trees, free RAM in B-tree pool is 00,001,200 MB; Pass #001 of 1 ... DONE; 00,000,044,950 B-trees have been rooted so far; HashtableS_Utilization = 000%; Keys/s = 005,189,981
Leprechaun: Inserting keys/BBs of order 006 into B-trees, free RAM in B-tree pool is 00,001,197 MB; Pass #001 of 1 ... DONE; 00,000,233,443 B-trees have been rooted so far; HashtableS_Utilization = 002%; Keys/s = 003,636,280
Leprechaun: Inserting keys/BBs of order 008 into B-trees, free RAM in B-tree pool is 00,001,188 MB; Pass #001 of 1 ... DONE; 00,000,543,034 B-trees have been rooted so far; HashtableS_Utilization = 005%; Keys/s = 003,299,965
Leprechaun: Inserting keys/BBs of order 010 into B-trees, free RAM in B-tree pool is 00,001,170 MB; Pass #001 of 1 ... DONE; 00,000,915,081 B-trees have been rooted so far; HashtableS_Utilization = 008%; Keys/s = 003,036,659
Leprechaun: Inserting keys/BBs of order 012 into B-trees, free RAM in B-tree pool is 00,001,146 MB; Pass #001 of 1 ... DONE; 00,001,319,870 B-trees have been rooted so far; HashtableS_Utilization = 012%; Keys/s = 002,798,480
Leprechaun: Inserting keys/BBs of order 014 into B-trees, free RAM in B-tree pool is 00,001,119 MB; Pass #001 of 1 ... DONE; 00,001,741,700 B-trees have been rooted so far; HashtableS_Utilization = 016%; Keys/s = 002,594,945
Leprechaun: Inserting keys/BBs of order 016 into B-trees, free RAM in B-tree pool is 00,001,089 MB; Pass #001 of 1 ... DONE; 00,002,171,294 B-trees have been rooted so far; HashtableS_Utilization = 020%; Keys/s = 002,429,302
Leprechaun: Inserting keys/BBs of order 018 into B-trees, free RAM in B-tree pool is 00,001,056 MB; Pass #001 of 1 ... DONE; 00,002,605,134 B-trees have been rooted so far; HashtableS_Utilization = 024%; Keys/s = 002,274,438
Leprechaun: Inserting keys/BBs of order 036 into B-trees, free RAM in B-tree pool is 00,001,021 MB; Pass #001 of 1 ... DONE; 00,003,044,803 B-trees have been rooted so far; HashtableS_Utilization = 029%; Keys/s = 001,654,684
Leprechaun: Inserting keys/BBs of order 064 into B-trees, free RAM in B-tree pool is 00,000,969 MB; Pass #001 of 1 ... DONE; 00,003,485,119 B-trees have been rooted so far; HashtableS_Utilization = 033%; Keys/s = 001,070,990

Leprechaun: (Total Hashing Speed) plus Searches-n-Inserts Per Second: 1,902,944 SNIPS

Number Of Bits (Slots=1<<Bits): 20
Number Of Hash Collisions(Distinct WORDs - Number Of Trees): 898,908
Number Of Trees(GREATER THE BETTER): 3,485,119
Number Of LEAFs(littler THE BETTER) not counting ROOT LEAFs: 242,400
Highest Tree not counting ROOT Level i.e. CORONA levels(littler THE BETTER): 2

E:\Lookuperorama.c_r8>Lookuperorama_ICC-V15.0_SHA3_32bit.exe "Gulyakovskiyi_E._Dolgiyi_Voshod_Na_Yenne.html" x 20 1200 i

RAW Hashing Speed for key 570,901 bytes long = 4,530,960 4,530,960 4,530,960 4,020,429 4,530,960 | 4,530,960 BYTES-PER-SECOND
RAW Hashing Speed for keys 04 bytes long = 28,587 KEYS-PER-SECOND; all in 19970 clocks
RAW Hashing Speed for keys 06 bytes long = 28,632 KEYS-PER-SECOND; all in 19939 clocks
RAW Hashing Speed for keys 08 bytes long = 28,453 KEYS-PER-SECOND; all in 20064 clocks
RAW Hashing Speed for keys 10 bytes long = 28,543 KEYS-PER-SECOND; all in 20001 clocks
RAW Hashing Speed for keys 12 bytes long = 28,543 KEYS-PER-SECOND; all in 20001 clocks
RAW Hashing Speed for keys 14 bytes long = 28,299 KEYS-PER-SECOND; all in 20173 clocks
RAW Hashing Speed for keys 16 bytes long = 28,587 KEYS-PER-SECOND; all in 19970 clocks
RAW Hashing Speed for keys 18 bytes long = 28,565 KEYS-PER-SECOND; all in 19985 clocks
RAW Hashing Speed for keys 36 bytes long = 28,587 KEYS-PER-SECOND; all in 19969 clocks
RAW Hashing Speed for keys 64 bytes long = 28,607 KEYS-PER-SECOND; all in 19954 clocks
The hash scanner - hashing in one pass all orders - TESTING CUMULATIVE PERFORMANCE...
RAW Hashing Speed for keys 4,6,8,10,12,14,16,18,36,64 bytes long = 26,566 KEYS-PER-SECOND; all in 200204 clocks
Leprechaun: Inserting keys/BBs of order 004 into B-trees, free RAM in B-tree pool is 00,001,200 MB; Pass #001 of 1 ... DONE; 00,000,044,929 B-trees have been rooted so far; HashtableS_Utilization = 000%; Keys/s = 000,028,366
Leprechaun: Inserting keys/BBs of order 006 into B-trees, free RAM in B-tree pool is 00,001,197 MB; Pass #001 of 1 ... DONE; 00,000,233,534 B-trees have been rooted so far; HashtableS_Utilization = 002%; Keys/s = 000,028,300
Leprechaun: Inserting keys/BBs of order 008 into B-trees, free RAM in B-tree pool is 00,001,188 MB; Pass #001 of 1 ... DONE; 00,000,543,036 B-trees have been rooted so far; HashtableS_Utilization = 005%; Keys/s = 000,028,409
Leprechaun: Inserting keys/BBs of order 010 into B-trees, free RAM in B-tree pool is 00,001,170 MB; Pass #001 of 1 ... DONE; 00,000,915,267 B-trees have been rooted so far; HashtableS_Utilization = 008%; Keys/s = 000,028,411
Leprechaun: Inserting keys/BBs of order 012 into B-trees, free RAM in B-tree pool is 00,001,146 MB; Pass #001 of 1 ... DONE; 00,001,320,039 B-trees have been rooted so far; HashtableS_Utilization = 012%; Keys/s = 000,028,454
Leprechaun: Inserting keys/BBs of order 014 into B-trees, free RAM in B-tree pool is 00,001,119 MB; Pass #001 of 1 ... DONE; 00,001,742,076 B-trees have been rooted so far; HashtableS_Utilization = 016%; Keys/s = 000,028,388
Leprechaun: Inserting keys/BBs of order 016 into B-trees, free RAM in B-tree pool is 00,001,089 MB; Pass #001 of 1 ... DONE; 00,002,172,100 B-trees have been rooted so far; HashtableS_Utilization = 020%; Keys/s = 000,028,365
Leprechaun: Inserting keys/BBs of order 018 into B-trees, free RAM in B-tree pool is 00,001,056 MB; Pass #001 of 1 ... DONE; 00,002,605,583 B-trees have been rooted so far; HashtableS_Utilization = 024%; Keys/s = 000,028,431
Leprechaun: Inserting keys/BBs of order 036 into B-trees, free RAM in B-tree pool is 00,001,021 MB; Pass #001 of 1 ... DONE; 00,003,044,763 B-trees have been rooted so far; HashtableS_Utilization = 029%; Keys/s = 000,028,298
Leprechaun: Inserting keys/BBs of order 064 into B-trees, free RAM in B-tree pool is 00,000,969 MB; Pass #001 of 1 ... DONE; 00,003,484,663 B-trees have been rooted so far; HashtableS_Utilization = 033%; Keys/s = 000,028,297

Leprechaun: (Total Hashing Speed) plus Searches-n-Inserts Per Second: 28,261 SNIPS

Number Of Bits (Slots=1<<Bits): 20
Number Of Hash Collisions(Distinct WORDs - Number Of Trees): 899,364
Number Of Trees(GREATER THE BETTER): 3,484,663
Number Of LEAFs(littler THE BETTER) not counting ROOT LEAFs: 242,855
Highest Tree not counting ROOT Level i.e. CORONA levels(littler THE BETTER): 2

E:\Lookuperorama.c_r8>Lookuperorama_ICC-V15.0_Pippip_32bit.exe "Gulyakovskiyi_E._Dolgiyi_Voshod_Na_Yenne.html" x 20 1200 i

RAW Hashing Speed for key 570,901 bytes long = 1,915,775,167 1,823,964,856 1,823,964,856 1,915,775,167 1,823,964,856 | 1,915,775,167 BYTES-PER-SECOND
RAW Hashing Speed for keys 04 bytes long = 570,898,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 06 bytes long = 570,896,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 08 bytes long = 570,894,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 10 bytes long = 570,892,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 12 bytes long = 570,890,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 14 bytes long = 570,888,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 16 bytes long = 570,886,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 18 bytes long = 570,884,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 36 bytes long = 33,580,352 KEYS-PER-SECOND; all in 17 clocks
RAW Hashing Speed for keys 64 bytes long = 33,578,705 KEYS-PER-SECOND; all in 17 clocks
The hash scanner - hashing in one pass all orders - TESTING CUMULATIVE PERFORMANCE...
RAW Hashing Speed for keys 4,6,8,10,12,14,16,18,36,64 bytes long = 48,352,090 KEYS-PER-SECOND; all in 110 clocks
Leprechaun: Inserting keys/BBs of order 004 into B-trees, free RAM in B-tree pool is 00,001,200 MB; Pass #001 of 1 ... DONE; 00,000,044,993 B-trees have been rooted so far; HashtableS_Utilization = 000%; Keys/s = 006,073,382
Leprechaun: Inserting keys/BBs of order 006 into B-trees, free RAM in B-tree pool is 00,001,197 MB; Pass #001 of 1 ... DONE; 00,000,233,582 B-trees have been rooted so far; HashtableS_Utilization = 002%; Keys/s = 004,020,394
Leprechaun: Inserting keys/BBs of order 008 into B-trees, free RAM in B-tree pool is 00,001,188 MB; Pass #001 of 1 ... DONE; 00,000,542,600 B-trees have been rooted so far; HashtableS_Utilization = 005%; Keys/s = 003,636,267
Leprechaun: Inserting keys/BBs of order 010 into B-trees, free RAM in B-tree pool is 00,001,170 MB; Pass #001 of 1 ... DONE; 00,000,915,175 B-trees have been rooted so far; HashtableS_Utilization = 008%; Keys/s = 003,299,953
Leprechaun: Inserting keys/BBs of order 012 into B-trees, free RAM in B-tree pool is 00,001,146 MB; Pass #001 of 1 ... DONE; 00,001,320,172 B-trees have been rooted so far; HashtableS_Utilization = 012%; Keys/s = 003,319,127
Leprechaun: Inserting keys/BBs of order 014 into B-trees, free RAM in B-tree pool is 00,001,119 MB; Pass #001 of 1 ... DONE; 00,001,741,637 B-trees have been rooted so far; HashtableS_Utilization = 016%; Keys/s = 003,299,930
Leprechaun: Inserting keys/BBs of order 016 into B-trees, free RAM in B-tree pool is 00,001,089 MB; Pass #001 of 1 ... DONE; 00,002,171,317 B-trees have been rooted so far; HashtableS_Utilization = 020%; Keys/s = 003,299,919
Leprechaun: Inserting keys/BBs of order 018 into B-trees, free RAM in B-tree pool is 00,001,056 MB; Pass #001 of 1 ... DONE; 00,002,604,920 B-trees have been rooted so far; HashtableS_Utilization = 024%; Keys/s = 002,798,450
Leprechaun: Inserting keys/BBs of order 036 into B-trees, free RAM in B-tree pool is 00,001,021 MB; Pass #001 of 1 ... DONE; 00,003,044,643 B-trees have been rooted so far; HashtableS_Utilization = 029%; Keys/s = 002,784,712
Leprechaun: Inserting keys/BBs of order 064 into B-trees, free RAM in B-tree pool is 00,000,969 MB; Pass #001 of 1 ... DONE; 00,003,484,741 B-trees have been rooted so far; HashtableS_Utilization = 033%; Keys/s = 002,274,254

Leprechaun: (Total Hashing Speed) plus Searches-n-Inserts Per Second: 1,902,944 SNIPS

Number Of Bits (Slots=1<<Bits): 20
Number Of Hash Collisions(Distinct WORDs - Number Of Trees): 899,286
Number Of Trees(GREATER THE BETTER): 3,484,741
Number Of LEAFs(littler THE BETTER) not counting ROOT LEAFs: 242,687
Highest Tree not counting ROOT Level i.e. CORONA levels(littler THE BETTER): 2

E:\Lookuperorama.c_r8>Lookuperorama_ICC-V15.0_WY_32bit.exe "Gulyakovskiyi_E._Dolgiyi_Voshod_Na_Yenne.html" x 20 1200 i

RAW Hashing Speed for key 570,901 bytes long = 828,593,613 828,593,613 828,593,613 828,593,613 829,797,965 | 829,797,965 BYTES-PER-SECOND
RAW Hashing Speed for keys 04 bytes long = 35,681,125 KEYS-PER-SECOND; all in 16 clocks
RAW Hashing Speed for keys 06 bytes long = 33,582,117 KEYS-PER-SECOND; all in 17 clocks
RAW Hashing Speed for keys 08 bytes long = 33,582,000 KEYS-PER-SECOND; all in 17 clocks
RAW Hashing Speed for keys 10 bytes long = 33,581,882 KEYS-PER-SECOND; all in 17 clocks
RAW Hashing Speed for keys 12 bytes long = 35,680,625 KEYS-PER-SECOND; all in 16 clocks
RAW Hashing Speed for keys 14 bytes long = 33,581,647 KEYS-PER-SECOND; all in 17 clocks
RAW Hashing Speed for keys 16 bytes long = 33,581,529 KEYS-PER-SECOND; all in 17 clocks
RAW Hashing Speed for keys 18 bytes long = 17,299,515 KEYS-PER-SECOND; all in 33 clocks
RAW Hashing Speed for keys 36 bytes long = 11,893,041 KEYS-PER-SECOND; all in 48 clocks
RAW Hashing Speed for keys 64 bytes long = 8,919,343 KEYS-PER-SECOND; all in 64 clocks
The hash scanner - hashing in one pass all orders - TESTING CUMULATIVE PERFORMANCE...
RAW Hashing Speed for keys 4,6,8,10,12,14,16,18,36,64 bytes long = 14,774,250 KEYS-PER-SECOND; all in 360 clocks
Leprechaun: Inserting keys/BBs of order 004 into B-trees, free RAM in B-tree pool is 00,001,200 MB; Pass #001 of 1 ... DONE; 00,000,044,941 B-trees have been rooted so far; HashtableS_Utilization = 000%; Keys/s = 005,189,981
Leprechaun: Inserting keys/BBs of order 006 into B-trees, free RAM in B-tree pool is 00,001,197 MB; Pass #001 of 1 ... DONE; 00,000,233,721 B-trees have been rooted so far; HashtableS_Utilization = 002%; Keys/s = 003,613,265
Leprechaun: Inserting keys/BBs of order 008 into B-trees, free RAM in B-tree pool is 00,001,188 MB; Pass #001 of 1 ... DONE; 00,000,543,031 B-trees have been rooted so far; HashtableS_Utilization = 005%; Keys/s = 003,636,267
Leprechaun: Inserting keys/BBs of order 010 into B-trees, free RAM in B-tree pool is 00,001,170 MB; Pass #001 of 1 ... DONE; 00,000,915,409 B-trees have been rooted so far; HashtableS_Utilization = 008%; Keys/s = 003,299,953
Leprechaun: Inserting keys/BBs of order 012 into B-trees, free RAM in B-tree pool is 00,001,146 MB; Pass #001 of 1 ... DONE; 00,001,320,678 B-trees have been rooted so far; HashtableS_Utilization = 012%; Keys/s = 003,036,648
Leprechaun: Inserting keys/BBs of order 014 into B-trees, free RAM in B-tree pool is 00,001,119 MB; Pass #001 of 1 ... DONE; 00,001,742,342 B-trees have been rooted so far; HashtableS_Utilization = 016%; Keys/s = 003,299,930
Leprechaun: Inserting keys/BBs of order 016 into B-trees, free RAM in B-tree pool is 00,001,089 MB; Pass #001 of 1 ... DONE; 00,002,172,282 B-trees have been rooted so far; HashtableS_Utilization = 020%; Keys/s = 003,036,627
Leprechaun: Inserting keys/BBs of order 018 into B-trees, free RAM in B-tree pool is 00,001,056 MB; Pass #001 of 1 ... DONE; 00,002,606,050 B-trees have been rooted so far; HashtableS_Utilization = 024%; Keys/s = 002,594,927
Leprechaun: Inserting keys/BBs of order 036 into B-trees, free RAM in B-tree pool is 00,001,021 MB; Pass #001 of 1 ... DONE; 00,003,045,377 B-trees have been rooted so far; HashtableS_Utilization = 029%; Keys/s = 002,418,923
Leprechaun: Inserting keys/BBs of order 064 into B-trees, free RAM in B-tree pool is 00,000,969 MB; Pass #001 of 1 ... DONE; 00,003,485,493 B-trees have been rooted so far; HashtableS_Utilization = 033%; Keys/s = 001,915,563

Leprechaun: (Total Hashing Speed) plus Searches-n-Inserts Per Second: 1,902,944 SNIPS

Number Of Bits (Slots=1<<Bits): 20
Number Of Hash Collisions(Distinct WORDs - Number Of Trees): 898,534
Number Of Trees(GREATER THE BETTER): 3,485,493
Number Of LEAFs(littler THE BETTER) not counting ROOT LEAFs: 241,616
Highest Tree not counting ROOT Level i.e. CORONA levels(littler THE BETTER): 2

E:\Lookuperorama.c_r8>Lookuperorama_ICC-V15.0_XXH64_32bit.exe "Gulyakovskiyi_E._Dolgiyi_Voshod_Na_Yenne.html" x 20 1200 i

RAW Hashing Speed for key 570,901 bytes long = 461,894,012 461,894,012 461,894,012 461,894,012 461,894,012 | 461,894,012 BYTES-PER-SECOND
RAW Hashing Speed for keys 04 bytes long = 33,582,235 KEYS-PER-SECOND; all in 17 clocks
RAW Hashing Speed for keys 06 bytes long = 17,840,500 KEYS-PER-SECOND; all in 32 clocks
RAW Hashing Speed for keys 08 bytes long = 17,840,437 KEYS-PER-SECOND; all in 32 clocks
RAW Hashing Speed for keys 10 bytes long = 11,893,583 KEYS-PER-SECOND; all in 48 clocks
RAW Hashing Speed for keys 12 bytes long = 17,840,312 KEYS-PER-SECOND; all in 32 clocks
RAW Hashing Speed for keys 14 bytes long = 11,893,500 KEYS-PER-SECOND; all in 48 clocks
RAW Hashing Speed for keys 16 bytes long = 11,893,458 KEYS-PER-SECOND; all in 48 clocks
RAW Hashing Speed for keys 18 bytes long = 9,061,650 KEYS-PER-SECOND; all in 63 clocks
RAW Hashing Speed for keys 36 bytes long = 4,530,682 KEYS-PER-SECOND; all in 126 clocks
RAW Hashing Speed for keys 64 bytes long = 3,635,910 KEYS-PER-SECOND; all in 157 clocks
The hash scanner - hashing in one pass all orders - TESTING CUMULATIVE PERFORMANCE...
RAW Hashing Speed for keys 4,6,8,10,12,14,16,18,36,64 bytes long = 7,387,125 KEYS-PER-SECOND; all in 720 clocks
Leprechaun: Inserting keys/BBs of order 004 into B-trees, free RAM in B-tree pool is 00,001,200 MB; Pass #001 of 1 ... DONE; 00,000,044,969 B-trees have been rooted so far; HashtableS_Utilization = 000%; Keys/s = 004,530,936
Leprechaun: Inserting keys/BBs of order 006 into B-trees, free RAM in B-tree pool is 00,001,197 MB; Pass #001 of 1 ... DONE; 00,000,233,517 B-trees have been rooted so far; HashtableS_Utilization = 002%; Keys/s = 003,299,976
Leprechaun: Inserting keys/BBs of order 008 into B-trees, free RAM in B-tree pool is 00,001,188 MB; Pass #001 of 1 ... DONE; 00,000,542,820 B-trees have been rooted so far; HashtableS_Utilization = 005%; Keys/s = 003,036,670
Leprechaun: Inserting keys/BBs of order 010 into B-trees, free RAM in B-tree pool is 00,001,170 MB; Pass #001 of 1 ... DONE; 00,000,915,253 B-trees have been rooted so far; HashtableS_Utilization = 008%; Keys/s = 002,798,490
Leprechaun: Inserting keys/BBs of order 012 into B-trees, free RAM in B-tree pool is 00,001,146 MB; Pass #001 of 1 ... DONE; 00,001,319,824 B-trees have been rooted so far; HashtableS_Utilization = 012%; Keys/s = 002,784,829
Leprechaun: Inserting keys/BBs of order 014 into B-trees, free RAM in B-tree pool is 00,001,119 MB; Pass #001 of 1 ... DONE; 00,001,741,164 B-trees have been rooted so far; HashtableS_Utilization = 016%; Keys/s = 002,594,945
Leprechaun: Inserting keys/BBs of order 016 into B-trees, free RAM in B-tree pool is 00,001,089 MB; Pass #001 of 1 ... DONE; 00,002,170,640 B-trees have been rooted so far; HashtableS_Utilization = 020%; Keys/s = 002,606,785
Leprechaun: Inserting keys/BBs of order 018 into B-trees, free RAM in B-tree pool is 00,001,056 MB; Pass #001 of 1 ... DONE; 00,002,604,525 B-trees have been rooted so far; HashtableS_Utilization = 024%; Keys/s = 002,274,438
Leprechaun: Inserting keys/BBs of order 036 into B-trees, free RAM in B-tree pool is 00,001,021 MB; Pass #001 of 1 ... DONE; 00,003,043,942 B-trees have been rooted so far; HashtableS_Utilization = 029%; Keys/s = 001,735,155
Leprechaun: Inserting keys/BBs of order 064 into B-trees, free RAM in B-tree pool is 00,000,969 MB; Pass #001 of 1 ... DONE; 00,003,483,716 B-trees have been rooted so far; HashtableS_Utilization = 033%; Keys/s = 001,518,186

Leprechaun: (Total Hashing Speed) plus Searches-n-Inserts Per Second: 1,427,208 SNIPS

Number Of Bits (Slots=1<<Bits): 20
Number Of Hash Collisions(Distinct WORDs - Number Of Trees): 900,311
Number Of Trees(GREATER THE BETTER): 3,483,716
Number Of LEAFs(littler THE BETTER) not counting ROOT LEAFs: 242,761
Highest Tree not counting ROOT Level i.e. CORONA levels(littler THE BETTER): 2

E:\Lookuperorama.c_r8>Lookuperorama_ICC-V15.0_XXH3_32bit.exe "Gulyakovskiyi_E._Dolgiyi_Voshod_Na_Yenne.html" x 20 1200 i

RAW Hashing Speed for key 570,901 bytes long = 6,009,484,210 6,009,484,210 6,009,484,210 6,073,414,893 6,009,484,210 | 6,073,414,893 BYTES-PER-SECOND
RAW Hashing Speed for keys 04 bytes long = 570,898,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 06 bytes long = 570,896,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 08 bytes long = 570,894,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 10 bytes long = 570,892,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 12 bytes long = 570,890,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 14 bytes long = 570,888,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 16 bytes long = 570,886,000 KEYS-PER-SECOND; all in 1 clocks
RAW Hashing Speed for keys 18 bytes long = 35,680,250 KEYS-PER-SECOND; all in 16 clocks
RAW Hashing Speed for keys 36 bytes long = 17,839,562 KEYS-PER-SECOND; all in 32 clocks
RAW Hashing Speed for keys 64 bytes long = 17,838,687 KEYS-PER-SECOND; all in 32 clocks
The hash scanner - hashing in one pass all orders - TESTING CUMULATIVE PERFORMANCE...
RAW Hashing Speed for keys 4,6,8,10,12,14,16,18,36,64 bytes long = 26,072,205 KEYS-PER-SECOND; all in 204 clocks
Leprechaun: Inserting keys/BBs of order 004 into B-trees, free RAM in B-tree pool is 00,001,200 MB; Pass #001 of 1 ... DONE; 00,000,044,919 B-trees have been rooted so far; HashtableS_Utilization = 000%; Keys/s = 006,009,452
Leprechaun: Inserting keys/BBs of order 006 into B-trees, free RAM in B-tree pool is 00,001,197 MB; Pass #001 of 1 ... DONE; 00,000,233,400 B-trees have been rooted so far; HashtableS_Utilization = 002%; Keys/s = 003,636,280
Leprechaun: Inserting keys/BBs of order 008 into B-trees, free RAM in B-tree pool is 00,001,188 MB; Pass #001 of 1 ... DONE; 00,000,542,711 B-trees have been rooted so far; HashtableS_Utilization = 005%; Keys/s = 003,299,965
Leprechaun: Inserting keys/BBs of order 010 into B-trees, free RAM in B-tree pool is 00,001,170 MB; Pass #001 of 1 ... DONE; 00,000,915,142 B-trees have been rooted so far; HashtableS_Utilization = 008%; Keys/s = 003,636,254
Leprechaun: Inserting keys/BBs of order 012 into B-trees, free RAM in B-tree pool is 00,001,147 MB; Pass #001 of 1 ... DONE; 00,001,320,402 B-trees have been rooted so far; HashtableS_Utilization = 012%; Keys/s = 003,020,582
Leprechaun: Inserting keys/BBs of order 014 into B-trees, free RAM in B-tree pool is 00,001,119 MB; Pass #001 of 1 ... DONE; 00,001,741,938 B-trees have been rooted so far; HashtableS_Utilization = 016%; Keys/s = 003,020,571
Leprechaun: Inserting keys/BBs of order 016 into B-trees, free RAM in B-tree pool is 00,001,089 MB; Pass #001 of 1 ... DONE; 00,002,171,481 B-trees have been rooted so far; HashtableS_Utilization = 020%; Keys/s = 003,020,560
Leprechaun: Inserting keys/BBs of order 018 into B-trees, free RAM in B-tree pool is 00,001,056 MB; Pass #001 of 1 ... DONE; 00,002,605,256 B-trees have been rooted so far; HashtableS_Utilization = 024%; Keys/s = 002,784,800
Leprechaun: Inserting keys/BBs of order 036 into B-trees, free RAM in B-tree pool is 00,001,021 MB; Pass #001 of 1 ... DONE; 00,003,044,824 B-trees have been rooted so far; HashtableS_Utilization = 029%; Keys/s = 002,594,845
Leprechaun: Inserting keys/BBs of order 064 into B-trees, free RAM in B-tree pool is 00,000,969 MB; Pass #001 of 1 ... DONE; 00,003,484,981 B-trees have been rooted so far; HashtableS_Utilization = 033%; Keys/s = 002,274,254

Leprechaun: (Total Hashing Speed) plus Searches-n-Inserts Per Second: 1,902,944 SNIPS

Number Of Bits (Slots=1<<Bits): 20
Number Of Hash Collisions(Distinct WORDs - Number Of Trees): 899,046
Number Of Trees(GREATER THE BETTER): 3,484,981
Number Of LEAFs(littler THE BETTER) not counting ROOT LEAFs: 241,898
Highest Tree not counting ROOT Level i.e. CORONA levels(littler THE BETTER): 2

E:\Lookuperorama.c_r8>

For comparison it is nice to see your Assembly:
https://godbolt.org/z/ozrhxP

Your main loop being only 18 instructions, but 63 as a whole:

.L6:
        movzx   esi, BYTE PTR [r10]
        mov     rax, rdi
        xor     r8, rsi
.L5:
        imul    r8, rbp
        mov     edx, DWORD PTR [rax]
        add     rax, 4
        mov     rcx, r8
        xor     r8, rsi
        shr     rcx, 32
        xor     r8, rdx
        xor     ecx, edx
        mov     DWORD PTR [rax-4], ecx
        cmp     rax, r9
        jne     .L5
        add     r10, 1
        add     rbp, r8
        cmp     r11, r10
        jne     .L6
.L1:

My whole 'FNV1A-Pippip', 32 instructions:
https://godbolt.org/z/i40ipj

        mov     rax, QWORD PTR [rdi]
        cmp     rsi, 8
        jbe     .L2
        lea     rax, [rsi-1]
        shr     rax, 4
        lea     rdx, [8+rax*8]
        movabs  rax, -3750763034362895579
        sub     rsi, rdx
        add     rdx, rdi
.L3:
        xor     rax, QWORD PTR [rdi]
        add     rdi, 8
        imul    rax, rax, 591798841
        xor     rax, QWORD PTR [rdi-8+rsi]
        imul    rax, rax, 591798841
        cmp     rdi, rdx
        jne     .L3
.L4:
        mov     rdx, rax
        shr     rdx, 32
        xor     eax, edx
        mov     edx, eax
        shr     edx, 16
        xor     eax, edx
        ret
.L2:
        movabs  rdx, -3750763034362895579
        mov     ecx, 8
        sub     ecx, esi
        sal     ecx, 3
        sal     rax, cl
        shr     rax, cl
        xor     rax, rdx
        imul    rax, rax, 591798841
        jmp     .L4

Collisionwise, I feel it will be interesting to stress your function by replacing SHA3-224...

Complexity is compatible with chaotic state

The paper Chaos and complexity by design by Daniel A. Roberts and Beni Yoshida refutes your “findings” by demonstrating how seemingly designed phenomena are compatible with chaotic systems.

We study the relationship between quantum chaos and pseudorandomness by developing probes of unitary design. A natural probe of randomness is the “frame potential,” which is minimized by unitary k-designs and measures the 2-norm dis- tance between the Haar random unitary ensemble and another ensemble. A natural probe of quantum chaos is out-of-time-order (OTO) four-point correlation functions. We show that the norm squared of a generalization of out-of-time-order 2k-point correlators is proportional to the kth frame potential, providing a quantitative con- nection between chaos and pseudorandomness. Additionally, we prove that these 2k-point correlators for Pauli operators completely determine the k-fold channel of an ensemble of unitary operators. Finally, we use a counting argument to obtain a lower bound on the quantum circuit complexity in terms of the frame potential. This provides a direct link between chaos, complexity, and randomness.

A chicken & egg paradox in the claim that the Human Mind predates the Big Bang

Your claim:

The "intelligent impulses" or even "human mind" itself (because a musician can understand these impulses) had existed long before the "Big Bang" happened.

The problem here, is that you are relying on your own "human mind" in order to determine that these pulses are "intelligent".

In other words, based on the fact that your human mind has interpreted these pulses as intelligent, you have concluded that the human mind must be as old as the data with which you have generated them.

So you've essentially used your own claim in order to prove it.

To put this in more precise (and perhaps tedious) details:

  • Let M denote the human mind
  • Let f(x) denote whether or not x predates the Big Bang
  • Let g(x, y) denote whether or not x interprets y as intelligent pulses
  • Let h(x) be your hash function

Your claim can subsequently be formulated as:

image

Which obviously depicts incorrect logical inference.


Note that the above (along with your initial claim) doesn't even take into account the fact that there are many human minds - one per person, some would say (although I guess it depends on your personality as well as your local environment).

If we were to rephrase your claim based on the more generalized assumption that different humans have different minds:

image

Then it wouldn't even adhere to the most basic logical inference.

At best, you could use it in order to claim that some human minds (yours included) have existed before the Big Bang, and of course - that wouldn't actually resolve the logical error; it would only "decay" into the less obvious error described above.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.