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

Can authors write guides to introduce how we can use this project in the Windows environment? #33

Open
thingsareright opened this issue Jul 1, 2020 · 4 comments

Comments

@thingsareright
Copy link

Can authors make a instruction so as to guide other programmers to use tihis project in the Windows environment?

@syang0
Copy link
Member

syang0 commented Jul 1, 2020

Hi thingsareright,

Unfortunately, the project only supports Linux right now, and I've updated the README.md to reflect this.

However, I believe the only incompatibilities with Windows are NanoLog's usage of POSIX AIO/threads and the assembly rdstc instruction (which can be replaced with std::high_resolution_clock). If you like to make a port and submit it as a pull-request, I would be happy to accept it.

Best Regards,
Stephen Yang

@thingsareright
Copy link
Author

thingsareright commented Jul 2, 2020 via email

@Roman-Koshelev
Copy link
Contributor

What were the reasons for using posix AIO? Asynchrony is emulated. This doesn't look optimal (just open the glibc code to make sure). In musl in General each operation will create its own thread

@syang0
Copy link
Member

syang0 commented Nov 21, 2020

Hi Roman-Koshelev,

The decision was made long ago, so I may not remember all the details. However, I believe posix AIO was originally chosen because it was more convenient at the time.

The only other option I had considered back then was the kernel's libaio, but that had requirements about memory alignment and (I think) performed a memory copy in the calling thread. For posix AIO, all I had to do was give it the pointer and byte size of a buffer, and the library would handle the rest; so I chose posix AIO.

Best Regards,
Stephen Yang

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

3 participants