-
Notifications
You must be signed in to change notification settings - Fork 254
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
When somebody posts "gocryptfs -speed" results, they are most helpful together with the CPU model. Add the cpu model to the output. Example: $ ./gocryptfs -speed gocryptfs v2.2.0-beta1-5-g52b0444-dirty; go-fuse v2.1.1-0.20210825171523-3ab5d95a30ae; 2021-09-14 go1.17.1 linux/amd64 cpu: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz; with AES acceleration AES-GCM-256-OpenSSL 862.79 MB/s AES-GCM-256-Go 997.71 MB/s (selected in auto mode) AES-SIV-512-Go 159.58 MB/s XChaCha20-Poly1305-OpenSSL 729.65 MB/s XChaCha20-Poly1305-Go 843.97 MB/s (selected in auto mode)
- Loading branch information
Showing
3 changed files
with
71 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
package speed | ||
|
||
import ( | ||
"io/ioutil" | ||
"os" | ||
"runtime" | ||
"strings" | ||
) | ||
|
||
// cpuModelName returns the "model name" acc. to /proc/cpuinfo, or "" | ||
// on error. | ||
// | ||
// Examples: On my desktop PC: | ||
// | ||
// $ grep "model name" /proc/cpuinfo | ||
// model name : Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz | ||
// | ||
// --> Returns "Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz". | ||
// | ||
// On a Raspberry Pi 4: | ||
// | ||
// $ grep "model name" /proc/cpuinfo | ||
// (empty) | ||
// $ grep Hardware /proc/cpuinfo | ||
// Hardware : BCM2835 | ||
// | ||
// --> Returns "BCM2835" | ||
func cpuModelName() string { | ||
if runtime.GOOS != "linux" { | ||
return "" | ||
} | ||
f, err := os.Open("/proc/cpuinfo") | ||
if err != nil { | ||
return "" | ||
} | ||
content, err := ioutil.ReadAll(f) | ||
if err != nil { | ||
return "" | ||
} | ||
lines := strings.Split(string(content), "\n") | ||
// Look for "model name", then for "Hardware" (arm devices don't have "model name") | ||
for _, want := range []string{"model name", "Hardware"} { | ||
for _, line := range lines { | ||
if strings.HasPrefix(line, want) { | ||
parts := strings.SplitN(line, ":", 2) | ||
if len(parts) != 2 { | ||
continue | ||
} | ||
return strings.TrimSpace(parts[1]) | ||
} | ||
} | ||
} | ||
return "" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters