Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Add a C++ client version in the examples #21

Open
2 of 3 tasks
ArashPartow opened this issue Mar 7, 2023 · 3 comments
Open
2 of 3 tasks

Feature: Add a C++ client version in the examples #21

ArashPartow opened this issue Mar 7, 2023 · 3 comments
Labels
good first issue Good for newcomers

Comments

@ArashPartow
Copy link

ArashPartow commented Mar 7, 2023

Describe what you are looking for

Feature: Add a C++ client version in the examples

Can you contribute to the implementation?

  • I can contribute

Is your feature request specific to a certain interface?

It applies to everything

Contact Details

No response

Is there an existing issue for this?

  • I have searched the existing issues

Code of Conduct

  • I agree to follow this project's Code of Conduct
@ArashPartow ArashPartow added the enhancement New feature or request label Mar 7, 2023
@ashvardanian
Copy link
Collaborator

That’s a good one! We wanted to implement one ourselves, but were not sure how to approach it.

Clients generally don’t have to be as efficient as the server code, cause they are not expected to maintain too many simultaneous connections. You can use cURL from command line or any other basic web library in any language for that.

If we were to implement an client in C/C++, we would prefer it to be as efficient as the server, and would need io-uring + compile time reflection, rather than io-uring + simd parsing. Which implies different constraints and can be a great future project if C++26 comes out with native reflection support.

@ArashPartow
Copy link
Author

ArashPartow commented Mar 9, 2023

That would be a great approach, but perhaps for a first pass, I would propose something as simple as the python/go example - basically demoing the greatest amount of functionality, in the least yet most concise number of SLOC

@ashvardanian
Copy link
Collaborator

@ArashPartow, hey! I somehow missed this. Don't hesitate to tag me the next time 🤗

I ma not sure if a C++ example would be as helpful as C 99, but adding either should be easy. @ishkhan, can you add a short snippet to the main page README? We can polish it together for the 1.0 release.

@ashvardanian ashvardanian added good first issue Good for newcomers and removed enhancement New feature or request labels Feb 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants