From 37e11fcb6b3fbd5b840148f90553ca9dbc20da25 Mon Sep 17 00:00:00 2001 From: Chris Wong Date: Thu, 7 Jan 2021 21:37:28 +1300 Subject: [PATCH] Remove non-Maud benchmarks (#252) There's already [template-benchmarks-rs](https://github.com/djc/template-benchmarks-rs), so we don't need to maintain a separate set here. The Maud-specific benchmarks are kept, as they're still useful for testing future optimizations. --- .github/workflows/ci.yml | 22 +- Cargo.toml | 1 - benchmarks/.gitignore | 2 - benchmarks/Cargo.lock | 948 ------------------ benchmarks/Cargo.toml | 16 - benchmarks/benches/askama.rs | 68 -- benchmarks/benches/handlebars.rs | 58 -- benchmarks/benches/horrorshow.rs | 59 -- benchmarks/benches/liquid.rs | 53 - benchmarks/benches/tera.rs | 63 -- benchmarks/src/main.rs | 1 - .../benches/complicated_maud.rs | 6 +- {benchmarks => maud}/benches/maud.rs | 0 13 files changed, 4 insertions(+), 1293 deletions(-) delete mode 100644 benchmarks/.gitignore delete mode 100644 benchmarks/Cargo.lock delete mode 100644 benchmarks/Cargo.toml delete mode 100644 benchmarks/benches/askama.rs delete mode 100644 benchmarks/benches/handlebars.rs delete mode 100644 benchmarks/benches/horrorshow.rs delete mode 100644 benchmarks/benches/liquid.rs delete mode 100644 benchmarks/benches/tera.rs delete mode 100644 benchmarks/src/main.rs rename {benchmarks => maud}/benches/complicated_maud.rs (97%) rename {benchmarks => maud}/benches/maud.rs (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0733e7d4..9b3e1194 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,7 +27,7 @@ jobs: components: clippy - name: Run tests - run: cargo test --workspace + run: cargo test --workspace --all-targets - name: Check Clippy run: cargo clippy --workspace --all-targets -- -D warnings @@ -53,25 +53,6 @@ jobs: - name: Check build run: cargo check --workspace --all-features --all-targets - benchmarks: - name: Benchmarks - runs-on: ubuntu-latest - - steps: - - - name: Check out repository - uses: actions/checkout@v2 - - - name: Install Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - profile: minimal - override: true - - - name: Run benchmarks - run: cd benchmarks && cargo test --benches --locked - # Please keep this in sync with `publish-docs.yml` documentation: name: Documentation @@ -117,7 +98,6 @@ jobs: - name: Check formatting run: | cargo fmt -- --check - (cd benchmarks && cargo fmt -- --check) (cd docs && cargo fmt -- --check) # trybuild harnesses are technically not part of the Cargo project, so # need to be checked separately diff --git a/Cargo.toml b/Cargo.toml index bd48ff07..eec1379a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,6 +5,5 @@ members = [ "maud", ] exclude = [ - "benchmarks", "docs", ] diff --git a/benchmarks/.gitignore b/benchmarks/.gitignore deleted file mode 100644 index 3a243be8..00000000 --- a/benchmarks/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# Keep this lock file to ensure that benchmarks are reproducible -!Cargo.lock diff --git a/benchmarks/Cargo.lock b/benchmarks/Cargo.lock deleted file mode 100644 index 7050c963..00000000 --- a/benchmarks/Cargo.lock +++ /dev/null @@ -1,948 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "aho-corasick" -version = "0.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b476ce7103678b0c6d3d395dbbae31d48ff910bd28be979ba5d48c6351131d0d" -dependencies = [ - "memchr", -] - -[[package]] -name = "anymap" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33954243bd79057c2de7338850b85983a44588021f8a5fee574a8888c6de4344" - -[[package]] -name = "askama" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a6e7ebd44d0047fd48206c83c5cd3214acc7b9d87f001da170145c47ef7d12" -dependencies = [ - "askama_derive", - "askama_escape", - "askama_shared", -] - -[[package]] -name = "askama_derive" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d7169690c4f56343dcd821ab834972a22570a2662a19a84fd7775d5e1c3881" -dependencies = [ - "askama_shared", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "askama_escape" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90c108c1a94380c89d2215d0ac54ce09796823cca0fd91b299cfff3b33e346fb" - -[[package]] -name = "askama_shared" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62fc272363345c8cdc030e4c259d9d028237f8b057dc9bb327772a257bde6bb5" -dependencies = [ - "askama_escape", - "humansize", - "nom", - "num-traits", - "percent-encoding", - "proc-macro2", - "quote", - "serde", - "syn", - "toml", -] - -[[package]] -name = "autocfg" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" - -[[package]] -name = "benchmarks" -version = "0.1.2" -dependencies = [ - "askama", - "handlebars", - "horrorshow", - "liquid", - "maud", - "rustc-serialize", - "serde", - "serde_json", - "tera", -] - -[[package]] -name = "bitflags" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" - -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -dependencies = [ - "block-padding", - "byte-tools", - "byteorder", - "generic-array", -] - -[[package]] -name = "block-padding" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" -dependencies = [ - "byte-tools", -] - -[[package]] -name = "bstr" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "473fc6b38233f9af7baa94fb5852dca389e3d95b8e21c8e3719301462c5d9faf" -dependencies = [ - "memchr", -] - -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" - -[[package]] -name = "byteorder" -version = "1.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "chrono" -version = "0.4.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" -dependencies = [ - "libc", - "num-integer", - "num-traits", - "time", - "winapi", -] - -[[package]] -name = "chrono-tz" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2554a3155fec064362507487171dcc4edc3df60cb10f3a1fb10ed8094822b120" -dependencies = [ - "chrono", - "parse-zoneinfo", -] - -[[package]] -name = "crossbeam-utils" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" -dependencies = [ - "autocfg", - "cfg-if", - "lazy_static", -] - -[[package]] -name = "deunicode" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690" - -[[package]] -name = "digest" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" -dependencies = [ - "generic-array", -] - -[[package]] -name = "doc-comment" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" - -[[package]] -name = "either" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" - -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "generic-array" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" -dependencies = [ - "typenum", -] - -[[package]] -name = "getrandom" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - -[[package]] -name = "globset" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c152169ef1e421390738366d2f796655fec62621dabbd0fd476f905934061e4a" -dependencies = [ - "aho-corasick", - "bstr", - "fnv", - "log", - "regex", -] - -[[package]] -name = "globwalk" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "178270263374052c40502e9f607134947de75302c1348d1a0e31db67c1691446" -dependencies = [ - "bitflags", - "ignore", - "walkdir", -] - -[[package]] -name = "handlebars" -version = "3.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2764f9796c0ddca4b82c07f25dd2cb3db30b9a8f47940e78e1c883d9e95c3db9" -dependencies = [ - "log", - "pest", - "pest_derive", - "quick-error", - "serde", - "serde_json", -] - -[[package]] -name = "horrorshow" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ce7e0a1bc8e4489896abc94e5664e811a502a151bebfe113b3214fa181d3fb" - -[[package]] -name = "humansize" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6cab2627acfc432780848602f3f558f7e9dd427352224b0d9324025796d2a5e" - -[[package]] -name = "ignore" -version = "0.4.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22dcbf2a4a289528dbef21686354904e1c694ac642610a9bff9e7df730d9ec72" -dependencies = [ - "crossbeam-utils", - "globset", - "lazy_static", - "log", - "memchr", - "regex", - "same-file", - "thread_local", - "walkdir", - "winapi-util", -] - -[[package]] -name = "itertools" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6" - -[[package]] -name = "kstring" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c57805476d785f188945321cb408a1f240b62240d1f930096c1abcf08a00b4b4" -dependencies = [ - "serde", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.80" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58d1b70b004888f764dfbf6a26a3b0342a1632d33968e4a179d8011c760614" - -[[package]] -name = "liquid" -version = "0.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3d2ea80af5c2da5b2984fd98613db331dc9ad098782847b090a6a2405e5592" -dependencies = [ - "doc-comment", - "kstring", - "liquid-core", - "liquid-derive", - "liquid-lib", - "serde", -] - -[[package]] -name = "liquid-core" -version = "0.21.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d683508a7bb9565349c3610408188dc6c743c66d1add07097f1dbd0ebb8bc35d" -dependencies = [ - "anymap", - "chrono", - "itertools", - "kstring", - "liquid-derive", - "num-traits", - "pest", - "pest_derive", - "serde", -] - -[[package]] -name = "liquid-derive" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c138e9b1b94270041bec237898fac64cec12b533675ddff67956a97be42aca2b" -dependencies = [ - "proc-macro2", - "proc-quote", - "syn", -] - -[[package]] -name = "liquid-lib" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa430745b78473580485ced0b9ff2403877c9ba13f3eeceaffb679ac641929c5" -dependencies = [ - "chrono", - "itertools", - "kstring", - "liquid-core", - "once_cell", - "percent-encoding", - "regex", - "unicode-segmentation", -] - -[[package]] -name = "log" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "maplit" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" - -[[package]] -name = "maud" -version = "0.22.1" -dependencies = [ - "maud_htmlescape", - "maud_macros", -] - -[[package]] -name = "maud_htmlescape" -version = "0.17.0" - -[[package]] -name = "maud_macros" -version = "0.22.1" -dependencies = [ - "maud_htmlescape", - "proc-macro-error", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "memchr" -version = "2.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" - -[[package]] -name = "nom" -version = "5.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" -dependencies = [ - "memchr", - "version_check", -] - -[[package]] -name = "num-integer" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" -dependencies = [ - "autocfg", -] - -[[package]] -name = "once_cell" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "260e51e7efe62b592207e9e13a68e43692a7a279171d6ba57abd208bf23645ad" - -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" - -[[package]] -name = "parse-zoneinfo" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41" -dependencies = [ - "regex", -] - -[[package]] -name = "percent-encoding" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" - -[[package]] -name = "pest" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" -dependencies = [ - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pest_meta" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d" -dependencies = [ - "maplit", - "pest", - "sha-1", -] - -[[package]] -name = "ppv-lite86" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c36fa947111f5c62a733b652544dd0016a43ce89619538a8ef92724a6f501a20" - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-hack" -version = "0.5.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" - -[[package]] -name = "proc-macro2" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71" -dependencies = [ - "unicode-xid", -] - -[[package]] -name = "proc-quote" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea4226882439d07839be9c7f683e13d6d69d9c2fe960d61f637d1e2fa4c081" -dependencies = [ - "proc-macro-hack", - "proc-macro2", - "proc-quote-impl", - "quote", - "syn", -] - -[[package]] -name = "proc-quote-impl" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb3ec628b063cdbcf316e06a8b8c1a541d28fa6c0a8eacd2bfb2b7f49e88aa0" -dependencies = [ - "proc-macro-hack", - "proc-macro2", - "quote", -] - -[[package]] -name = "quick-error" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ac73b1112776fc109b2e61909bc46c7e1bf0d7f690ffb1676553acce16d5cda" - -[[package]] -name = "quote" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom", - "libc", - "rand_chacha", - "rand_core", - "rand_hc", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core", -] - -[[package]] -name = "regex" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38cf2c13ed4745de91a5eb834e11c00bcc3709e773173b2ce4c56c9fbde04b9c" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", - "thread_local", -] - -[[package]] -name = "regex-syntax" -version = "0.6.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189" - -[[package]] -name = "rustc-serialize" -version = "0.3.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" - -[[package]] -name = "ryu" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "serde" -version = "1.0.117" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b88fa983de7720629c9387e9f517353ed404164b1e482c970a90c1a4aaf7dc1a" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.117" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd1ae72adb44aab48f325a02444a5fc079349a8d804c1fc922aed3f7454c74e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.59" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcac07dbffa1c65e7f816ab9eba78eb142c6d44410f4eeba1e26e4f5dfa56b95" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "sha-1" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" -dependencies = [ - "block-buffer", - "digest", - "fake-simd", - "opaque-debug", -] - -[[package]] -name = "slug" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373" -dependencies = [ - "deunicode", -] - -[[package]] -name = "syn" -version = "1.0.48" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc371affeffc477f42a221a1e4297aedcea33d47d19b61455588bd9d8f6b19ac" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "tera" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1381c83828bedd5ce4e59473110afa5381ffe523406d9ade4b77c9f7be70ff9a" -dependencies = [ - "chrono", - "chrono-tz", - "globwalk", - "humansize", - "lazy_static", - "percent-encoding", - "pest", - "pest_derive", - "rand", - "regex", - "serde", - "serde_json", - "slug", - "unic-segment", -] - -[[package]] -name = "thread_local" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "time" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - -[[package]] -name = "toml" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75cf45bb0bef80604d001caaec0d09da99611b3c0fd39d3080468875cdb65645" -dependencies = [ - "serde", -] - -[[package]] -name = "typenum" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" - -[[package]] -name = "ucd-trie" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" - -[[package]] -name = "unic-char-property" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" -dependencies = [ - "unic-char-range", -] - -[[package]] -name = "unic-char-range" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" - -[[package]] -name = "unic-common" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" - -[[package]] -name = "unic-segment" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ed5d26be57f84f176157270c112ef57b86debac9cd21daaabbe56db0f88f23" -dependencies = [ - "unic-ucd-segment", -] - -[[package]] -name = "unic-ucd-segment" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2079c122a62205b421f499da10f3ee0f7697f012f55b675e002483c73ea34700" -dependencies = [ - "unic-char-property", - "unic-char-range", - "unic-ucd-version", -] - -[[package]] -name = "unic-ucd-version" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" -dependencies = [ - "unic-common", -] - -[[package]] -name = "unicode-segmentation" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0" - -[[package]] -name = "unicode-xid" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" - -[[package]] -name = "version_check" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" - -[[package]] -name = "walkdir" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d" -dependencies = [ - "same-file", - "winapi", - "winapi-util", -] - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/benchmarks/Cargo.toml b/benchmarks/Cargo.toml deleted file mode 100644 index adcce703..00000000 --- a/benchmarks/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "benchmarks" -version = "0.1.2" -authors = ["Chris Wong "] -edition = "2018" - -[dependencies] -maud = { path = "../maud" } -handlebars = "*" -horrorshow = "*" -liquid = "*" -rustc-serialize = "*" -serde = "*" -serde_json = "*" -tera = "*" -askama = "*" diff --git a/benchmarks/benches/askama.rs b/benchmarks/benches/askama.rs deleted file mode 100644 index 0a12ecc7..00000000 --- a/benchmarks/benches/askama.rs +++ /dev/null @@ -1,68 +0,0 @@ -#![feature(test)] - -extern crate test; - -use askama::Template; - -#[derive(Template)] -#[template( - source = r#" - - - {{year}} - - -

CSL {{year}}

- - -"#, - ext = "html" -)] - -struct BenchTemplate { - year: &'static str, - teams: Vec, -} - -struct Entry { - name: &'static str, - score: u16, -} - -#[bench] -fn render_template(b: &mut test::Bencher) { - let teams = vec![ - Entry { - name: "Jiangsu", - score: 43, - }, - Entry { - name: "Beijing", - score: 27, - }, - Entry { - name: "Guangzhou", - score: 22, - }, - Entry { - name: "Shandong", - score: 12, - }, - ]; - let hello = test::black_box(BenchTemplate { - year: "2015", - teams, - }); - b.iter(|| { - // Instead of simply call hello.render().unwrap(), rendering to - // a string with a good capacity gives a ~10% speed increase here - let mut s = String::with_capacity(500); - hello.render_into(&mut s).unwrap(); - }); -} diff --git a/benchmarks/benches/handlebars.rs b/benchmarks/benches/handlebars.rs deleted file mode 100644 index 01e8f441..00000000 --- a/benchmarks/benches/handlebars.rs +++ /dev/null @@ -1,58 +0,0 @@ -// https://github.com/sunng87/handlebars-rust/blob/master/benches/bench.rs - -#![feature(test)] - -extern crate test; - -use handlebars::{to_json, Handlebars}; -use serde_json::value::{Map, Value as Json}; - -static SOURCE: &'static str = " - - {{year}} - - -

CSL {{year}}

-
    - {{#each teams}} -
  • - {{name}}: {{score}} -
  • - {{/each}} -
- -"; - -fn make_data() -> Map { - let mut data = Map::new(); - - data.insert("year".to_string(), to_json(&"2015")); - - let mut teams = Vec::new(); - - for &(name, score) in &[ - ("Jiangsu", 43u16), - ("Beijing", 27u16), - ("Guangzhou", 22u16), - ("Shandong", 12u16), - ] { - let mut t = Map::new(); - t.insert("name".to_string(), to_json(&name)); - t.insert("score".to_string(), to_json(&score)); - teams.push(t) - } - - data.insert("teams".to_string(), to_json(&teams)); - data -} - -#[bench] -fn render_template(b: &mut test::Bencher) { - let mut handlebars = Handlebars::new(); - handlebars - .register_template_string("table", SOURCE.to_string()) - .expect("Invalid template format"); - - let data = make_data(); - b.iter(|| handlebars.render("table", &data).ok().unwrap()) -} diff --git a/benchmarks/benches/horrorshow.rs b/benchmarks/benches/horrorshow.rs deleted file mode 100644 index 5e483a10..00000000 --- a/benchmarks/benches/horrorshow.rs +++ /dev/null @@ -1,59 +0,0 @@ -#![feature(test)] - -extern crate test; - -use horrorshow::html; -use horrorshow::prelude::*; - -#[derive(Debug)] -struct Entry { - name: &'static str, - score: u16, -} - -#[bench] -fn render_template(b: &mut test::Bencher) { - let year = test::black_box("2015"); - let teams = test::black_box(vec![ - Entry { - name: "Jiangsu", - score: 43, - }, - Entry { - name: "Beijing", - score: 27, - }, - Entry { - name: "Guangzhou", - score: 22, - }, - Entry { - name: "Shandong", - score: 12, - }, - ]); - b.iter(|| { - (html! { - - html { - head { - title : year; - } - body { - h1 { : "CSL "; : year } - ul { - @ for (i, team) in teams.iter().enumerate() { - li(class=(if i == 0 { "champion" } else { "" })) { - b : (team.name); - : ": "; - : (team.score); - } - } - } - } - } - }) - .into_string() - .unwrap() - }); -} diff --git a/benchmarks/benches/liquid.rs b/benchmarks/benches/liquid.rs deleted file mode 100644 index 9db55159..00000000 --- a/benchmarks/benches/liquid.rs +++ /dev/null @@ -1,53 +0,0 @@ -#![feature(test)] - -extern crate test; - -use liquid::model::{Object, Value}; -use liquid::ParserBuilder; - -static SOURCE: &'static str = " - - {{year}} - - -

CSL {{year}}

-
    - {% for team in teams %} -
  • - {{team.name}}: {{team.score}} -
  • - {% endfor %} -
- -"; - -fn make_team(name: &'static str, score: u16) -> Value { - let mut team = Object::new(); - team.insert("name".into(), Value::scalar(name)); - team.insert("score".into(), Value::scalar(score as i32)); - Value::Object(team) -} - -#[bench] -fn render_template(b: &mut test::Bencher) { - let template = test::black_box( - ParserBuilder::with_stdlib() - .build() - .unwrap() - .parse(SOURCE) - .unwrap(), - ); - let mut globals = test::black_box({ - let mut globals = Object::new(); - globals.insert("year".into(), Value::scalar(2015)); - let teams = vec![ - make_team("Jiangsu", 43), - make_team("Beijing", 27), - make_team("Guangzhou", 22), - make_team("Shandong", 12), - ]; - globals.insert("teams".into(), Value::Array(teams)); - globals - }); - b.iter(|| template.render(&mut globals).unwrap()); -} diff --git a/benchmarks/benches/tera.rs b/benchmarks/benches/tera.rs deleted file mode 100644 index 6197f4c6..00000000 --- a/benchmarks/benches/tera.rs +++ /dev/null @@ -1,63 +0,0 @@ -#![feature(test)] - -extern crate test; - -use serde::Serialize; -use tera::{Context, Tera}; - -#[derive(Serialize, Debug)] -struct Entry { - name: &'static str, - score: u16, -} - -static SOURCE: &'static str = " - - {{ year }} - - -

CSL {{ year }}

-
    - {% for team in teams %} -
  • - {{ team.name }}: {{ team.score }} -
  • - {% endfor %} -
- -"; - -#[bench] -fn render_template(b: &mut test::Bencher) { - let mut tera = test::black_box(Tera::default()); - tera.add_raw_template("table", SOURCE).unwrap(); - - let context = test::black_box({ - let mut context = Context::new(); - context.insert( - "teams", - &[ - Entry { - name: "Jiangsu", - score: 43, - }, - Entry { - name: "Beijing", - score: 27, - }, - Entry { - name: "Guangzhou", - score: 22, - }, - Entry { - name: "Shandong", - score: 12, - }, - ], - ); - context.insert("year", &"2015"); - context - }); - - b.iter(|| tera.render("table", &context)); -} diff --git a/benchmarks/src/main.rs b/benchmarks/src/main.rs deleted file mode 100644 index f328e4d9..00000000 --- a/benchmarks/src/main.rs +++ /dev/null @@ -1 +0,0 @@ -fn main() {} diff --git a/benchmarks/benches/complicated_maud.rs b/maud/benches/complicated_maud.rs similarity index 97% rename from benchmarks/benches/complicated_maud.rs rename to maud/benches/complicated_maud.rs index 07a51b87..e326abbe 100644 --- a/benchmarks/benches/complicated_maud.rs +++ b/maud/benches/complicated_maud.rs @@ -29,8 +29,8 @@ mod btn { impl<'a> Button<'a> { pub fn new(label: &'a str, path: &'a str) -> Button<'a> { Button { - label: label, - path: path, + label, + path, req_meth: RequestMethod::Get, } } @@ -50,7 +50,7 @@ mod btn { RequestMethod::Post => { html! { form method="POST" action=(self.path) { - input.btn type="submit" value=(self.label) / + input.btn type="submit" value=(self.label); } } } diff --git a/benchmarks/benches/maud.rs b/maud/benches/maud.rs similarity index 100% rename from benchmarks/benches/maud.rs rename to maud/benches/maud.rs