New submission from Inada Naoki <songofaca...@gmail.com>:

In most case, docstring in C is constant.
Can we add "const"?  If we can, it can avoid allocating and copying several KBs.

--- a/Include/pymacro.h
+++ b/Include/pymacro.h
@@ -69,4 +69,4 @@
 /* Define macros for inline documentation. */
-#define PyDoc_VAR(name) static char name[]
+#define PyDoc_VAR(name) static const char name[]
 #define PyDoc_STRVAR(name,str) PyDoc_VAR(name) = PyDoc_STR(str)
 #ifdef WITH_DOC_STRINGS


Some drastic impacts:

before:
   text    data     bss     dec     hex filename
 110446   57371      96  167913   28fe9 Modules/posixmodule.o
  91937   32236     208  124381   1e5dd 
build/temp.linux-x86_64-3.8/home/inada-n/work/python/cpython/Modules/_decimal/_decimal.o
  61070   31534     472   93076   16b94 
build/temp.linux-x86_64-3.8/home/inada-n/work/python/cpython/Modules/_cursesmodule.o


after:
$ size **/*.o
   text    data     bss     dec     hex filename
 150761   17064      96  167921   28ff1 Modules/posixmodule.o
 115213    8976     208  124397   1e5ed 
build/temp.linux-x86_64-3.8/home/inada-n/work/python/cpython/Modules/_decimal/_decimal.o
  86878    5736     472   93086   16b9e 
build/temp.linux-x86_64-3.8/home/inada-n/work/python/cpython/Modules/_cursesmodule.o

----------
components: Interpreter Core
messages: 340333
nosy: inada.naoki
priority: normal
severity: normal
status: open
title: make docstring in C const
versions: Python 3.8

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue36641>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to