package main
import (
"fmt"
"os"
)
func main(){
var f int64 = 0
for i := 0; i < 1000000000; i++{
f+=f ^ 0x82fc012dd
}
fmt.Fprintln(os.Stdout, f)
}
#include <stdio.h>
int main(){
long long c = 0;
for(long long i = 0; i < 10000000000; i++){
c+=c xor 0x82fc012dd;
}
printf("result: %llu",c);
return 1;
}
echo g++
g++ a.cpp -O3 -o a.exe && time ./a.exe
echo clang
clang a.cpp -O3 -o a.exe && time ./a.exe
echo golang
go tool compile -S main.go > main.s && time ./main
g++
result: 35160855261
real 0m4,386s
user 0m4,386s
sys 0m0,000s
clang
result: 35160855261
real 0m4,436s
user 0m4,435s
sys 0m0,000s
golang
35160855261
real 0m0,046s
user 0m0,046s
sys 0m0,000s
0x0014 00020 (main.go:8) XORL AX, AX
0x0016 00022 (main.go:8) XORL CX, CX
0x0018 00024 (main.go:11) JMP 45
0x001a 00026 (main.go:11) INCQ AX
0x001d 00029 (main.go:12) MOVQ $35160855261, DX
0x0027 00039 (main.go:12) XORQ CX, DX
0x002a 00042 (main.go:12) ADDQ DX, CX
0x002d 00045 (main.go:11) CMPQ AX, $1000000000
0x0033 00051 (main.go:11) JLT 26
# %bb.0:
movabsq $-10000000000, %rax # imm = 0xFFFFFFFDABF41C00
movabsq $35160855261, %rcx # imm = 0x82FC012DD
xorl %esi, %esi
.p2align 4, 0x90
.LBB0_1: # =>This Inner Loop Header: Depth=1
movq %rsi, %rdx
xorq %rcx, %rdx
addq %rsi, %rdx
movq %rdx, %rsi
xorq %rcx, %rsi
addq %rdx, %rsi
movq %rsi, %rdx
xorq %rcx, %rdx
addq %rsi, %rdx
movq %rdx, %rsi
xorq %rcx, %rsi
addq %rdx, %rsi
movq %rsi, %rdx
xorq %rcx, %rdx
addq %rsi, %rdx
movq %rdx, %rsi
xorq %rcx, %rsi
addq %rdx, %rsi
movq %rsi, %rdx
xorq %rcx, %rdx
addq %rsi, %rdx
movq %rdx, %rsi
xorq %rcx, %rsi
addq %rdx, %rsi
addq $8, %rax
jne .LBB0_1
HTTP/2 200
server: nginx
date: Thu, 16 Jun 2022 02:19:38 GMT
content-type: image/png
content-length: 73103
last-modified: Fri, 25 Mar 2022 06:47:59 GMT
etag: "623d659f-11d8f"
x-request-geoip-country-code: EE
strict-transport-security: max-age=31536000; includeSubDomains
x-proxy-cache-status: MISS
access-control-allow-origin: *
access-control-allow-methods: GET
accept-ranges: bytes
дальше идет файл
(это просто пример первого попавшегося запроса с сайта хабра)curl 'https://dr.habracdn.net/qna/623d6590/images/placeholders_icons_sheet.png' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0' -H 'Accept: image/avif,image/webp,*/*' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate, br' -H 'Referer: https://dr.habracdn.net/qna/623d6590/frontend.css'
проверь наличие /dev/disk/by-id и если есть, пиши идентификатор диска, работать будет со всеми утилитами (в отличии от UUID) и не будет зависеть от вывертов биоса
и да пересобирать squashfs с новыми данными, полагаю проблем с cpio не будет?