Try using non-default parameters to avoid useless creation of very small river branches.
In particular I would advise to play around with the following parameters, setting them to higher values.
threshold -> Set to larger values, to avoid the creation of smaller branches in first place. (
threshold units are expressed in pixels).
stream_length -> Set to values larger than 0 to delete smaller branches in the final files. (
stream_length units are expressed in pixels).
memory -> increase to larger values (for example 1024, meaning the process will use up to 1024MB i.e. 1GB of memory). This will have no influence on smaller dataset, but make your day for larger ones. As a rule of thumb, the larger the input raster, the larger the assigned memory must be.
From the manual:
threshold=float [required] Minimum flow accumulation for streams.
Must be > 0
stream_length=integer Delete stream segments shorter than stream_length cells.
Applies only to first-order stream segments (springs/stream heads) Default: 0
Maximum memory to be used (in MB)
Cache size for raster rows
As per OP's request, using the GUI these are the parameters to tweak (i.e. increase):