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

Implement InputParser and ParseBuffer lock-free #3663

Open
vigsterkr opened this issue Feb 28, 2017 · 7 comments
Open

Implement InputParser and ParseBuffer lock-free #3663

vigsterkr opened this issue Feb 28, 2017 · 7 comments

Comments

@vigsterkr
Copy link
Member

currently for synchronisation mutex and conditional vars are being used, which is a waste of resources. use atomic types to implement a lock-free InputParser and ParseBuffer

@tdjogi010
Copy link
Contributor

tdjogi010 commented Mar 4, 2017

Hi @vigsterkr, I would like to work on this.

@vigsterkr
Copy link
Member Author

@tdjogi010 sure thing, just send a PR when you have something

@tdjogi010
Copy link
Contributor

Even though I am working on it, if anyone wishes to take this one up, please do so. Not sure if I can implement it correctly.

@hangg7
Copy link

hangg7 commented Mar 6, 2017

@vigsterkr @tdjogi010 Interesting. Thanks being so generous about the task, would have a stub on it.

@tdjogi010
Copy link
Contributor

Hi @vigsterkr , as far as I have understood, InputParser uses the ParseBuffer(which is a ring buffer) to hold the data and does the parsing(with the help of StreamingFile classes) in a separate thread when started. Now the StreamingFeatures fetches example objects one by one through a InputParser object. So there is only one parsing thread(producer) and only one streaming*feature thread(consumer) at all times? Not multiple producer/multiple consumer?

@vigsterkr
Copy link
Member Author

yeah pretty much that's the story there.

@tdjogi010
Copy link
Contributor

Thanks!

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

No branches or pull requests

3 participants