Skip to content

Commit 7a5d8f2

Browse files
committed
test: 增加头12,8对齐内存测试
1 parent cd17a1a commit 7a5d8f2

3 files changed

Lines changed: 23 additions & 2 deletions

File tree

reports/memory/host.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,22 @@
11
# 内存占用对比(Host)
22

3-
更新时间:2026-03-16 14:44:57
3+
更新时间:2026-03-23 23:39:33
44

55
说明:
66
- host 与 QEMU 结果可能不同:平台 ABI 与对齐规则差异会改变结构体布局与 padding。
77
- 即使同为 32 位,x86(i386) 与 ARM EABI 的 double/uint64_t 对齐也可能不同。
88
- 需要严格一致时,请以 QEMU 结果为准,或在同一 ABI/工具链下对比。
99

10+
### malloc 头部空间=12 字节,对齐=8 字节
11+
| 用例 | 文本长度 | RyanJson 内存 | cJSON 内存 | yyjson 内存 | 相比 cJSON 节省% | 相比 yyjson 节省% |
12+
| --- | --- | --- | --- | --- | --- | --- |
13+
| 混合对象 | 2265 | 7932 | 15940 | 8860 | **50.24%** | **10.47%** |
14+
| 经典天气对象 | 3991 | 11784 | 23276 | 13024 | **49.37%** | **9.52%** |
15+
| 深度数组 | 1205 | 6380 | 11796 | 5112 | **45.91%** | **-24.80%** |
16+
| 小型混合对象 | 90 | 260 | 560 | 692 | **53.57%** | **62.43%** |
17+
| 小型字符串对象 | 100 | 280 | 692 | 692 | **59.54%** | **59.54%** |
18+
| 压缩业务对象 | 551 | 2052 | 5032 | 3064 | **59.22%** | **33.03%** |
19+
1020
### malloc 头部空间=12 字节,对齐=4 字节
1121
| 用例 | 文本长度 | RyanJson 内存 | cJSON 内存 | yyjson 内存 | 相比 cJSON 节省% | 相比 yyjson 节省% |
1222
| --- | --- | --- | --- | --- | --- | --- |

reports/memory/qemu.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,22 @@
11
# 内存占用对比(QEMU)
22

3-
更新时间:2026-03-16 14:45:09
3+
更新时间:2026-03-23 23:39:53
44

55
说明:
66
- host 与 QEMU 结果可能不同:平台 ABI 与对齐规则差异会改变结构体布局与 padding。
77
- 即使同为 32 位,x86(i386) 与 ARM EABI 的 double/uint64_t 对齐也可能不同。
88
- 需要严格一致时,请以 QEMU 结果为准,或在同一 ABI/工具链下对比。
99

10+
### malloc 头部空间=12 字节,对齐=8 字节
11+
| 用例 | 文本长度 | RyanJson 内存 | cJSON 内存 | yyjson 内存 | 相比 cJSON 节省% | 相比 yyjson 节省% |
12+
| --- | --- | --- | --- | --- | --- | --- |
13+
| 混合对象 | 2265 | 7932 | 17676 | 10396 | **55.13%** | **23.70%** |
14+
| 经典天气对象 | 3991 | 11784 | 25084 | 14816 | **53.02%** | **20.46%** |
15+
| 深度数组 | 1205 | 6380 | 13308 | 6008 | **52.06%** | **-6.19%** |
16+
| 小型混合对象 | 90 | 260 | 616 | 756 | **57.79%** | **65.61%** |
17+
| 小型字符串对象 | 100 | 280 | 748 | 756 | **62.57%** | **62.96%** |
18+
| 压缩业务对象 | 551 | 2052 | 5456 | 3448 | **62.39%** | **40.49%** |
19+
1020
### malloc 头部空间=12 字节,对齐=4 字节
1121
| 用例 | 文本长度 | RyanJson 内存 | cJSON 内存 | yyjson 内存 | 相比 cJSON 节省% | 相比 yyjson 节省% |
1222
| --- | --- | --- | --- | --- | --- | --- |

run_local_memory.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ memDefaultCase="${MEM_DEFAULT_CASE:-false false true}"
1515
memStripAnsiLog="${MEM_STRIP_ANSI_LOG:-1}"
1616

1717
readonly memCases=(
18+
"header=12 align=8"
1819
"header=12 align=4"
1920
"header=8 align=8"
2021
"header=8 align=4"

0 commit comments

Comments
 (0)