Skip to content

jmfrank63/dedup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Modern C Learning Project

This is a small project aimed at learning modern C programming. The main goal of this project is to explore and understand the intricacies of modern C, with a focus on multi-threading and hashing algorithms.

Project Overview

The project calculates the hash of each file on the file system using the BLAKE3 hashing algorithm. BLAKE3 is a cryptographic hash function that is faster than MD5, SHA-1, SHA-2, SHA-3, and BLAKE2.

In addition to hashing, the project also implements a ring buffer for multi-threading without locks. A ring buffer, or circular buffer, is a data structure that uses a single, fixed-size buffer as if it were connected end-to-end. This structure lends itself well to buffering data streams.

Technologies Used

  • C11: The project is written in C11, the latest ISO C standard.
  • BLAKE3: For hashing files.
  • Ring Buffer: For efficient multi-threading.

Learning Outcomes

Through this project, you can expect to gain a deeper understanding of modern C programming, including:

  • Advanced C concepts such as multi-threading.
  • The use and implementation of modern hashing algorithms.
  • The use and implementation of data structures such as ring buffers.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published