Skip to content
This repository has been archived by the owner on Jan 28, 2021. It is now read-only.

Make mapping per partition #681

Merged
merged 1 commit into from
Apr 23, 2019
Merged

Make mapping per partition #681

merged 1 commit into from
Apr 23, 2019

Conversation

kuba--
Copy link
Contributor

@kuba-- kuba-- commented Apr 17, 2019

Signed-off-by: kuba-- kuba@sourced.tech
This PR refactors interaction with mapping. After we introduced parallel index creating, mapping became a bottleneck.
To avoid locking on boltDB write sync, we create a mapping file per partition (because we parallelized index creation per partition).
It fixes #676

Signed-off-by: kuba-- <kuba@sourced.tech>
@kuba-- kuba-- requested a review from a team April 17, 2019 21:29
@kuba-- kuba-- added the bug Something isn't working label Apr 17, 2019
Copy link
Contributor

@erizocosmico erizocosmico left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have by any chance the perf numbers of this vs no parallel indexes?

@kuba--
Copy link
Contributor Author

kuba-- commented Apr 23, 2019

**~ 66 repos (siva files 10 x java, ruby, python, javascript, go + golang/go)**

CREATE INDEX email_idx ON commits USING pilosa (commit_author_email);
  • gitbase v19: 10.4s, 29MB, rows=90005
  • gitbase @master + parallel index + mapping: 7.5s, 29MB, rows=92506

@ajnavarro ajnavarro merged commit 634630f into src-d:master Apr 23, 2019
@kuba-- kuba-- deleted the perf-676/index branch April 23, 2019 16:40
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Index generation is slower than previous implementation
3 participants