You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by GitBox <gi...@apache.org> on 2022/08/03 14:56:14 UTC

[GitHub] [arrow-nanoarrow] paleolimbot opened a new issue, #11: Inline performance-sensitive functions and their dependencies

paleolimbot opened a new issue, #11:
URL: https://github.com/apache/arrow-nanoarrow/issues/11

   A number of functions should be defined as `inline` with their definition visible to the compiler when a client types `#include "nanoarrow.h"`. Buffer appenders, element-wise builder, and bitmap functions are in this category.
   
   My expertise is pretty limited with respect to strategies of how to do this while maintaining nice documentation...I imagine the headers would get split up (error.h, buffer.h, bitmap.h, builder.h) and nanoarrow.h would get reduced to a set of includes. I rather liked reading through adbc.h to get a sense of what ADBC is and what it does, so perhaps there's another strategy that can be used to maintain nanoarrow.h in something like its current form.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-nanoarrow] lidavidm commented on issue #11: Inline performance-sensitive functions and their dependencies

Posted by GitBox <gi...@apache.org>.
lidavidm commented on issue #11:
URL: https://github.com/apache/arrow-nanoarrow/issues/11#issuecomment-1204065088

   I don't think you need to split up the headers, just 
   
   ```c
   /// \brief Docstring...
   inline ArrowErrorCode ArrowBufferAppend() {
     // Definition...
   }
   ```
   
   directly in the header and continue as usual.
   
   If having definitions inline is messy, you could still split the declaration and definition (and then shunt all the definitions to the bottom)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-nanoarrow] paleolimbot closed issue #11: Inline performance-sensitive functions and their dependencies

Posted by GitBox <gi...@apache.org>.
paleolimbot closed issue #11: Inline performance-sensitive functions and their dependencies
URL: https://github.com/apache/arrow-nanoarrow/issues/11


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-nanoarrow] pitrou commented on issue #11: Inline performance-sensitive functions and their dependencies

Posted by GitBox <gi...@apache.org>.
pitrou commented on issue #11:
URL: https://github.com/apache/arrow-nanoarrow/issues/11#issuecomment-1204071180

   Note that inline functions (or macros) require you to be very careful if you want to maintain some ABI compatibility. I don't know if that's a goal of nanoarrow, but worth remembering.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-nanoarrow] paleolimbot commented on issue #11: Inline performance-sensitive functions and their dependencies

Posted by GitBox <gi...@apache.org>.
paleolimbot commented on issue #11:
URL: https://github.com/apache/arrow-nanoarrow/issues/11#issuecomment-1206753929

   Fixed in #10 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org