Which Python package supports spawning processes for code optimization?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "multiprocessing". Gói multiprocessing trong thư viện chuẩn Python tạo các tiến trình (process) riêng, mỗi tiến trình có trình thông dịch và bộ nhớ riêng, nên vượt qua được GIL (Global Interpreter Lock, khóa chỉ cho một luồng chạy mã Python tại một thời điểm) và tận dụng nhiều lõi CPU, ví dụ dùng Pool để chạy một hàm song song trên nhiều phần dữ liệu. "threading" tạo luồng (thread) trong cùng một tiến trình chứ không sinh tiến trình, và vì GIL nên nó ít tăng tốc cho tác vụ nặng tính toán, chủ yếu có ích với tác vụ chờ vào ra. "subprocess" đúng là sinh tiến trình, nhưng mục đích là chạy chương trình hay lệnh bên ngoài và đọc kết quả, không phải chia việc tính toán của mã Python ra nhiều lõi để tối ưu. "numpy" tăng tốc bằng phép toán vector hóa viết bằng C trên mảng, không phải công cụ sinh tiến trình.

Cùng phần 5

Xuất hiện trong 1 bộ đề