STINNER Victor <[email protected]> added the comment:
With the following change, traceback_t size changes from 24 bytes to 32 bytes:
diff --git a/Modules/_tracemalloc.c b/Modules/_tracemalloc.c
index ee32ac29b7..8a820db907 100644
--- a/Modules/_tracemalloc.c
+++ b/Modules/_tracemalloc.c
@@ -79,6 +79,7 @@ __attribute__((packed))
typedef struct {
Py_uhash_t hash;
int nframe;
+ int length;
frame_t frames[1];
} traceback_t;
@@ -1640,6 +1641,8 @@ PyInit__tracemalloc(void)
if (tracemalloc_init() < 0)
return NULL;
+ printf("sizeof(traceback_t) = %zu bytes\n", sizeof(traceback_t));
+
return m;
}
The following structure size is 24 bytes, so no change:
typedef struct {
Py_uhash_t hash;
short nframe;
short length;
frame_t frames[1];
} traceback_t;
The short approach is promising :-)
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue37961>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com