def test_statystyki_odrazu_po_kolorowaniu_duze(self): k = Kolorowanie(self.wzorzec_duze_przed) k.koloruj() statystyki = k.statystyki() self.assertEqual(30, statystyki['liczba_wierzcholkow']) self.assertEqual(61, statystyki['liczba_krawedzi']) self.assertEqual(16, statystyki['max_kolor']) self.assertAlmostEqual(0.0588888888889, statystyki['sredni_wspolczynnik_klasteryzacji'], delta=0.0000001) self.assertAlmostEqual(4.06666666667, statystyki['sredni_stopien_wierzcholka'], delta=0.0000001) self.assertAlmostEqual(2.41333333333, statystyki['srednia_dlugosc_sciezki'], delta=0.0000001) self.assertAlmostEqual(2.96666666667, statystyki['srednia_liczba_kolorow'], delta=0.0000001)
def profiluj(): n_od = 5 n_do = 1405 n_krok = 200 e = 10 c = 4 logging.basicConfig(level=logging.INFO) start = time.time() for n in range(n_od, n_do + 1, n_krok): g = generuj(n, e, c) sciezka = 'profile_data/' + name(n, e, c) g.save(sciezka + '.dot') k = Kolorowanie(sciezka + '.dot') t_start = time.time() k.koloruj() t_end = time.time() t_delta = t_end - t_start stat = k.statystyki() slownik = {'czas': t_delta} slownik['statystyki'] = stat with open(sciezka + '.stat', 'wt') as f: json.dump(slownik, f, indent=4) print '\t' + str(float(n) / n_do * 100) + '%' e = 50 c = 4 for n in range(n_od, n_do + 1, n_krok): g = generuj(n, e, c) sciezka = 'profile_data/' + name(n, e, c) g.save(sciezka + '.dot') k = Kolorowanie(sciezka + '.dot') t_start = time.time() k.koloruj() t_end = time.time() t_delta = t_end - t_start stat = k.statystyki() slownik = {'czas': t_delta} slownik['statystyki'] = stat with open(sciezka + '.stat', 'wt') as f: json.dump(slownik, f, indent=4) print '\t' + str(float(n) / n_do * 100) + '%' e = 50 c = 15 for n in range(n_od, n_do + 1, n_krok): g = generuj(n, e, c) sciezka = 'profile_data/' + name(n, e, c) g.save(sciezka + '.dot') k = Kolorowanie(sciezka + '.dot') t_start = time.time() k.koloruj() t_end = time.time() t_delta = t_end - t_start stat = k.statystyki() slownik = {'czas': t_delta} slownik['statystyki'] = stat with open(sciezka + '.stat', 'wt') as f: json.dump(slownik, f, indent=4) print '\t' + str(float(n) / n_do * 100) + '%' stop = time.time() print '\n\tKONIEC -> laczny czas wykonania: ' + str(stop - start) + ' s'