Hi and welcome to the Race. This is a benchmark designed for VU MIF ISI students to race their hash generators in speed and reliability. This program expects you to have created a C++ program that respects the requirements of 1-oji užduotis: Hash generatorius. Without further ado, LET'S GET RACING!
You can get the binary from the releases tab here on Github. The binary is standalone and only requires you to pass the path to your generator executable. You can also build the binary yourself (see below for instructions).
The code in this repository has been written in C++ and will thus require CMAKE
and MAKE
(comes with either GNU or MinGW) to work correctly.
These are the steps to get the racer up and running:
git clone https://github.com/AugustinasMK/TheHashRacer.git
cd TheHashRacer/
mkdir build
cd build/
cmake .. -G "MinGW Makefiles"
If you get an error please run cmake ..
Otherwise, move on to the next command.
mingw32-make
./TheHashRacer.exe <the full path to your hash generator exe>
Please note that all \
in your path should be \\
for C++ to understand it. I also recommend not having spaces in the path as it can and most likely will cause problems.
- Your hash generator should accept a single command-line argument in the form of a string and return a single console line that contains your hash.
- Your hash function has to accept inputs that are 1000 characters long.
There are 3 ways to get your results onto the board:
- Reach me at [email protected] or Augustinas Makevičius on Facebook and send me your executable. I will run the racer on my machine and update the board with your results myself.
- Run the program yourself by using the steps in
Getting Started
and use the aforementioned methods of reaching me and I'll update the board. - Run the code yourself and post a pull request here on Github that contains your addition to the board.
- A - Checks the first case: if m1 and m2 are two different one character long strings the hashes should be of the same length.
- B - Checks the second case: if m1 and m2 are two different 1000 characters long strings the hashes should be of the same length.
- C - The time it takes to hash konstitucija.txt.
- D - The number of collisions when hashing 10000 pairs of random strings.
- E - The maximum percentage of letter-wise difference when hashing 10000 pairs of random strings that differ by one character.
- F - The minimum percentage of letter-wise difference when hashing 10000 pairs of random strings that differ by one character.
- G - The average percentage of letter-wise difference when hashing 10000 pairs of random strings that differ by one character.
Author | Year | A | B | C | D | E | F | G |
---|---|---|---|---|---|---|---|---|
AugustinasMK | 2017 | PASS | PASS | 0.988009 s (Linux) | 0 | 100% | 58% | 87% |
gitguuddd | 2018 | PASS | PASS | 0.8305 s (Linux) | 0 | 100% | 0% | 92% |
Rytisgit | 2017 | PASS | PASS | 1.00654 s (Linux) | 0 | 75% | 45% | 72% |
BlackDude22 | 2017 | PASS | PASS | 1.16189 s (Linux) | 0 | 98% | 76% | 92% |
This racer has been created by me - Augustinas Makevičius. You can find more of my work here on Github by pressing on my name or contacting me at [email protected]