Skip to content

Commit c29f3d9

Browse files
authored
Upgrade hyperlane (TechEmpower#9825)
* feat: update & fortune * feat: randomNumber * feat: max row 500 * feat: update * feat: Fortune * feat: fortunes * feat: update * feat: update * feat: update * feat: update * feat: fortunes * feat: fortunes * feat: fortunes * feat: fortunes * feat: fortunes * feat: fortunes * 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 * feat: update * feat: update * feat: update * feat: update * feat: cache * feat: cache * feat: config * feat: config * feat: config * feat: v4.36.1 * docs: readme * feat: remove dyn * docs: readme * feat: lock * feat: lock * feat: lock * feat: lock * feat: db pool * feat: db pool * feat: lock * feat: lock * feat: db * feat: db * feat: db * feat: db * feat: db * feat: db * feat: db * feat: db * feat: rand * feat: rand * feat: rand * feat: rand * feat: rand * feat: port * feat: port * feat: port * feat: db * feat: db * feat: db * feat: lock * feat: lock * feat: v4.41.0 * feat: v4.42.0 * Merge remote-tracking branch 'upstream/master' * Merge remote-tracking branch 'upstream/master' * 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
1 parent d189d8a commit c29f3d9

File tree

10 files changed

+74
-82
lines changed

10 files changed

+74
-82
lines changed

frameworks/Rust/hyperlane/Cargo.lock

Lines changed: 38 additions & 37 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frameworks/Rust/hyperlane/Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ exclude = [
1818
]
1919

2020
[dependencies]
21-
hyperlane = "4.84.0"
22-
num_cpus = "1.16.0"
21+
hyperlane = "4.86.0"
2322
rand = "0.9.0"
2423
serde = "1.0.219"
2524
sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] }
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
pub const RESPONSEDATA_STR: &str = "Hello, World!";
2+
pub const RESPONSEDATA_BIN: &[u8] = b"Hello, World!";
3+
pub const DATABASE_TYPE: &str = "postgres";
4+
pub const DATABASE_HOST: &str = "tfb-database";
5+
pub const DATABASE_USER_NAME: &str = "benchmarkdbuser";
6+
pub const DATABASE_USER_PASSWORD: &str = "benchmarkdbpass";
7+
pub const DATABASE_PORT: usize = 5_432;
8+
pub const DATABASE_NAME: &str = "hello_world";
9+
pub const TABLE_NAME_WORLD: &str = "World";
10+
pub const TABLE_NAME_FORTUNE: &str = "Fortune";
11+
pub const ROW_LIMIT: i32 = 500;
12+
pub const RANDOM_MAX: i32 = 10_000;
13+
pub const RANDOM_MAX_ADD_ONE: u32 = 10_001;
14+
pub const KEY_ID: &str = "id";
15+
pub const KEY_RANDOM_NUMBER: &str = "randomnumber";
16+
pub const KEY_MESSAGE: &str = "message";
17+
pub const DB_MAX_CONNECTIONS: u32 = 100;

frameworks/Rust/hyperlane/src/constant.rs

Lines changed: 0 additions & 16 deletions
This file was deleted.

frameworks/Rust/hyperlane/src/db.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,9 @@ pub async fn connection_db() -> DbPoolConnection {
100100
DATABASE_NAME
101101
),
102102
};
103-
let pool_size: u32 = num_cpus::get() as u32;
103+
let pool_size: u32 = (get_thread_count() as u32).min(DB_MAX_CONNECTIONS);
104104
let pool: DbPoolConnection = PgPoolOptions::new()
105-
.max_connections(100)
105+
.max_connections(DB_MAX_CONNECTIONS)
106106
.min_connections(pool_size)
107107
.max_lifetime(None)
108108
.test_before_acquire(false)

frameworks/Rust/hyperlane/src/main.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1-
pub(crate) mod constant;
1+
pub(crate) mod r#const;
22
pub(crate) mod db;
33
pub(crate) mod lazy;
44
pub(crate) mod request_middleware;
5-
pub(crate) mod response_middleware;
65
pub(crate) mod route;
76
pub(crate) mod server;
87
pub(crate) mod r#type;
98
pub(crate) mod utils;
109

