Only allocate text transformer once. #10

Merged
finnbear merged 1 commit from reduce-transformer-alloc into master 2020-12-19 23:47:20 -05:00
finnbear commented 2020-12-19 14:25:41 -05:00 (Migrated from github.com)

Old bench:

goos: linux
goarch: amd64
pkg: github.com/TwinProduction/go-away
BenchmarkIsProfaneWhenShortStringHasNoProfanity-8                                                 	  410056	      2879 ns/op	    8752 B/op	       6 allocs/op
BenchmarkIsProfaneWhenShortStringHasProfanityAtTheStart-8                                         	  455678	      2491 ns/op	    8752 B/op	       6 allocs/op
BenchmarkIsProfaneWhenShortStringHasProfanityInTheMiddle-8                                        	  445470	      2639 ns/op	    8752 B/op	       6 allocs/op
BenchmarkIsProfaneWhenShortStringHasProfanityAtTheEnd-8                                           	  428016	      2750 ns/op	    8752 B/op	       6 allocs/op
BenchmarkIsProfaneWhenMediumStringHasNoProfanity-8                                                	  380592	      3151 ns/op	    8912 B/op	      11 allocs/op
BenchmarkIsProfaneWhenMediumStringHasProfanityAtTheStart-8                                        	  373015	      2969 ns/op	    8912 B/op	      11 allocs/op
BenchmarkIsProfaneWhenMediumStringHasProfanityInTheMiddle-8                                       	  433670	      2838 ns/op	    8912 B/op	      11 allocs/op
BenchmarkIsProfaneWhenMediumStringHasProfanityAtTheEnd-8                                          	  419103	      2866 ns/op	    8912 B/op	      11 allocs/op
BenchmarkIsProfaneWhenLongStringHasNoProfanity-8                                                  	  142447	      8092 ns/op	    9808 B/op	      13 allocs/op
BenchmarkIsProfaneWhenLongStringHasProfanityAtTheStart-8                                          	  170215	      7055 ns/op	    9808 B/op	      13 allocs/op
BenchmarkIsProfaneWhenLongStringHasProfanityInTheMiddle-8                                         	  154742	      7824 ns/op	    9808 B/op	      13 allocs/op
BenchmarkIsProfaneWhenLongStringHasProfanityAtTheEnd-8                                            	  181903	      6374 ns/op	    9808 B/op	      13 allocs/op
BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityAtTheStart-8    	  273676	      4232 ns/op	     656 B/op	       5 allocs/op
BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityInTheMiddle-8   	  251042	      4856 ns/op	     656 B/op	       5 allocs/op
BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityAtTheEnd-8      	  348662	      3332 ns/op	     656 B/op	       5 allocs/op
PASS
ok  	github.com/TwinProduction/go-away	19.160s

New bench:

goos: linux
goarch: amd64
pkg: github.com/TwinProduction/go-away
BenchmarkIsProfaneWhenShortStringHasNoProfanity-8                                                 	  606076	      1834 ns/op	     256 B/op	       1 allocs/op
BenchmarkIsProfaneWhenShortStringHasProfanityAtTheStart-8                                         	  790260	      1445 ns/op	     256 B/op	       1 allocs/op
BenchmarkIsProfaneWhenShortStringHasProfanityInTheMiddle-8                                        	  826394	      1442 ns/op	     256 B/op	       1 allocs/op
BenchmarkIsProfaneWhenShortStringHasProfanityAtTheEnd-8                                           	  798075	      1448 ns/op	     256 B/op	       1 allocs/op
BenchmarkIsProfaneWhenMediumStringHasNoProfanity-8                                                	  634326	      1915 ns/op	     416 B/op	       6 allocs/op
BenchmarkIsProfaneWhenMediumStringHasProfanityAtTheStart-8                                        	  640370	      1822 ns/op	     416 B/op	       6 allocs/op
BenchmarkIsProfaneWhenMediumStringHasProfanityInTheMiddle-8                                       	  672810	      1673 ns/op	     416 B/op	       6 allocs/op
BenchmarkIsProfaneWhenMediumStringHasProfanityAtTheEnd-8                                          	  727614	      1651 ns/op	     416 B/op	       6 allocs/op
BenchmarkIsProfaneWhenLongStringHasNoProfanity-8                                                  	  169524	      6887 ns/op	    1312 B/op	       8 allocs/op
BenchmarkIsProfaneWhenLongStringHasProfanityAtTheStart-8                                          	  195616	      5931 ns/op	    1312 B/op	       8 allocs/op
BenchmarkIsProfaneWhenLongStringHasProfanityInTheMiddle-8                                         	  182773	      6453 ns/op	    1312 B/op	       8 allocs/op
BenchmarkIsProfaneWhenLongStringHasProfanityAtTheEnd-8                                            	  236205	      5004 ns/op	    1312 B/op	       8 allocs/op
BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityAtTheStart-8    	  283921	      4163 ns/op	     656 B/op	       5 allocs/op
BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityInTheMiddle-8   	  253231	      4834 ns/op	     656 B/op	       5 allocs/op
BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityAtTheEnd-8      	  354802	      3344 ns/op	     656 B/op	       5 allocs/op
PASS
ok  	github.com/TwinProduction/go-away	19.057s
Old bench: ```console goos: linux goarch: amd64 pkg: github.com/TwinProduction/go-away BenchmarkIsProfaneWhenShortStringHasNoProfanity-8 410056 2879 ns/op 8752 B/op 6 allocs/op BenchmarkIsProfaneWhenShortStringHasProfanityAtTheStart-8 455678 2491 ns/op 8752 B/op 6 allocs/op BenchmarkIsProfaneWhenShortStringHasProfanityInTheMiddle-8 445470 2639 ns/op 8752 B/op 6 allocs/op BenchmarkIsProfaneWhenShortStringHasProfanityAtTheEnd-8 428016 2750 ns/op 8752 B/op 6 allocs/op BenchmarkIsProfaneWhenMediumStringHasNoProfanity-8 380592 3151 ns/op 8912 B/op 11 allocs/op BenchmarkIsProfaneWhenMediumStringHasProfanityAtTheStart-8 373015 2969 ns/op 8912 B/op 11 allocs/op BenchmarkIsProfaneWhenMediumStringHasProfanityInTheMiddle-8 433670 2838 ns/op 8912 B/op 11 allocs/op BenchmarkIsProfaneWhenMediumStringHasProfanityAtTheEnd-8 419103 2866 ns/op 8912 B/op 11 allocs/op BenchmarkIsProfaneWhenLongStringHasNoProfanity-8 142447 8092 ns/op 9808 B/op 13 allocs/op BenchmarkIsProfaneWhenLongStringHasProfanityAtTheStart-8 170215 7055 ns/op 9808 B/op 13 allocs/op BenchmarkIsProfaneWhenLongStringHasProfanityInTheMiddle-8 154742 7824 ns/op 9808 B/op 13 allocs/op BenchmarkIsProfaneWhenLongStringHasProfanityAtTheEnd-8 181903 6374 ns/op 9808 B/op 13 allocs/op BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityAtTheStart-8 273676 4232 ns/op 656 B/op 5 allocs/op BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityInTheMiddle-8 251042 4856 ns/op 656 B/op 5 allocs/op BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityAtTheEnd-8 348662 3332 ns/op 656 B/op 5 allocs/op PASS ok github.com/TwinProduction/go-away 19.160s ``` New bench: ```console goos: linux goarch: amd64 pkg: github.com/TwinProduction/go-away BenchmarkIsProfaneWhenShortStringHasNoProfanity-8 606076 1834 ns/op 256 B/op 1 allocs/op BenchmarkIsProfaneWhenShortStringHasProfanityAtTheStart-8 790260 1445 ns/op 256 B/op 1 allocs/op BenchmarkIsProfaneWhenShortStringHasProfanityInTheMiddle-8 826394 1442 ns/op 256 B/op 1 allocs/op BenchmarkIsProfaneWhenShortStringHasProfanityAtTheEnd-8 798075 1448 ns/op 256 B/op 1 allocs/op BenchmarkIsProfaneWhenMediumStringHasNoProfanity-8 634326 1915 ns/op 416 B/op 6 allocs/op BenchmarkIsProfaneWhenMediumStringHasProfanityAtTheStart-8 640370 1822 ns/op 416 B/op 6 allocs/op BenchmarkIsProfaneWhenMediumStringHasProfanityInTheMiddle-8 672810 1673 ns/op 416 B/op 6 allocs/op BenchmarkIsProfaneWhenMediumStringHasProfanityAtTheEnd-8 727614 1651 ns/op 416 B/op 6 allocs/op BenchmarkIsProfaneWhenLongStringHasNoProfanity-8 169524 6887 ns/op 1312 B/op 8 allocs/op BenchmarkIsProfaneWhenLongStringHasProfanityAtTheStart-8 195616 5931 ns/op 1312 B/op 8 allocs/op BenchmarkIsProfaneWhenLongStringHasProfanityInTheMiddle-8 182773 6453 ns/op 1312 B/op 8 allocs/op BenchmarkIsProfaneWhenLongStringHasProfanityAtTheEnd-8 236205 5004 ns/op 1312 B/op 8 allocs/op BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityAtTheStart-8 283921 4163 ns/op 656 B/op 5 allocs/op BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityInTheMiddle-8 253231 4834 ns/op 656 B/op 5 allocs/op BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityAtTheEnd-8 354802 3344 ns/op 656 B/op 5 allocs/op PASS ok github.com/TwinProduction/go-away 19.057s ```
codecov-io commented 2020-12-19 14:26:08 -05:00 (Migrated from github.com)

