From a71818bdc4c01440272c23991c57a6fe86d059f4 Mon Sep 17 00:00:00 2001 From: CLIF Team Date: Tue, 9 Jul 2024 10:20:10 -0700 Subject: [PATCH] Avoid Copy when converting Cord to bytes. #perf PiperOrigin-RevId: 650674062 --- clif/python/types.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clif/python/types.cc b/clif/python/types.cc index e955fda..87cad82 100644 --- a/clif/python/types.cc +++ b/clif/python/types.cc @@ -33,9 +33,9 @@ PyObject* Clif_PyObjFrom(absl::string_view c, const py::PostConv& pc) { #endif PyObject* Clif_PyObjFrom(const absl::Cord& c, const py::PostConv& pc) { - std::string s(c); - PyObject* py = PyBytes_FromStringAndSize(s.c_str(), s.size()); + PyObject* py = PyBytes_FromStringAndSize(nullptr, c.size()); if (!py) return nullptr; + c.CopyToArray(PyBytes_AS_STRING(py)); return pc.Apply(py); }