From 3096928d5ab6544c3f85639e1b97ac2cefcc2a74 Mon Sep 17 00:00:00 2001 From: Damien George Date: Sat, 9 Jul 2016 16:48:06 +0100 Subject: [PATCH] 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. --- unix/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unix/Makefile b/unix/Makefile index fd1c1999dd..2e0cbfd35a 100644 --- a/unix/Makefile +++ b/unix/Makefile @@ -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