code: def process_commenters(self):
          
          for index, submission in enumerate(self.submissions.values()):
              if submission.num_comments == 0:
                  continue
              real_submission = self.reddit.submission(id=submission.id)
              real_submission.comment_sort = 'top'
  
              for i in range(3):
                  try:
                      real_submission.comments.replace_more(limit=0)
                      break
                  except RequestException:
                      if i >= 2:
                          raise
                      logger.debug('Failed to fetch submission {}, retrying'
                                   .format(submission.id))
  
              self.comments.extend(MiniComment(comment, submission)
                                   for comment in real_submission.comments.list()
                                   if self.distinguished
                                   or comment.distinguished is None)
  
              if index % 50 == 49:
                  logger.debug('Completed: {:4d}/{} submissions'
                               .format(index + 1, len(self.submissions)))
  
              # Clean up to reduce memory usage
              submission = None
              gc.collect()
  
          self.comments.sort(key=lambda x: x.created_utc)
          for comment in self.comments:
              if comment.author:
                  self.commenters[comment.author].append(comment)
docs: Group comments by author.