Skip to content

Performance #79

@nigels-com

Description

@nigels-com

First of all, thanks for this codebase.
It's a nice way to do some FLAC experimentation and get more familiar with golang, nice.

I do have an interest of FLAC encoding and decoding in production also, so couldn't resist doing some benchmarks.
For the record, using here AMD Ryzen 9 7900 12-Core Processor and v1.0.13.

$ /usr/bin/time -v  go run main.go -f sample.wav  2>&1 | grep time
        Command being timed: "go run main.go -f sample.wav"
        User time (seconds): 6.01
        System time (seconds): 10.02
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:14.85

Versus flac 1.4.3 CLI:

$ /usr/bin/time -v flac sample.wav -f -o sample_flac.flac 2>&1 | grep time
        Command being timed: "flac sample.wav -f -o sample_flac.flac"
        User time (seconds): 0.74
        System time (seconds): 0.14
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.93

I don't point this out to roast golang or this codebase, but it does look like there is a good possibility of tuning the performance?

One other data point with compression enabled via mewkiz/flac-tools PR #1

$ /usr/bin/time -v  go run main.go -c -f sample.wav  2>&1 | grep time
        Command being timed: "go run main.go -c -f sample.wav"
        User time (seconds): 11.15
        System time (seconds): 10.86
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:20.65

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions