Isspam
Fast as light evaluator for text files to summarize specific details about the text files.
This repository contains two versions of the same algorithm.
Versions:
- Rust (risspam) written by 12bitfloat.
- C (isspam) written by retoor.
Building
make build
Build isspam with memory check (requires valgrind to be installed):
make valgrind
Running
Using files as parameter
./(r)isspam ./spam/*.txt
./(r)isspam ./not_spam/*.txt
Using stdin
Useful for automation. Works only on the isspam version.
cat ./spam/example_spam1.txt | ./isspam
Example output
Output example made by isspam.
File: ./spam/example_spam3.txt
Capitalized words: 39
Sentences: 20
Words: 420
Numbers: 1
Forbidden words: 15
<0:recovery>
<1:techie>
<2:https>
<3:digital>
<4:hack>
<5://>
<6:com>
<7:@>
<8:crypto>
<9:bitcoin>
<10:whatsapp>
<11:cryptocurrency>
<12:stolen>
<13:contact>
<14:understanding>
Word count per sentence: 21
Memory usage: 1 MB, 6.460 (re)allocated, 4.222 unqiue free'd, 0 in use.
Valgrind status
Valgrind output for isspam version.
Rust variant thinks it's too cool for memory checks afterwards.
Date: 2024-11-30
==58062==
==58062== HEAP SUMMARY:
==58062== in use at exit: 0 bytes in 0 blocks
==58062== total heap usage: 6,490 allocs, 6,490 frees, 2,343,156 bytes allocated
==58062==
==58062== All heap blocks were freed -- no leaks are possible
==58062==
==58062== For lists of detected and suppressed errors, rerun with: -s
==58062== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)