#detect #academic #sets #multi-threading #intended #dishonesty #similarities

app cheat_checker

Detects similarities between sets of files

11 stable releases

2.7.0 Feb 14, 2024
2.6.0 Feb 14, 2024
2.5.1 Mar 14, 2023
2.3.0 Feb 27, 2023
1.0.1 Feb 15, 2023

#175 in Filesystem

Download history 238/week @ 2024-02-08 135/week @ 2024-02-15 39/week @ 2024-02-22 13/week @ 2024-02-29 2/week @ 2024-03-07 1/week @ 2024-03-14

65 downloads per month

GPL-3.0 license

21KB
218 lines

Cheat-checker

Detects similarities between sets of files, intended to detect academic dishonesty.

Installation

  1. Install rust, either directly through your system's package manager, or by installing rustup and running rustup install stable.
  2. Run cargo install cheat_checker.
  3. Done! Run cheat_checker --help for usage instructions.

Speed

Yeah, it's quite slow. The reason for making this was mostly the UX, not the speed, but I did try to optimize it. I did some benchmarks, and it turns out the python-Levenshtein library for python is about 16 times faster than eddie (which is what this program uses) and strsim. It's written in C or C++, and pretty arcane C/C++ at that. I did what I could and added some multithreading, but on my 4-core laptop, it's still about 8 times slower than using python-Levenshtein single-threaded.

Heavily inspired by copy_checker. Licensed under the GNU General Public License V3.0.

Dependencies

~10–21MB
~308K SLoC