| 178 | } |
| 179 | |
| 180 | func main() { |
| 181 | flag.Parse() |
| 182 | var meanLat, sdLat, serTi, jsonTi, parTi, totTi float64 |
| 183 | var totCount int |
| 184 | var wg sync.WaitGroup |
| 185 | var allLat []float64 |
| 186 | serverList = strings.Split(*serverAddr, ",") |
| 187 | actorfile, err := os.Open("listofactors_uid") |
| 188 | directorfile, err1 := os.Open("listofdirectors_uid") |
| 189 | if err != nil || err1 != nil { |
| 190 | return |
| 191 | } |
| 192 | defer actorfile.Close() |
| 193 | defer directorfile.Close() |
| 194 | |
| 195 | scanner := bufio.NewScanner(actorfile) |
| 196 | for scanner.Scan() { |
| 197 | actors = append(actors, scanner.Text()) |
| 198 | } |
| 199 | scanner = bufio.NewScanner(directorfile) |
| 200 | for scanner.Scan() { |
| 201 | directors = append(directors, scanner.Text()) |
| 202 | } |
| 203 | |
| 204 | countC = make(chan int, 5*(*numUser)) |
| 205 | serverP = make(chan float64, 5*(*numUser)) |
| 206 | totalP = make(chan float64, 5*(*numUser)) |
| 207 | parsingP = make(chan float64, 5*(*numUser)) |
| 208 | jsonP = make(chan float64, 5*(*numUser)) |
| 209 | latC = make(chan float64, 100000) |
| 210 | |
| 211 | go func() { |
| 212 | for t := range latC { |
| 213 | allLat = append(allLat, t) |
| 214 | } |
| 215 | }() |
| 216 | wg.Add(*numUser) |
| 217 | fmt.Println("First run") |
| 218 | for i := 0; i < *numUser; i++ { |
| 219 | go runUser(&wg) |
| 220 | } |
| 221 | |
| 222 | wg.Wait() |
| 223 | time.Sleep(1 * time.Second) |
| 224 | wg.Add(*numUser) |
| 225 | fmt.Println("Second run") |
| 226 | for i := 0; i < *numUser; i++ { |
| 227 | go runUser(&wg) |
| 228 | } |
| 229 | wg.Wait() |
| 230 | time.Sleep(1 * time.Second) |
| 231 | wg.Add(*numUser) |
| 232 | fmt.Println("Third run") |
| 233 | for i := 0; i < *numUser; i++ { |
| 234 | go runUser(&wg) |
| 235 | } |
| 236 | wg.Wait() |
| 237 | |