#disk-image #game-cube #raw #nintendo #extract #gcm-iso #bit-for-bit

no-std bin+lib gc-gcm

用于处理任天堂 GameCube 的 GCM/ISO 文件(原始位对位磁盘镜像)的 Rust 库和 CLI 工具。

4 个版本 (2 个破坏性更新)

0.10.0 2021 年 2 月 10 日
0.9.1 2021 年 2 月 7 日
0.9.0 2021 年 2 月 7 日
0.8.0 2021 年 2 月 3 日

文件系统 中排名 784

Download history 12/week @ 2024-03-12 5/week @ 2024-03-19 5/week @ 2024-03-26 32/week @ 2024-04-02 9/week @ 2024-04-09 24/week @ 2024-04-16 16/week @ 2024-04-23 1/week @ 2024-04-30 6/week @ 2024-05-07 5/week @ 2024-05-14 9/week @ 2024-05-21 7/week @ 2024-05-28 9/week @ 2024-06-04 10/week @ 2024-06-11 21/week @ 2024-06-18 17/week @ 2024-06-25

每月下载 58
4 个 Crates 中使用(直接使用 3 个)

MIT 许可证

21KB
445 代码行

gc-gcm

用于处理任天堂 GameCube 的 GCM/ISO 文件(原始位对位磁盘镜像)的 Rust 库和 CLI 工具。

安装 CLI

cargo install gc-gcm --features=bin
~ ❯❯❯ gcm --help
gc-gcm 0.8.0

USAGE:
    gcm <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    explain    Give a brief explanation about the GCM format
    extract    Extract a GCM ISO to a given folder
    help       Prints this message or the help of the given subcommand(s)
    tree       List the file tree of the given GCM ISO

基准测试

在不同系统上对 ISO 文件中所有文件提取的基准测试,与 wit 进行比较

系统 1

(Linux 5.9, 16 GB, AMD Ryzen 9 4900HS)

命令 平均 [ms] 最小 [ms] 最大 [ms] 相对
wit x melee.iso./extracted 727.1 ± 11.1 716.1 769.0 2.20 ± 0.05
gcm extract melee.iso./extracted 331.1 ± 6.2 321.9 345.9 1.00

系统 2

(Windows 10, Ryzen 7 3700X, 在 SSD 上)

命令 平均 [s] 最小 [s] 最大 [s] 相对
wit xGALE01.iso./extracted 8.551 ± 2.532 6.942 15.378 2.09 ± 0.83
gcm extractGALE01.iso./extracted 4.092 ± 1.082 3.056 5.732 1.00

(Windows 10, Ryzen 7 3700X, 在 HDD 上,单线程模式)

命令 平均 [s] 最小 [s] 最大 [s] 相对
wit xGALE01.iso./extracted 10.452 ± 1.812 8.898 13.982 1.00
gcm extract--单线程-线程GALE01.iso./extracted 11.810 ± 1.838 9.372 14.135 1.13 ± 0.26

系统 3

(Windows 10, 在 HDD 上,多线程模式)

命令 平均 [s] 最小 [s] 最大 [s] 相对
wit x melee.iso./extracted 109.495 ± 6.301 105.039 113.950 1.20 ± 0.25
gcm extract melee.iso./extracted 91.584 ± 18.295 78.647 104.520 1.00

注意: 如果 ISO 存在于某种形式的物理媒体(如硬盘)上,则多线程模式会损害性能。

依赖关系

~1.3–2.2MB
~45K SLoC