Skip to content

Commit 34b3b3e

Browse files
updates to process and pipe import code...need a way to turn
billiard on/off
1 parent e427df2 commit 34b3b3e

1 file changed

Lines changed: 27 additions & 9 deletions

File tree

memory_profiler.py

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,34 @@
2121

2222

2323
# TODO: provide alternative when multiprocessing is not available
24-
try:
25-
if "MEMPROF_PREFERS_BILLIARD" in os.environ and \
26-
os.environ["MEMPROF_PREFERS_BILLIARD"] in ["True", "true", "TRUE", "1"]:
27-
from billiard import Process, Pipe
28-
except ImportError:
29-
try:
30-
from multiprocessing import Process, Pipe
31-
except ImportError:
32-
from multiprocessing.dummy import Process, Pipe
24+
import billiard, multiprocessing
25+
MULTILIBS = (
26+
(billiard, lambda: True if "MEMPROF_PREFERS_BILLIARD" in os.environ and \
27+
os.environ["MEMPROF_PREFERS_BILLIARD"] in ["True", "true", "TRUE", "1"]),
28+
(multiprocessing,),
29+
(multiprocessing.dummy,)
30+
)
31+
for module_tuple in MULTILIBS:
32+
multi_module, use_if_test = module_tuple
33+
if use_if_test is None or use_if_test():
34+
try:
35+
from multi_module import Process, Pipe
36+
break
37+
except ImportError:
38+
continue
39+
40+
3341

42+
# try:
43+
# if "MEMPROF_PREFERS_BILLIARD" in os.environ and \
44+
# os.environ["MEMPROF_PREFERS_BILLIARD"] in ["True", "true", "TRUE", "1"]:
45+
# from billiard import Process, Pipe
46+
# except ImportError:
47+
# try:
48+
# from multiprocessing import Process, Pipe
49+
# except ImportError:
50+
# from multiprocessing.dummy import Process, Pipe
51+
#
3452

3553
try:
3654
from IPython.core.magic import Magics, line_cell_magic, magics_class

0 commit comments

Comments
 (0)