简单聊聊 ABAP 变量消耗的内存空间这个话题的试读版

简介: 简单聊聊 ABAP 变量消耗的内存空间这个话题的试读版

本教程之前的文章介绍了 ABAP 调试器的用法:

  • 13. 最浅显易懂的 SAPGUI 里 ABAP 调试器的使用方法介绍

有朋友向我咨询:ABAP 调试器里变量显示标签里,如果对于一个内表变量,Val 栏下的 [1x3(28)]Standard Table 是什么意思?

4cbf50cb02c615840ae2a27997608f3b.png

为了准确回答这个问题,我们就得简单了解下 ABAP 程序里的变量,在运行时消耗的内存空间这个问题。


在本教程第四篇文章,我们学习了 ABAP 编程语言里基本的数据结构:


4. ABAP 标准培训教程 BC400 学习笔记之四:ABAP 编程语言的数据类型

回到本文开始的疑问。


看这段简单的 ABAP 代码:

TYPES: BEGIN OF ty_data,
         name  TYPE c,
         age   TYPE c LENGTH 2,
         score TYPE c LENGTH 11,
       END OF ty_data.
DATA: ls_data TYPE ty_data,
      lt_data TYPE TABLE OF ty_data.
ls_data-name = 'c'.
ls_data-age = 'ab'.
APPEND ls_data TO lt_data.


定义了一个内表变量 lt_data, 其行类型为一个结构,包含名叫 name,age 和 score 这三个字段,字段类型都为 c,长度分别为 1,2 和 11.

既然都是固定的字符类型,那么内表每一行占据的内存空间为 ( 1 + 2 + 11 ) × 2 = 28 字节。

8052a305f5a85970dd614419539534a4.png

所以 [1x3(28)]Standard Table 里的1,代表当前内表的记录数,3 代表每条记录的列数或者说字段个数,28 代表每条记录占据的字节大小。

当我们给行类型定义增添一个类型为 string 的字段 content 之后,我们发现每行占据的内存空间,从 28 个字节增加到了 36 个字节,多出来 8 个字节。

0d8f95701b2e2e29375578be35bb379a.png

虽然我们尚未给 content 字段增添任何内容,这个字段包含的是空的初始值。那么这多出来的 8 个字节是做什么用的?

本文余下部分,详细介绍这多出来的 8 个字节是从哪里来的,以及这张图背后传递的信息。

76046a5c9a4e4c0b1ec53f34cec2c30d.png

相关文章
|
20天前
|
Java
JVM之本地内存以及元空间,直接内存的详细解析
JVM之本地内存以及元空间,直接内存的详细解析
31 0
|
1月前
|
前端开发 开发工具 Android开发
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
15 0
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
|
13天前
|
存储 机器学习/深度学习 算法
如何准确的估计llm推理和微调的内存消耗
最近发布的三个大型语言模型——Command-R+ (104B参数), Mixtral-8x22b (141B参数的MoE模型), 和 Llama 3 70b (70.6B参数)——需要巨大的内存资源。推理时,Command-R+需193.72GB GPU RAM,Mixtral-8x22B需262.63GB,Llama 370b需131.5GB。激活的内存消耗根据序列长度、批大小等因素变化。文章详细介绍了计算这些模型内存需求的方法,并探讨了如何通过量化、优化器优化和梯度检查点减少内存使用,以适应微调和推理。
40 0
|
1月前
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
16 1
|
1月前
|
存储 API
如何在 SAPGUI 的 ABAP 报表里显示图片试读版
如何在 SAPGUI 的 ABAP 报表里显示图片试读版
21 1
|
1月前
SAP ABAP Subscreen 使用介绍试读版
SAP ABAP Subscreen 使用介绍试读版
17 0
SAP ABAP Subscreen 使用介绍试读版
|
1月前
|
数据库
如何查询 SAP ABAP 系统里消耗存储空间排名前几位的数据库表试读版
如何查询 SAP ABAP 系统里消耗存储空间排名前几位的数据库表试读版
10 0
如何查询 SAP ABAP 系统里消耗存储空间排名前几位的数据库表试读版
|
1月前
|
数据库 存储 BI
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
12 0
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
|
1月前
|
数据库
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
11 0
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
|
1月前
|
Java SQL 数据库
ABAP 7.40 新语法介绍系列之五 - 增强的 ABAP OPEN SQL 语法介绍试读版
ABAP 7.40 新语法介绍系列之五 - 增强的 ABAP OPEN SQL 语法介绍试读版
12 0
ABAP 7.40 新语法介绍系列之五 - 增强的 ABAP OPEN SQL 语法介绍试读版