diff mbox series

[bug#59177] python-protobuf: Use C++ implementation

Message ID 878rkjz08w.fsf@dlr.de
State New
Headers show
Series [bug#59177] python-protobuf: Use C++ implementation | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success
cbaines/issue success View issue

Commit Message

Ontje.Luensdorf@dlr.de Nov. 10, 2022, 8:23 a.m. UTC
Hi Guix,

this patch configures python-protobuf to use the C++ protobuf
implementation. This additional dependency pays off with a 10x
performance improvement in some of my workloads.

Best regards,
Ontje

Comments

Ludovic Courtès Nov. 28, 2022, 9:58 p.m. UTC | #1
Hi,

<Ontje.Luensdorf@dlr.de> skribis:

> this patch configures python-protobuf to use the C++ protobuf
> implementation. This additional dependency pays off with a 10x
> performance improvement in some of my workloads.

Impressive.  It would be nice to have that info as a comment in the code
for future reference.

> From f2675cccf54d2bb1291ba1614ca44966730734e1 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Ontje=20L=C3=BCnsdorf?= <ontje.luensdorf@dlr.de>
> Date: Thu, 10 Nov 2022 09:11:11 +0100
> Subject: [PATCH] gnu: python-protobuf: Use C++ implementation.
>
> * gnu/packages/protobuf.scm (python-protobuf): Use C++ implementation.
>   [propagated-inputs]: Add protobuf.
>   [arguments]: Add --cpp_implementation configure flags.
> ---
>  gnu/packages/protobuf.scm | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
> index 1448691a42..9be35783fb 100644
> --- a/gnu/packages/protobuf.scm
> +++ b/gnu/packages/protobuf.scm
> @@ -393,6 +393,9 @@ (define-public python-protobuf
>          (base32
>           "1ja2vpk9nklllmsirmil2s4l7ni9yfqvbvj47zz5xx17s1k1bhxd"))))
>      (build-system python-build-system)
> +    (propagated-inputs (list protobuf))

Does it really need to be propagated?  Would be nice if this could be
avoided, for instance by adding a phase that hardcodes the absolute file
name of the protobuf shared library, if that’s the reason why it’s being
propagated.   And if we really have to propagate it, then it’d be nice
to clarify what.  WDYT?

Thanks,
Ludo’.
diff mbox series

Patch

From f2675cccf54d2bb1291ba1614ca44966730734e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ontje=20L=C3=BCnsdorf?= <ontje.luensdorf@dlr.de>
Date: Thu, 10 Nov 2022 09:11:11 +0100
Subject: [PATCH] gnu: python-protobuf: Use C++ implementation.

* gnu/packages/protobuf.scm (python-protobuf): Use C++ implementation.
  [propagated-inputs]: Add protobuf.
  [arguments]: Add --cpp_implementation configure flags.
---
 gnu/packages/protobuf.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index 1448691a42..9be35783fb 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -393,6 +393,9 @@  (define-public python-protobuf
         (base32
          "1ja2vpk9nklllmsirmil2s4l7ni9yfqvbvj47zz5xx17s1k1bhxd"))))
     (build-system python-build-system)
+    (propagated-inputs (list protobuf))
+    (arguments
+     `(#:configure-flags '("--cpp_implementation")))
     (home-page "https://github.com/google/protobuf")
     (synopsis "Protocol buffers is a data interchange format")
     (description
-- 
2.38.1