Esempio n. 1
0
 def start(self):
     # Inicializa a barra usada para medir o progresso do simulador
     # Ela é contabilizada de acordo com o valor do menor intervalo de confiança encontrado a cada rodada,
     # Chegando a 100% quando o intervalo chega a 10% da média do estimador
     # Mostrada quando o simulador não está definido na forma de teste
     if not(self.test):
         prog = ProgressBar(0, 0.9, 77, mode='fixed', char='#')
         print "Processando as rodadas:"
         print prog, '\r',
         sys.stdout.flush()
     
     # Loop principal do simulador.
     # Termina quando todos os intervalos de confiança forem menores que 10% da média do estimador.
     while not(self.valid_confidence_interval()):
         # Loop de cada rodada, processa um evento a cada iteração.
         while len(self.clients) <= self.total_clients:
             self.process_event()
         self.discard_clients()
         # Processa os dados gerados por uma rodada.
         self.process_sample()
         if self.samples > 1:
             self.calc_results()
             prog.update_amount(max(prog.amount, self.pb_amount()))
             print prog, '\r',
         self.samples += 1
         sys.stdout.flush()
         # Linha para forçar o teste a executar apenas 1 rodada.
         if self.test:
             break
     print