mirror of
https://github.com/sreedevk/deduplicator.git
synced 2026-08-31 20:45:34 +00:00
add more goals to readme
This commit is contained in:
23
README.md
23
README.md
@@ -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
|
||||
|
||||

|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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]: ");
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user