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

performance optimization #178

Open
FishermanZzhang opened this issue Aug 23, 2021 · 6 comments
Open

performance optimization #178

FishermanZzhang opened this issue Aug 23, 2021 · 6 comments

Comments

@FishermanZzhang
Copy link
Contributor

This work is really great, and it is also very important for us to carry out secondary development.
However, we found that the performance does not seem to be very good, so read the code one step further.
The coding is in accordance with the java style.
We expect to change to c++ style. And we made some simple optimizations.
We will submit it after finishing the code. But further optimization is needed.

@FishermanZzhang
Copy link
Contributor Author

FishermanZzhang commented Sep 3, 2021

benchmark-game
Screenshot from 2021-09-02 16-09-03

we found that the construction and destruction of smart pointers is time-consuming.
perf info:
Screenshot from 2021-09-03 16-08-38

@FishermanZzhang
Copy link
Contributor Author

FishermanZzhang commented Sep 9, 2021

We have made some optimizations without changing any logic. And the performance has been greatly improved.
But we expect better than lucene-3.0.3(java)
BTW: Anyone interested in this work can contact me([email protected])

Screenshot from 2021-09-09 17-02-57

@FishermanZzhang
Copy link
Contributor Author

@alanw We want to further accelerate the project, as fast or even faster as Java.
Do you have any plan?

@Cas-pian
Copy link

@alanw Thanks for your nice work. I'll also submit my code to optimize the indexing performance. And we are very happy to discuss more optimizations.

@FishermanZzhang FishermanZzhang changed the title Performance issues performance optimization Sep 13, 2021
@sonic182
Copy link

sonic182 commented Sep 21, 2021

Hi @FishermanZzhang @alanw @Cas-pian

It may be interesting to use a GC, so the pointer destruction's can be schedule for a later moment, that way it will be faster to respond the searches, also when exposed with a http api.

https://www.hboehm.info/gc/ Is a possible GC to use that is used for crystal lang


on other topic, this project could be boosted having better docs, and an http api with a json interface simmilar to ES, to make it easily usable (coud be another repo that uses this lib of course) that may boost this repo for sure

@finddit
Copy link

finddit commented Nov 9, 2021

@alanw We want to further accelerate the project, as fast or even faster as Java.
Do you have any plan?

I do. Forked the project to work on various aspects. Will contribute back to here once I am in a stage where it makes sense. Could take a few months.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants