From e3553a44f740c69268d131797fe94f49016ab83c Mon Sep 17 00:00:00 2001 From: Erin Power Date: Sat, 21 Mar 2020 14:40:49 +0100 Subject: [PATCH] Version 11.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Added languages** - @bwidawsk GNU Assembly, GDB Script - @isker Dust, Apache Velocity - @andreblanke FreeMarker Thanks to some major internal refactoring, Tokei has received significant performance improvements, and is now one of the fastest code counters across any size of codebase. With Tokei 11 showing up to 40–60% faster results than tokei's previous version. To showcase the improvements I've highlighted benchmarks of counting five differently sized codebases. Redis (~220k lines), Rust (~16M lines), and the Unreal Engine (~37.5M lines). In every one of these benchmarks Tokei 11 performed the best by a noticeable margin. *All benchmarks were done on a 15-inch MacBook Pro, with a 2.7GHz Intel Core i7 processor and 16GB 2133 MHz LPDDR3 RAM running macOS Catalina 10.15.3. Your mileage may vary, All benchmarks were done using [hyperfine], using default settings for all programs.* [hyperfine]: https://github.com/sharkdp/hyperfine ### Tokei **Note** This benchmark is not accurate due to `tokei` and `loc` both taking less than 5ms to complete, there is a high degree of error between the times and should mostly be considered equivalent. However it is included because it is notable that `scc` takes nearly 3x as long to complete on smaller codebases (~5k lines). ![Graph comparing programs running on the tokei source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=1242634543&format=image) ### Redis ![Graph comparing programs running on the redis source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=2009389097&format=image) ### Rust ![Graph comparing programs running on the rust source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=424069399&format=image) ### Unreal ![Graph comparing programs running on the unreal source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=439405321&format=image) --- CHANGELOG.md | 41 +++++++++++++++++++++++++++++++++++++++++ Cargo.lock | 6 +++--- Cargo.toml | 4 ++-- 3 files changed, 46 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49d420e1d..05c600cc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,44 @@ +# 11.0.0 + +**Added languages** + +- @bwidawsk GNU Assembly, GDB Script +- @isker Dust, Apache Velocity +- @andreblanke FreeMarker + + +Thanks to some major internal refactoring, Tokei has received significant +performance improvements, and is now one of the fastest code counters across any +size of codebase. With Tokei 11 showing up to 40–60% faster results than tokei's +previous version. To showcase the improvements I've highlighted benchmarks +of counting five differently sized codebases. Redis (~220k lines), Rust (~16M +lines), and the Unreal Engine (~37.5M lines). In every one of these benchmarks +Tokei 11 performed the best by a noticeable margin. + +*All benchmarks were done on a 15-inch MacBook Pro, with a 2.7GHz Intel Core i7 +processor and 16GB 2133 MHz LPDDR3 RAM running macOS Catalina 10.15.3. Your +mileage may vary, All benchmarks were done using [hyperfine], using default +settings for all programs.* + +[hyperfine]: https://github.com/sharkdp/hyperfine + +### Tokei +**Note** This benchmark is not accurate due to `tokei` and `loc` both taking +less than 5ms to complete, there is a high degree of error between the times and +should mostly be considered equivalent. However it is included because it is +notable that `scc` takes nearly 3x as long to complete on smaller codebases +(~5k lines). +![Graph comparing programs running on the tokei source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=1242634543&format=image) + +### Redis +![Graph comparing programs running on the redis source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=2009389097&format=image) + +### Rust +![Graph comparing programs running on the rust source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=424069399&format=image) + +### Unreal +![Graph comparing programs running on the unreal source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=439405321&format=image) + # 10.1.2 - Added `pyw` extension to Python. diff --git a/Cargo.lock b/Cargo.lock index ea3606594..e8354cfa1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -976,9 +976,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "syn" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "123bd9499cfb380418d509322d7a6d52e5315f064fe4b3ad18a53d6b92c07859" +checksum = "0df0eb663f387145cab623dea85b09c2c5b4b0aef44e945d928e682fce71bb03" dependencies = [ "proc-macro2", "quote", @@ -1039,7 +1039,7 @@ dependencies = [ [[package]] name = "tokei" -version = "10.1.2" +version = "11.0.0" dependencies = [ "aho-corasick", "clap", diff --git a/Cargo.toml b/Cargo.toml index a704cdf2f..7bfe02136 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ authors = ["Erin Power "] build = "build.rs" categories = ["command-line-utilities", "development-tools", "visualization"] -description = "A utility that allows you to count code, quickly." +description = "Count your code, quickly." edition = "2018" homepage = "https://tokei.rs" include = ["Cargo.lock", "Cargo.toml", "LICENCE-APACHE", "LICENCE-MIT", "build.rs", "languages.json", "src/**/*"] @@ -11,7 +11,7 @@ license = "MIT/Apache-2.0" name = "tokei" readme = "README.md" repository = "https://github.com/XAMPPRocky/tokei.git" -version = "10.1.2" +version = "11.0.0" [features] all = ["json", "cbor", "yaml"]