1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-09-30 19:22:11 +00:00
miniflux-v2/internal/reader
Julien Voisin 3051acf369
perf(xml): eliminate bound checks in filterValidXMLChars
Optimizes the filterValidXMLChars function by changing the loop variable type from int to uint to eliminate bound checks during compilation, resulting in a ~4% performance improvement.

- Changes loop variable i from int to uint to remove compiler-generated bound checks
- Adjusts type conversions accordingly to maintain correctness

```
goos: linux
goarch: arm64
pkg: miniflux.app/v2/internal/reader/parser
        │   old.txt   │              new.txt               │
        │   sec/op    │   sec/op     vs base               │
Parse-8   40.91m ± 3%   39.30m ± 2%  -3.94% (p=0.000 n=50)
```
2025-09-08 15:33:55 -07:00
..
atom refactor(misc): fix a handful of TODO 2025-08-09 15:22:02 -07:00
date perf: convert some slices to array 2025-09-08 12:11:18 -07:00
dublincore Refactor RDF parser to use an adapter 2024-03-12 20:54:05 -07:00
encoding fix(scraper): avoid encoding issue if charset meta tag is after 1024 bytes 2025-02-15 17:05:14 -08:00
fetcher refactor(fetcher): use time.Duration for client timeout values 2025-08-20 19:45:24 -07:00
filter refactor(filter): parse and merge filters only once per refresh 2025-07-30 21:34:03 -07:00
googleplay Refactor RSS Parser to use an adapter 2024-03-13 21:25:09 -07:00
handler refactor(reader): use time.Duration instead of minutes count 2025-08-20 19:45:24 -07:00
icon refactor(icon): avoid calling AbsoluteURL twice for the feed icon URL 2025-08-20 19:01:59 -07:00
itunes Refactor RSS Parser to use an adapter 2024-03-13 21:25:09 -07:00
json test(reader): ensure consistent tags parsing across feed formats 2025-07-07 20:07:35 -07:00
media perf: convert some slices to array 2025-09-08 12:11:18 -07:00
opml refactor(opml): reduce indirections 2025-08-12 19:47:47 -07:00
parser refactor(parser): centralize seek logic and provide a hint for the compiler to eliminate a useless bound check 2025-08-03 12:53:10 -07:00
processor perf(misc): use arrays instead of slices where possible 2025-08-11 18:26:58 -07:00
rdf refactor: unexport symbols 2025-08-07 17:27:04 -07:00
readability feat(readability): avoid removing elements with content class 2025-07-25 19:59:47 -07:00
readingtime refactor(tests): use b.Loop() instead of for range b.N 2025-06-18 20:12:55 -07:00
rewrite perf(misc): use arrays instead of slices where possible 2025-08-11 18:26:58 -07:00
rss refactor(reader): use time.Duration instead of minutes count 2025-08-20 19:45:24 -07:00
sanitizer perf(sanitizer): make sanitizer ~10% faster by using slices.Contains instead of nested maps 2025-08-20 18:54:49 -07:00
scraper refactor(internal): add an urllib.DomainWithoutWWW function 2025-06-17 17:27:36 -07:00
subscription refactor: unexport symbols 2025-08-07 17:27:04 -07:00
urlcleaner perf(reader): optimize RemoveTrackingParameters 2025-06-10 19:29:25 -07:00
xml perf(xml): eliminate bound checks in filterValidXMLChars 2025-09-08 15:33:55 -07:00