V5.0#5
Conversation
内存优化 分批处理:将文件分成小批次处理,避免内存溢出 线程池控制:使用 ThreadPoolExecutor 管理线程数量 内存限制:添加了 MEMORY_LIMIT_MB 配置参数 多线程优化 线程安全统计:修改 refresh_file 方法返回统计结果,避免多线程竞争 并发处理:使用线程池并行处理多个文件 任务控制:限制同时运行的任务数量,平衡性能和内存使用 性能提升 批量提交:一次提交多个任务到线程池 智能等待:使用 as_completed 按完成顺序处理结果 进度更新:实时更新处理进度和统计信息 现在程序能够更高效地利用系统资源,处理大量文件时内存使用更加稳定,同时通过多线程显著提升了处理速度。
重构日志系统,使用LogManager统一管理日志记录 将日志文件路径改为绝对路径,确保exe运行时正确保存 添加全局异常处理,捕获未处理异常并记录到日志 优化make.bat构建脚本,添加环境检查和依赖安装
强制升级pyinstaller以避免PATH问题,改用python -m方式调用 添加test_build.py用于验证构建命令的正确性
将日志文件路径从用户目录改为脚本同级目录 添加基准测试结果保存功能 更新控制台标题和版本信息
- 新增7-zip组件下载安装脚本(get7-zip.sh) - 添加7-zip完整文档手册(bin/MANUAL目录) - 优化冷数据处理工具参数输入逻辑 - 改进TRIM模式和全盘刷新模式的参数自动设置 - 修复路径处理中的中文标点转换问题 - 更新版本号至4.5.0 - 添加WebSite.json配置文件 - 更新requirements.txt依赖版本
重构构建脚本,移除不再需要的7-zip二进制文件和手册文档。更新.gitignore文件忽略bin目录,并添加新的工作区配置文件。同时删除测试构建脚本。 - 删除bin目录下的7zz可执行文件和手册文档 - 更新make.sh脚本使用新的7zz路径 - 添加ColDataRefresh.code-workspace配置文件 - 更新.gitignore忽略bin目录 - 删除test_build.py测试脚本 - 将get7-zip.sh脚本移动到项目根目录
修改make.bat中版本号读取逻辑,解决换行符和空格问题 添加test_version.bat测试脚本验证版本号读取功能 创建version.txt文件并设置版本号为4.5.0
更新默认版本号至4.3.3并添加版本号读取测试脚本 增强Windows 10及以上系统的TRIM优化功能,使用PowerShell的Optimize-Volume命令 改进文件替换逻辑,增加数据验证步骤确保操作可靠性 更新全盘刷新模式的提示信息,明确数据将被替换为FF值
在make.sh和make.bat中更新默认版本号至4.5.0 优化make.bat中版本文件读取逻辑,避免潜在的空值问题
使用更简单直接的方式读取版本号,移除复杂的循环逻辑 添加测试脚本验证版本号读取逻辑的正确性
实现全空间覆写功能,支持多轮覆写-删除循环 包含权限检查、空间计算和进度显示功能
添加磁盘空间测试功能,支持指定测试目录和大小 实现持续写入模式,优化大文件写入性能 增加写入速度统计和用户中断处理 更新日志记录路径和错误处理
新增 FullRefreshManager 类实现全盘刷新功能,包括: 1. 获取目录统计信息 2. 文件备份与恢复 3. 填满可用空间逻辑 4. 清理临时文件 修改 ApplicationController.execute 方法支持全盘刷新模式 添加用户交互流程和结果显示
避免将构建目录提交到版本控制
忽略.trae/目录以避免将其纳入版本控制
添加 is_drive 方法判断路径是否为盘符 添加 format_drive 方法实现盘符格式化功能 在 fill_disk 方法中增加文件创建进度显示
- 更新版本号至4.7.1 - 修复SSL证书验证问题,禁用InsecureRequestWarning警告 - 实现完整的全盘刷新业务流程,包括文件备份/恢复和空间填充 - 优化全盘刷新流程:先尝试格式化,失败后执行文件删除 - 添加自动管理员权限提升功能 - 根据Windows版本优化TRIM操作: - Windows 11:执行ReTrim + SlabConsolidate + ReTrim组合操作 - Windows 10:仅执行ReTrim操作 - Windows 10以下:使用DeviceIoControl方法 - 添加重复TRIM操作避免机制 - 增强TRIM操作的用户提示和日志记录 - 将TRIM操作放在全盘刷新最后一步执行 - 更新README文档,添加4.7.0版本更新内容
- 删除Python相关文件和构建脚本 - 更新README和README_EN以反映Rust重写 - 更新.gitignore添加Rust构建目录 - 删除不再需要的配置文件和版本文件
|
你好,v5.0版本的没看到项目分支里有rust重构后的源码 |
代码误删除了 ,没有成功上传 最后一个 正确编译的rust 版本,就是我项目中发布的v5.0版本,目前还没有成功恢复这批代码,目前v5版本的exe文件可以使用 这个合并 你忽略掉就行,因为和原版本相差太多 ,这个合并你忽略就行。等我下次重新恢复这批代码以后 再合并吧 |
|
關於第模式3(TRIM)的疑問 1.簡介中提到第模式3(TRIM)也會導致數據丟失,這是指什麼情況? |
5.0版本的rust版本因为代码丢失,所以看不到代码,但是可以去看python的代码,这里所谓的数据丢失是指,如果你要做“数据恢复”,那被恢复的数据会因为实时trim而丢失,如果要做删除数据的恢复,需要直接断电再加电用恢复软件去扫描,还有机会找回,而不去做模式3的实时TRIM,这个和系统自动TRIM不同的地方是系统默认TRIM操作是延时的,而模式3中的TRIM操作是实时的。此处的数据丢失不是指固态中可以被看到的明文数据。目前的5.0版本中的模式2都已经可以不丢失明文数据了。但是可能牵涉到删除数据找回的问题,所以有这个说明,存在歧义,这样我去修改一下说明帮助理解 |
可以推送了 合并代码到rust v5.0.1版本
构建矩阵(11 个目标平台):
x86_64-unknown-linux-gnux86_64-unknown-linux-musli686-unknown-linux-muslaarch64-unknown-linux-gnuaarch64-unknown-linux-muslarmv7-unknown-linux-gnueabihfarm-unknown-linux-gnueabihfx86_64-apple-darwinaarch64-apple-darwinx86_64-pc-windows-msvci686-pc-windows-msvc