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

Rewrite with Rust #153

Open
tetsuharuohzeki opened this issue Jan 5, 2017 · 2 comments
Open

Rewrite with Rust #153

tetsuharuohzeki opened this issue Jan 5, 2017 · 2 comments

Comments

@tetsuharuohzeki
Copy link
Contributor

  • I'd like to do this!
  • But we need start to build a wrapper library for GitHub API v3 or later.
@tetsuharuohzeki
Copy link
Contributor Author

If we rewrite this with Rustlang, we need to consider to spawn a thread.

Go-routine is very light weight, but Rust's std::thread is OS' native thread. It's not light weight just like Go-routine.

Instead, it might be better to use future-rs, fiber-rs, tokio-rs, or mio.

@tetsuharuohzeki
Copy link
Contributor Author

We accept Golang because it's go-routine is suitable to the usecase of a remote api client. There are many pause time to wait a returning a result from a remote server, and this application would require to spawn many threads to handle many incoming request and calls many remote api. For this purpose, Go-routine is very reasonable mechanism.

When we rewrite this, we thought node.js as alternative approach instead of Golang. It's async I/O model is also reasonable for our purpose. Then, however, we wont to focus simply deploying without Docker or other virtualization approach. We wont to deploy only the executable binary and a few configuration files. node.js requires many dependency modules into local's ./node_modules/ dir. We need to pack them into a tar ball before deploying it. It's not our requirement.

nekoya pushed a commit that referenced this issue Jan 31, 2017
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

1 participant