11-
pub(crate) use constant::*;
10+
pub(crate) use r#const::*;
1211
pub(crate) use db::*;
1312
pub(crate) use hyperlane::{
1413
futures::{executor::block_on, future::join_all},
@@ -21,7 +20,6 @@ pub(crate) use hyperlane::{
2120
pub(crate) use lazy::*;
2221
pub(crate) use rand::{Rng, SeedableRng, rng, rngs::SmallRng};
2322
pub(crate) use request_middleware::*;
24-
pub(crate) use response_middleware::*;
2523
pub(crate) use route::*;
2624
pub(crate) use server::*;
2725
pub(crate) use sqlx::{

frameworks/Rust/hyperlane/src/request_middleware.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,5 @@ pub async fn request(ctx: Context) {
99
.set_response_header(SERVER, HYPERLANE)
1010
.await
1111
.set_response_header(DATE, gmt())
12-
.await
13-
.set_response_status_code(200)
1412
.await;
1513
}

frameworks/Rust/hyperlane/src/response_middleware.rs

Lines changed: 0 additions & 5 deletions
This file was deleted.

frameworks/Rust/hyperlane/src/route.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,23 @@ pub async fn json(ctx: Context) {
55
"message": RESPONSEDATA_STR
66
});
77
let _ = ctx
8-
.set_response_body(serde_json::to_string(&json).unwrap_or_default())
8+
.send_response(200, serde_json::to_string(&json).unwrap_or_default())
99
.await;
1010
}
1111

1212
pub async fn plaintext(ctx: Context) {
1313
let _ = ctx
1414
.set_response_header(CONTENT_TYPE, TEXT_PLAIN)
1515
.await
16-
.set_response_body(RESPONSEDATA_BIN)
16+
.send_response(200, RESPONSEDATA_BIN)
1717
.await;
1818
}
1919

2020
pub async fn db(ctx: Context) {
2121
let db_connection: &DbPoolConnection = get_db_connection();
2222
let query_row: QueryRow = random_world_row(db_connection).await;
2323
let _ = ctx
24-
.set_response_body(serde_json::to_string(&query_row).unwrap_or_default())
24+
.send_response(200, serde_json::to_string(&query_row).unwrap_or_default())
2525
.await;
2626
}
2727

@@ -36,7 +36,7 @@ pub async fn queries(ctx: Context) {
3636
let db_pool: &DbPoolConnection = get_db_connection();
3737
let data: Vec<QueryRow> = get_some_row_id(queries, db_pool).await;
3838
let _ = ctx
39-
.set_response_body(serde_json::to_string(&data).unwrap_or_default())
39+
.send_response(200, serde_json::to_string(&data).unwrap_or_default())
4040
.await;
4141
}
4242

@@ -56,9 +56,10 @@ pub async fn fortunes(ctx: Context) {
5656
));
5757
fortunes_list.sort_by(|it, next| it.message.cmp(&next.message));
5858
let res: String = FortunesTemplate::new(fortunes_list).to_string();
59-
ctx.set_response_header(CONTENT_TYPE, content_type_charset(TEXT_HTML, UTF8))
59+
let _ = ctx
60+
.set_response_header(CONTENT_TYPE, content_type_charset(TEXT_HTML, UTF8))
6061
.await
61-
.set_response_body(res)
62+
.send_response(200, res)
6263
.await;
6364
}
6465

@@ -72,7 +73,7 @@ pub async fn updates(ctx: Context) {
7273
.max(1);
7374
let res: Vec<QueryRow> = update_world_rows(queries).await;
7475
let _ = ctx
75-
.set_response_body(serde_json::to_string(&res).unwrap_or_default())
76+
.send_response(200, serde_json::to_string(&res).unwrap_or_default())
7677
.await;
7778
}
7879

@@ -86,6 +87,6 @@ pub async fn cached_queries(ctx: Context) {
8687
.max(1);
8788
let res: Vec<QueryRow> = CACHE.iter().take(count as usize).cloned().collect();
8889
let _ = ctx
89-
.set_response_body(serde_json::to_string(&res).unwrap_or_default())
90+
.send_response(200, serde_json::to_string(&res).unwrap_or_default())
9091
.await;
9192
}

0 commit comments

Comments
 (0)