From a458ea2dacd13a7933d68a3fab27cfdf9f91a4d4 Mon Sep 17 00:00:00 2001 From: Bradlee Speice Date: Tue, 30 Jun 2020 17:03:20 -0400 Subject: [PATCH] Note on technical similarities. --- Gemfile.lock | 2 +- _posts/2020-06-29-release-the-gil-pt.-2.md | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 40a5613..310c738 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -75,4 +75,4 @@ DEPENDENCIES tzinfo-data BUNDLED WITH - 1.17.3 + 2.1.4 diff --git a/_posts/2020-06-29-release-the-gil-pt.-2.md b/_posts/2020-06-29-release-the-gil-pt.-2.md index 9a61cdc..eaa82f5 100644 --- a/_posts/2020-06-29-release-the-gil-pt.-2.md +++ b/_posts/2020-06-29-release-the-gil-pt.-2.md @@ -1,6 +1,6 @@ --- layout: post -title: "Release the GIL: Part 2 - Pybind11, PyO3" +title: "Release the GIL: Pybind11, PyO3" description: "More Python Parallelism" category: tags: [python, rust, c++] @@ -26,8 +26,11 @@ and Python", and they certainly deliver on that. Setting up a hybrid project whe and Python (using setuptools) could coexist was straight-forward, and the repository also works as [a template](https://github.com/speice-io/release-the-gil-pybind11/settings) for future projects. -TODO: Include anything about how Pybind11 and Cython are similar because of compilation to C++? -Maybe also talk about project setup being a good deal more complicated? +On a technical level, there's a great deal of overlap between Pybind11 and Cython. Where Pybind11 +starts with C++ and facilitates interaction with the interpreter, Cython starts with a Python-like +language and facilitates interaction with other code written in C++. In a way, Pybind11 is for C++ +developers who want to interact with Python, and Cython is for Python developers who want to +interact with C++. Just like the previous post, we'll examine a simple Fibonacci sequence implementation to demonstrate how Python's threading model interacts with Pybind11: