aurelg / feedspora

FeedSpora posts RSS/Atom feeds to your social network accounts.
35 stars 5 forks source link

Improve performance #43

Open aurelg opened 5 years ago

aurelg commented 5 years ago

When many entries have to be published to many clients, the performance of feedspora is disappointing. Entries are created by a generator on the fly, and published sequentially to each client in (here).

The low hanging fruit would be to publish to several clients in parallel (w/async). Ideally, each client should be provided with its own generator (fed with the "master" entry generator), out of which entries can be consumed (i.e. published). itertools can probably help.

This would not address a bigger issue: each client is responsible for preparing/formatting an entry according to its configuration/target service. While this makes sense as they are different, some operations can probably be extracted, merged and cache, e.g. using memoization with a static function in GenericClient.