mirror of
https://github.com/miniflux/v2.git
synced 2025-09-15 18:57:04 +00:00
perf(reader): optimize RemoveTrackingParameters
A bit more than 10% of processor.ProcessFeedEntries' CPU time is spent in urlcleaner.RemoveTrackingParameters, specifically calling url.Parse, so let's extract this operation outside of it, and do it once before calling urlcleaner.RemoveTrackingParameters multiple times. Co-authored-by: Frédéric Guillot <f@miniflux.net>
This commit is contained in:
parent
0caadf82f2
commit
7c857bdc72
4 changed files with 23 additions and 28 deletions
|
@ -121,7 +121,10 @@ func TestRemoveTrackingParams(t *testing.T) {
|
|||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
result, err := RemoveTrackingParameters(tt.baseUrl, tt.feedUrl, tt.input)
|
||||
parsedBaseUrl, _ := url.Parse(tt.baseUrl)
|
||||
parsedFeedUrl, _ := url.Parse(tt.feedUrl)
|
||||
parsedInputUrl, _ := url.Parse(tt.input)
|
||||
result, err := RemoveTrackingParameters(parsedBaseUrl, parsedFeedUrl, parsedInputUrl)
|
||||
if tt.expected == "" {
|
||||
if err == nil {
|
||||
t.Errorf("Expected an error for invalid URL, but got none")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue