add more goals to readme

This commit is contained in:
sreedevk
2025-07-13 12:44:49 +00:00
parent d42166a4fd
commit 3785a87cee
5 changed files with 25 additions and 37 deletions

View File

@@ -110,19 +110,6 @@ Deduplicator uses size comparison and fxhash (a non non-cryptographic hashing al
These benchmarks were run using [hyperfine](https://github.com/sharkdp/hyperfine). Here are the specs of the machine used to benchmark deduplicator:
```
OS: Arch Linux x86_64
Host: Precision 5540
Kernel: 5.15.89-1-lts
Uptime: 4 hours, 44 mins
Shell: zsh 5.9
Terminal: kitty
CPU: Intel i9-9880H (16) @ 4.800GHz
GPU: NVIDIA Quadro T2000 Mobile / Max-Q
GPU: Intel CoffeeLake-H GT2 [UHD Graphics 630]
Memory: 31731MiB (~32GiB)
```
## Screenshots
![](https://user-images.githubusercontent.com/36154121/213618143-e5182e39-731e-4817-87dd-1a6a0f38a449.gif)
@@ -133,9 +120,15 @@ Memory: 31731MiB (~32GiB)
- Packages for different operating system repositories (currently only installable via cargo)
## v0.3 checklist
- [x] parallelization of scanning, processing and formatting
- [x] parallelization
- [x] (scanning) + ((processing sw) & (processing hw) & formatting)
- [ ] (scanning) + ((processing sw + processing hw) & formatting)
- [ ] (scanning) + processing sw + processing hw + formatting
- [x] reduce cloning values on the heap
- [x] add a partial hashing mode (--strict)
- [ ] add an option to use a bloom filter for very large filesystems
- [ ] max file path size should use the last set of duplicates
- [ ] add unit tests
- [-] add unit tests
- [ ] add silent mode
- [ ] restore json output
- [ ] update documentation

View File

@@ -1,10 +1,12 @@
use anyhow::Result;
use gxhash::GxHasher;
use memmap2::Mmap;
use std::fs;
use std::hash::Hasher;
use std::io::Read;
use std::{fs::Metadata, path::PathBuf};
use std::{
fs::{self, Metadata},
hash::Hasher,
io::Read,
path::PathBuf,
};
#[derive(Debug, Clone)]
pub struct FileInfo {

View File

@@ -1,20 +1,14 @@
pub struct Formatter;
use crate::fileinfo::FileInfo;
use crate::params::Params;
use crate::{fileinfo::FileInfo, params::Params};
use anyhow::Result;
use chrono::{DateTime, Utc};
use dashmap::DashMap;
use indicatif::{
ParallelProgressIterator, ProgressBar, ProgressFinish, ProgressStyle,
};
use indicatif::{ParallelProgressIterator, ProgressBar, ProgressFinish, ProgressStyle};
use pathdiff::diff_paths;
use prettytable::{format, row, Row, Table};
use rayon::prelude::*;
use std::borrow::Cow;
use std::path::PathBuf;
use std::sync::Arc;
use std::time::Duration;
use std::{borrow::Cow, path::PathBuf, sync::Arc, time::Duration};
pub struct Formatter;
impl Formatter {
pub fn human_path(
file: &FileInfo,

View File

@@ -1,10 +1,11 @@
use crate::formatter::Formatter;
use crate::{fileinfo::FileInfo, params::Params};
use crate::{fileinfo::FileInfo, formatter::Formatter, params::Params};
use anyhow::Result;
use dashmap::DashMap;
use prettytable::{format, row, Table};
use std::io::{self, Write};
use std::sync::Arc;
use std::{
io::{self, Write},
sync::Arc,
};
pub fn scan_group_confirmation() -> Result<bool> {
print!("\nconfirm? [y/N]: ");

View File

@@ -6,13 +6,11 @@ mod processor;
mod scanner;
mod server;
use std::sync::atomic::Ordering;
use self::formatter::Formatter;
use self::server::Server;
use self::{formatter::Formatter, server::Server};
use anyhow::Result;
use clap::Parser;
use params::Params;
use std::sync::atomic::Ordering;
fn main() -> Result<()> {
let app_args = Params::parse();