(iterations: usize)
| 4884 | } |
| 4885 | |
| 4886 | fn run_server_sqlx_single_connection_repeated_queries(iterations: usize) -> Result<()> { |
| 4887 | let server = measure_phase("server.start", PgliteServer::temporary_tcp)?; |
| 4888 | let uri = server.database_url(); |
| 4889 | let runtime = measure_phase("client.tokio_runtime_create", || { |
| 4890 | tokio::runtime::Builder::new_current_thread() |
| 4891 | .enable_all() |
| 4892 | .build() |
| 4893 | .context("create perf tokio runtime") |
| 4894 | })?; |
| 4895 | runtime.block_on(async move { |
| 4896 | let mut conn = sqlx::PgConnection::connect(&uri) |
| 4897 | .await |
| 4898 | .context("connect SQLx to PGliteServer")?; |
| 4899 | run_sqlx_scalar_query(&mut conn, 41).await?; |
| 4900 | let started = Instant::now(); |
| 4901 | for value in 0..iterations { |
| 4902 | run_sqlx_scalar_query(&mut conn, value as i32).await?; |
| 4903 | } |
| 4904 | record_total_and_average( |
| 4905 | "warm.server_sqlx_single_connection_repeated_queries.total", |
| 4906 | "warm.server_sqlx_single_connection_repeated_queries.avg", |
| 4907 | started.elapsed(), |
| 4908 | iterations, |
| 4909 | ); |
| 4910 | conn.close().await.context("close SQLx connection")?; |
| 4911 | Ok::<_, anyhow::Error>(()) |
| 4912 | })?; |
| 4913 | measure_phase("operation.shutdown", || server.shutdown()) |
| 4914 | } |
| 4915 | |
| 4916 | fn run_server_sqlx_repeated_connections(iterations: usize) -> Result<()> { |
| 4917 | let server = measure_phase("server.start", PgliteServer::temporary_tcp)?; |
no test coverage detected