Browse Source

Update Hyperlane (#10370)

* feat: inline

* feat: dockerfile

* feat: v4.52.1

* feat: remove key

* remove: log

* remove: log

* feat: async

* remove: empty loop

* feat: utf8

* change: pool_size

* remove: utf8

* feat: log

* feat: log

* feat: v3.14.1

* feat: 4.56.3

* feat: 4.56.4

* feat: 4.56.5

* feat:  rename

* Merge branch 'master' of github.com:TechEmpower/FrameworkBenchmarks

* feat: speed

* feat: speed

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* feat: runtime

* feat: runtime

* feat: runtime

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* feat: update

* Merge remote-tracking branch 'upstream/master'

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* Merge remote-tracking branch 'upstream/master'

* feat: hyperlane

* feat: update

* docs: readme

* feat: update

* Merge remote-tracking branch 'upstream/master'

* feat: update

* feat: update

* feat: update

* Merge remote-tracking branch 'upstream/master'

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: lock

* feat: use super

* feat: update lock

* feat: update

* feat: update lock

* feat: update lock

* feat: update lock

* feat: lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* Merge remote-tracking branch 'upstream/master'

* feat: update

* feat: utf8

* feat: utf8

* feat: lock

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* update: code

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* Merge remote-tracking branch 'upstream/master'

* feat: update version

* feat: update version

* update: code

* Merge remote-tracking branch 'upstream/master'

* feat: lock

* feat: lock

* feat: lock

* feat: lock

* feat: lock

* feat: lock

* feat: lock

* feat: error handle

* feat: dep

* feat: get_thread_count

* update: code

* feat: lock

* feat: speed

* feat: speed

* update: code

* feat: speed

* update: code

* feat: lock

* fix: Framework hyperlane does not define a default test in benchmark_config.json

* feat: hyperlane http version

* feat: hyperlane http version

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: v0.1.0

* feat: toml

* feat: v6

* feat: v6

* feat: v6

* feat: v6

* feat: v6

* debug: test cache

* debug: test cache

* feat: v6

* feat: send unwrap

* feat: v6

* feat: v6

* feat: v0.1.0

* feat: toml

* feat: toml

* feat: db

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: dir update

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: 2025-10-24 12:22:32

* feat: v0.1.0

* Merge branch 'master' of github.com:TechEmpower/FrameworkBenchmarks

* feat: v0.1.0

* Merge branch 'master' of github.com:TechEmpower/FrameworkBenchmarks

* feat: 2025-11-09 18:38:22

* feat: toml

* feat: toml

* feat: buffer

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

---------

Co-authored-by: 尤雨东 <[email protected]>
尤雨东 1 week ago
parent
commit
bfe549e335

+ 6 - 6
frameworks/Rust/hyperlane/Cargo.lock

@@ -525,15 +525,15 @@ dependencies = [
 
 
 [[package]]
 [[package]]
 name = "http-constant"
 name = "http-constant"
-version = "1.72.1"
+version = "1.73.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "353963e842122ef31dd4a109444c59b28077852ca41717ebe643e4b70b116838"
+checksum = "7886400d92b0eb2db84097de69ed4649ca9466f4c6b4e8cb342a3b46934a8d43"
 
 
 [[package]]
 [[package]]
 name = "http-type"
 name = "http-type"
-version = "5.10.1"
+version = "5.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c268b9b4b2784ef04e3725a037c187d2ae16ef65d745f03324142b39d2a83c4"
+checksum = "b27d55be58ea8bc2ab73573aeafa68fd50b3098813f83029bcb766f1f1c61b3b"
 dependencies = [
 dependencies = [
  "hex",
  "hex",
  "http-compress",
  "http-compress",
@@ -549,9 +549,9 @@ dependencies = [
 
 
 [[package]]
 [[package]]
 name = "hyperlane"
 name = "hyperlane"
-version = "10.13.1"
+version = "10.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d1e64ffb83f03e3c760d206f2ac3fd4a8d799da970db25b76c10813db26f25e"
+checksum = "6abaa8b50397c4a9d2d0d969ccba9cecdad7bf0fa75c7da0335d6895c3d0ce98"
 dependencies = [
 dependencies = [
  "aho-corasick",
  "aho-corasick",
  "http-type",
  "http-type",

+ 1 - 1
frameworks/Rust/hyperlane/Cargo.toml

@@ -20,7 +20,7 @@ exclude = [
 
 
 [dependencies]
 [dependencies]
 futures = "0.3.31"
 futures = "0.3.31"
-hyperlane = "10.13.1"
+hyperlane = "10.14.0"
 hyperlane-time = "0.7.12"
 hyperlane-time = "0.7.12"
 num_cpus = "1.17.0"
 num_cpus = "1.17.0"
 once_cell = "1.21.3"
 once_cell = "1.21.3"

+ 7 - 4
frameworks/Rust/hyperlane/src/db/fn.rs

@@ -87,13 +87,16 @@ pub(crate) async fn connection_db() -> DbPoolConnection {
             "{DATABASE_TYPE}://{DATABASE_USER_NAME}:{DATABASE_USER_PASSWORD}@{DATABASE_HOST}:{DATABASE_PORT}/{DATABASE_NAME}"
             "{DATABASE_TYPE}://{DATABASE_USER_NAME}:{DATABASE_USER_PASSWORD}@{DATABASE_HOST}:{DATABASE_PORT}/{DATABASE_NAME}"
         ),
         ),
     };
     };
-    let pool_size: u32 = (get_thread_count() as u32).min(DB_MAX_CONNECTIONS);
+    let thread_count: u32 = get_thread_count() as u32;
+    let max_connections: u32 = (thread_count * 4).min(DB_MAX_CONNECTIONS);
+    let min_connections: u32 = thread_count.max(1);
     let pool: DbPoolConnection = PgPoolOptions::new()
     let pool: DbPoolConnection = PgPoolOptions::new()
-        .max_connections(DB_MAX_CONNECTIONS)
-        .min_connections(pool_size)
+        .max_connections(max_connections)
+        .min_connections(min_connections)
+        .acquire_timeout(std::time::Duration::from_secs(2))
+        .idle_timeout(None)
         .max_lifetime(None)
         .max_lifetime(None)
         .test_before_acquire(false)
         .test_before_acquire(false)
-        .idle_timeout(None)
         .connect(db_url)
         .connect(db_url)
         .await
         .await
         .unwrap();
         .unwrap();

+ 1 - 4
frameworks/Rust/hyperlane/src/main.rs

@@ -34,10 +34,7 @@ async fn main() {
     init_db().await;
     init_db().await;
 
 
     let config: ServerConfig = ServerConfig::new().await;
     let config: ServerConfig = ServerConfig::new().await;
-    config.host("0.0.0.0").await;
     config.port(8080).await;
     config.port(8080).await;
-    config.buffer(256).await;
-    config.disable_linger().await;
     config.disable_nodelay().await;
     config.disable_nodelay().await;
 
 
     let server: Server = Server::from(config).await;
     let server: Server = Server::from(config).await;
@@ -50,6 +47,6 @@ async fn main() {
     server.route::<FortunesRoute>("/fortunes").await;
     server.route::<FortunesRoute>("/fortunes").await;
     server.route::<UpdateRoute>("/upda").await;
     server.route::<UpdateRoute>("/upda").await;
 
 
-    let server_hook: ServerControlHook = server.run().await.unwrap_or_default();
+    let server_hook: ServerControlHook = server.run().await.unwrap();
     server_hook.wait().await;
     server_hook.wait().await;
 }
 }