code: def _ParsePerformanceOptions(self, options):
      
      self._buffer_size = getattr(options, 'buffer_size', 0)
      if self._buffer_size:
        # TODO: turn this into a generic function that supports more size
        # suffixes both MB and MiB and also that does not allow m as a valid
        # indicator for MiB since m represents milli not Mega.
        try:
          if self._buffer_size[-1].lower() == 'm':
            self._buffer_size = int(self._buffer_size[:-1], 10)
            self._buffer_size *= self._BYTES_IN_A_MIB
          else:
            self._buffer_size = int(self._buffer_size, 10)
        except ValueError:
          raise errors.BadConfigOption(
              'Invalid buffer size: {0!s}.'.format(self._buffer_size))
  
      self._queue_size = self.ParseNumericOption(options, 'queue_size')
docs: Parses the performance options.
  
      Args:
        options (argparse.Namespace): command line arguments.
  
      Raises:
        BadConfigOption: if the options are invalid.