Skip to content

doxlik/filezc

Repository files navigation

App to benchmark io_uring (splice) vs epoll (sendfile) zero-copy file transfer.

Please replace in pom you linux version in this part

        <os.detected.name>linux</os.detected.name>
        <os.detected.arch>aarch_64</os.detected.arch>
        <os.detected.classifier>linux-aarch_64</os.detected.classifier>

To enable epoll use

        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-transport-native-epoll</artifactId>
            <classifier>YOUR_OS_CLASSIFIER</classifier> 
        </dependency>

or to enable io_uring - comment epoll and use

        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-transport-classes-io_uring</artifactId>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-transport-native-io_uring</artifactId>
            <classifier>YOUR_OS_CLASSIFIER</classifier>
        </dependency>

App can be run in intelij IDEA just as simple Spring app or you can build fat executable jar with mvn clean install

To test which transport actully used call

curl 127.0.0.1:8080/thread-name

To retrieve file use

127.0.0.1:8080/file/file_name_from_DATA_folder_of_the_repo

About

Bec

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages