Giter VIP home page Giter VIP logo

gc-gcm's Introduction

gc-gcm

A Rust library and CLI for working with GCM/ISO files (raw bit-for-bit disk images) for the Nintendo GameCube.

Install 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

Benchmarks

Benchmarking extracting all files from ISOs across various systems against wit:

System 1

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

Command Mean [ms] Min [ms] Max [ms] Relative
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

System 2

(Windows 10, Ryzen 7 3700X, on SSD)

Command Mean [s] Min [s] Max [s] Relative
wit x GALE01.iso ./extracted 8.551 ± 2.532 6.942 15.378 2.09 ± 0.83
gcm extract GALE01.iso ./extracted 4.092 ± 1.082 3.056 5.732 1.00

(Windows 10, Ryzen 7 3700X, on HDD, in single thread mode)

Command Mean [s] Min [s] Max [s] Relative
wit x GALE01.iso ./extracted 10.452 ± 1.812 8.898 13.982 1.00
gcm extract --single-thread GALE01.iso ./extracted 11.810 ± 1.838 9.372 14.135 1.13 ± 0.26

System 3

(Windows 10, on HDD, multithreaded mode)

Command Mean [s] Min [s] Max [s] Relative
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

Note: Multithreaded mode will harm performance if the ISO is on some form of physical media, such a hard drive.

gc-gcm's People

Contributors

jam1garner avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.