unix: Disable the GIL to improve performance of non-thread code.
Threading support is still very new so stay conservative at this point and enable threading without the GIL. This requires users to protect concurrent access of mutatable Python objects (eg lists) with locks at the Python level (something you should probably do anyway). The advantage is that there is less of a performance hit for non-threaded code, because the VM does not need to constantly release/acquire the GIL. In the future the GIL will be made more efficient. There is also room to improve the efficiency of non-GIL code by not using mutex's if there is only one thread active.
This commit is contained in:
parent
520f35632d
commit
3096928d5a
@ -94,7 +94,7 @@ CFLAGS_MOD += -DMICROPY_PY_SOCKET=1
|
||||
SRC_MOD += modsocket.c
|
||||
endif
|
||||
ifeq ($(MICROPY_PY_THREAD),1)
|
||||
CFLAGS_MOD += -DMICROPY_PY_THREAD=1
|
||||
CFLAGS_MOD += -DMICROPY_PY_THREAD=1 -DMICROPY_PY_THREAD_GIL=0
|
||||
LDFLAGS_MOD += -lpthread
|
||||
endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user