From 364763e039b286774c29c4995df6baba9d22a61a Mon Sep 17 00:00:00 2001 From: WriterV2 Date: Sun, 24 Nov 2024 12:17:32 +0100 Subject: Perf: Avoid unnecessary heap allocations of strings --- src/db/mod.rs | 6 +++--- src/db/product.rs | 2 +- src/db/story.rs | 14 +++++++------- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'src/db') diff --git a/src/db/mod.rs b/src/db/mod.rs index 51665a3..f1baf44 100644 --- a/src/db/mod.rs +++ b/src/db/mod.rs @@ -19,9 +19,9 @@ pub trait ProductDatabaseHandler { async fn post( &self, pool: &SqlitePool, - name: String, - description: String, - tags: Vec, + name: &str, + description: &str, + tags: Vec<&str>, ) -> Result where Self: Sized; diff --git a/src/db/product.rs b/src/db/product.rs index c21734e..1c8be1f 100644 --- a/src/db/product.rs +++ b/src/db/product.rs @@ -18,7 +18,7 @@ pub struct Product { } impl Product { - pub async fn post(tx: &mut Transaction<'static, Sqlite>, name: String, description: String, tags: Vec) -> Result { + pub async fn post(tx: &mut Transaction<'static, Sqlite>, name: &str, description: &str, tags: Vec<&str>) -> Result { let now = SystemTime::now().duration_since(std::time::UNIX_EPOCH)?.as_millis() as i64; let product = sqlx::query_as!( Product, diff --git a/src/db/story.rs b/src/db/story.rs index 9e5fdb9..5803351 100644 --- a/src/db/story.rs +++ b/src/db/story.rs @@ -76,9 +76,9 @@ impl ProductDatabaseHandler for Story { async fn post( &self, pool: &SqlitePool, - name: String, - description: String, - tags: Vec, + name: &str, + description: &str, + tags: Vec<&str>, ) -> Result where Self: Sized, @@ -114,13 +114,13 @@ impl ProductDatabaseHandler for Story { } } -impl PageBuilder for Story { - fn page_title() -> String { - "Stories".to_string() +impl<'a> PageBuilder<'a> for Story { + fn page_title() -> &'a str { + "Stories" } // TODO: Add pdf and epub icons - fn product_specific_card_content( + fn product_specific_card_content + ProductMarker>( &self, specific_product: &super::product::SpecificProduct, ) -> maud::Markup { -- cgit v1.2.3