[ 
https://issues.apache.org/jira/browse/PROTON-2095?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17567864#comment-17567864
 ] 

ASF GitHub Bot commented on PROTON-2095:
----------------------------------------

jiridanek commented on PR #375:
URL: https://github.com/apache/qpid-proton/pull/375#issuecomment-1186889417

   At this point, assuming that the overall structure of the PR is acceptable, 
the next steps are I think
   
   - [ ] try it in pypy
   - [ ] do a perf test
   
   So that we know if the goals were fulfilled. And next, autogenerate the 
wrapper code as already mentioned above. Both the header extraction, and the 
API wrapping, such as the buffer-size pattern in
   
   ```
   def pn_ssl_get_cipher_name(ssl, size):
       buffer = ffi.new('char[]', size)
       rc = lib.pn_ssl_get_cipher_name(ssl, buffer, size)
       name = ffi.string(buffer, size)
       return rc, name
   ```




> Move away from SWIG to CFFI
> ---------------------------
>
>                 Key: PROTON-2095
>                 URL: https://issues.apache.org/jira/browse/PROTON-2095
>             Project: Qpid Proton
>          Issue Type: Wish
>          Components: python-binding
>    Affects Versions: proton-c-0.29.0, proton-c-future
>            Reporter: Omer Katz
>            Assignee: Arunagirinadan Sudharshan
>            Priority: Major
>             Fix For: proton-c-future
>
>
> SWIG is fine but we're not using it for anything other than exporting all of 
> proton-c's API as is.
> Unfortunately SWIG only generates CPython extension bindings. This may be a 
> problem on PyPy where CPython extensions are either slow or simply won't 
> compile.
> Unlike SWIG, CFFI is portable both on CPython and PyPy.
> It also satisfies the same requirements as SWIG currently does.
> In addition, calls to CFFI simply release the GIL which will help 
> parallelizing Python applications using threads.
> By using CFFI we can also get rid of all of our setup.py code and simply use 
> it to build the extension. We will also no longer have problems building 
> wheels.
> The newest version of CFFI supports pkg-config so we can use that to find 
> proton-c easily.
> I'm willing to help with the refactor but I'll need a mentor since I'm not 
> familiar with the code base.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to