Codecov Report

Merging #10 (69b767a) into master (f0a5714) will not change coverage.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff            @@
##            master       #10   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            1         1           
  Lines           47        48    +1     
=========================================
+ Hits            47        48    +1     
Impacted Files Coverage Δ
goaway.go 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f0a5714...69b767a. Read the comment docs.

# [Codecov](https://codecov.io/gh/TwinProduction/go-away/pull/10?src=pr&el=h1) Report > Merging [#10](https://codecov.io/gh/TwinProduction/go-away/pull/10?src=pr&el=desc) (69b767a) into [master](https://codecov.io/gh/TwinProduction/go-away/commit/f0a5714b958442b6021c08eb20e37031035fe0ba?el=desc) (f0a5714) will **not change** coverage. > The diff coverage is `100.00%`. [![Impacted file tree graph](https://codecov.io/gh/TwinProduction/go-away/pull/10/graphs/tree.svg?width=650&height=150&src=pr&token=25T9OQT9TM)](https://codecov.io/gh/TwinProduction/go-away/pull/10?src=pr&el=tree) ```diff @@ Coverage Diff @@ ## master #10 +/- ## ========================================= Coverage 100.00% 100.00% ========================================= Files 1 1 Lines 47 48 +1 ========================================= + Hits 47 48 +1 ``` | [Impacted Files](https://codecov.io/gh/TwinProduction/go-away/pull/10?src=pr&el=tree) | Coverage Δ | | |---|---|---| | [goaway.go](https://codecov.io/gh/TwinProduction/go-away/pull/10/diff?src=pr&el=tree#diff-Z29hd2F5Lmdv) | `100.00% <100.00%> (ø)` | | ------ [Continue to review full report at Codecov](https://codecov.io/gh/TwinProduction/go-away/pull/10?src=pr&el=continue). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta) > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/TwinProduction/go-away/pull/10?src=pr&el=footer). Last update [f0a5714...69b767a](https://codecov.io/gh/TwinProduction/go-away/pull/10?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
TwiN commented 2020-12-19 23:47:16 -05:00 (Migrated from github.com)

Nice catch!

Nice catch!
TwiN commented 2020-12-20 14:24:51 -05:00 (Migrated from github.com)

Released in v1.0.1

Released in [v1.0.1](https://github.com/TwinProduction/go-away/releases/tag/v1.0.1)
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
TwiN/go-away!10
No description provided.