Preallocate memory when exporting to OPML

This should marginally increase performance when export a large amount of feeds
to OPML.
This commit is contained in:
jvoisin 2024-03-04 00:51:55 +01:00 committed by Frédéric Guillot
parent 8d80e9103f
commit 3339d9d3d7
2 changed files with 3 additions and 3 deletions

View File

@ -23,7 +23,7 @@ func (h *Handler) Export(userID int64) (string, error) {
return "", err
}
var subscriptions SubcriptionList
subscriptions := make(SubcriptionList, 0, len(feeds))
for _, feed := range feeds {
subscriptions = append(subscriptions, &Subcription{
Title: feed.Title,

View File

@ -38,14 +38,14 @@ func convertSubscriptionsToOPML(subscriptions SubcriptionList) *opmlDocument {
opmlDocument.Header.DateCreated = time.Now().Format("Mon, 02 Jan 2006 15:04:05 MST")
groupedSubs := groupSubscriptionsByFeed(subscriptions)
var categories []string
categories := make([]string, 0, len(groupedSubs))
for k := range groupedSubs {
categories = append(categories, k)
}
sort.Strings(categories)
for _, categoryName := range categories {
category := opmlOutline{Text: categoryName}
category := opmlOutline{Text: categoryName, Outlines: make(opmlOutlineCollection, 0, len(groupedSubs[categoryName]))}
for _, subscription := range groupedSubs[categoryName] {
category.Outlines = append(category.Outlines, opmlOutline{
Title: subscription.Title,