0
0
mirror of https://github.com/neon-mmd/websurfx.git synced 2024-11-21 21:48:21 -05:00

feat: new experimental feature to improve performance using io_uring on linux distributions (#541)

*  feat: provide a new experimental conditional compilation feature to enable io-uring support (#528)

* 🔖 chore(release): bump the app version (#528)
This commit is contained in:
neon_arch 2024-03-12 15:36:13 +03:00 committed by GitHub
parent 991f3f59de
commit d110f72c18
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 49 additions and 7 deletions

52
Cargo.lock generated
View File

@ -136,6 +136,7 @@ checksum = "28f32d40287d3f402ae0028a9d54bef51af15c8769492826a69d28f81893151d"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"tokio 1.36.0", "tokio 1.36.0",
"tokio-uring",
] ]
[[package]] [[package]]
@ -150,8 +151,9 @@ dependencies = [
"futures-core", "futures-core",
"futures-util", "futures-util",
"mio 0.8.11", "mio 0.8.11",
"socket2", "socket2 0.5.6",
"tokio 1.36.0", "tokio 1.36.0",
"tokio-uring",
"tracing", "tracing",
] ]
@ -211,7 +213,7 @@ dependencies = [
"serde_json", "serde_json",
"serde_urlencoded 0.7.1", "serde_urlencoded 0.7.1",
"smallvec 1.13.1", "smallvec 1.13.1",
"socket2", "socket2 0.5.6",
"time 0.3.34", "time 0.3.34",
"url 2.5.0", "url 2.5.0",
] ]
@ -1667,7 +1669,7 @@ dependencies = [
"httpdate", "httpdate",
"itoa 1.0.10", "itoa 1.0.10",
"pin-project-lite", "pin-project-lite",
"socket2", "socket2 0.5.6",
"tokio 1.36.0", "tokio 1.36.0",
"tower-service", "tower-service",
"tracing", "tracing",
@ -1762,6 +1764,16 @@ dependencies = [
"generic-array", "generic-array",
] ]
[[package]]
name = "io-uring"
version = "0.5.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd1e1a01cfb924fd8c5c43b6827965db394f5a3a16c599ce03452266e1cf984c"
dependencies = [
"bitflags 1.3.2",
"libc",
]
[[package]] [[package]]
name = "iovec" name = "iovec"
version = "0.1.4" version = "0.1.4"
@ -3127,6 +3139,12 @@ dependencies = [
"windows-sys 0.52.0", "windows-sys 0.52.0",
] ]
[[package]]
name = "scoped-tls"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
[[package]] [[package]]
name = "scopeguard" name = "scopeguard"
version = "1.2.0" version = "1.2.0"
@ -3372,6 +3390,16 @@ dependencies = [
"serde", "serde",
] ]
[[package]]
name = "socket2"
version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
dependencies = [
"libc",
"winapi 0.3.9",
]
[[package]] [[package]]
name = "socket2" name = "socket2"
version = "0.5.6" version = "0.5.6"
@ -3685,7 +3713,7 @@ dependencies = [
"parking_lot 0.12.1", "parking_lot 0.12.1",
"pin-project-lite", "pin-project-lite",
"signal-hook-registry", "signal-hook-registry",
"socket2", "socket2 0.5.6",
"tokio-macros", "tokio-macros",
"windows-sys 0.48.0", "windows-sys 0.48.0",
] ]
@ -3836,6 +3864,20 @@ dependencies = [
"tokio-executor", "tokio-executor",
] ]
[[package]]
name = "tokio-uring"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d5e02bb137e030b3a547c65a3bd2f1836d66a97369fdcc69034002b10e155ef"
dependencies = [
"io-uring",
"libc",
"scoped-tls",
"slab",
"socket2 0.4.10",
"tokio 1.36.0",
]
[[package]] [[package]]
name = "tokio-util" name = "tokio-util"
version = "0.7.10" version = "0.7.10"
@ -4157,7 +4199,7 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
[[package]] [[package]]
name = "websurfx" name = "websurfx"
version = "1.10.9" version = "1.11.0"
dependencies = [ dependencies = [
"actix-cors", "actix-cors",
"actix-files", "actix-files",

View File

@ -1,6 +1,6 @@
[package] [package]
name = "websurfx" name = "websurfx"
version = "1.10.9" version = "1.11.0"
edition = "2021" edition = "2021"
description = "An open-source alternative to Searx that provides clean, ad-free, and organic results with incredible speed while keeping privacy and security in mind." description = "An open-source alternative to Searx that provides clean, ad-free, and organic results with incredible speed while keeping privacy and security in mind."
repository = "https://github.com/neon-mmd/websurfx" repository = "https://github.com/neon-mmd/websurfx"
@ -87,4 +87,4 @@ redis-cache = ["dep:redis","dep:base64"]
compress-cache-results = ["dep:async-compression","dep:cfg-if"] compress-cache-results = ["dep:async-compression","dep:cfg-if"]
encrypt-cache-results = ["dep:chacha20poly1305","dep:chacha20"] encrypt-cache-results = ["dep:chacha20poly1305","dep:chacha20"]
cec-cache-results = ["compress-cache-results","encrypt-cache-results"] cec-cache-results = ["compress-cache-results","encrypt-cache-results"]
experimental-io-uring = ["actix-web/experimental-io-uring"]