int exec_stats(int argc, char **argv) { struct pkgdb *db = NULL; int64_t flatsize = 0; char size[7]; int retcode = EX_OK; int ch; while ((ch = getopt(argc, argv, "q")) != -1) { switch (ch) { case 'q': quiet = true; break; default: usage_stats(); return (EX_USAGE); } } argc -= optind; argv += optind; if (argc > 2) { usage_stats(); return (EX_USAGE); } if (pkgdb_open(&db, PKGDB_REMOTE) != EPKG_OK) { return (EX_IOERR); } printf("Local package database:\n"); printf("\tInstalled packages: %" PRId64 "\n", pkgdb_stats(db, PKG_STATS_LOCAL_COUNT)); flatsize = pkgdb_stats(db, PKG_STATS_LOCAL_SIZE); humanize_number(size, sizeof(flatsize), flatsize, "B", HN_AUTOSCALE, 0); printf("\tDisk space occupied: %s\n\n", size); printf("Remote package database(s):\n"); printf("\tNumber of repositories: %" PRId64 "\n", pkgdb_stats(db, PKG_STATS_REMOTE_REPOS)); printf("\tPackages available: %" PRId64 "\n", pkgdb_stats(db, PKG_STATS_REMOTE_COUNT)); printf("\tUnique packages: %" PRId64 "\n", pkgdb_stats(db, PKG_STATS_REMOTE_UNIQUE)); flatsize = pkgdb_stats(db, PKG_STATS_REMOTE_SIZE); humanize_number(size, sizeof(flatsize), flatsize, "B", HN_AUTOSCALE, 0); printf("\tTotal size of packages: %s\n", size); pkgdb_close(db); return (retcode); }
int main(int argc, char* argv[]) { salad_filename = argv[0]; log_level = STATUS; config_t config; test_config_t test_config; switch (parse_options(argc, argv, &config, &test_config)) { case SALAD_EXIT: return bye(EXIT_FAILURE); case SALAD_HELP: return usage_main(); case SALAD_HELP_TRAIN: return usage_train(); case SALAD_HELP_PREDICT: return usage_predict(); case SALAD_HELP_INSPECT: return usage_inspect(); case SALAD_HELP_STATS: return usage_stats(); #ifdef TEST_SALAD case SALAD_HELP_TEST: return usage_test(); #endif case SALAD_VERSION: return version(); default: break; } if (config.input_type == IOMODE_FILES) { error("Input mode 'files' is not yet implemented."); return bye(EXIT_FAILURE); } int ret = EXIT_FAILURE, is_metaop = FALSE; switch (config.mode) { case TRAINING: ret = _salad_train_(&config); break; case PREDICT: ret = _salad_predict_(&config); break; case INSPECT: ret = _salad_inspect_(&config); break; default: is_metaop = TRUE; break; } switch (config.mode) { case STATS: ret = _salad_stats_(&config); break; #ifdef TEST_SALAD case TEST: ret = _salad_test_(&test_config); break; #endif default: break; } return bye_ex(ret, is_metaop ? NULL : "Done!"); }
int main(int argc, char* argv[]) { struct rusage usage; pthread_t* thread; int row, column, aux; if (argv[1]==NULL){ fprintf(stderr, "Missing parameter for number of threads\n"); return -1; } num_thread = atoi (argv[1]); thread = (pthread_t*) malloc (num_thread*sizeof(pthread_t)); printf("Matrix multiplication with %d thread\n", num_thread); A = (int**) malloc(N*sizeof(int*)); B = (int**) malloc(N*sizeof(int*)); C = (int**) malloc(N*sizeof(int*)); for (int i = 0; i < N; i++) { A[i] = (int*) malloc(N*sizeof(int)); B[i] = (int*) malloc(N*sizeof(int)); C[i] = (int*) malloc(N*sizeof(int)); } populate(A); populate(B); int i; for (i = 0; i < num_thread; i++) pthread_create(&thread[i], NULL, runner, (void*)i); for (i = 0; i < num_thread; i++) pthread_join (thread[i],NULL); free(thread); printf("\nComputation done!\n\n"); getrusage(RUSAGE_SELF, &usage); usage_stats(&usage); return 0; }
int exec_stats(int argc, char **argv) { struct pkgdb *db = NULL; int64_t flatsize = 0; unsigned int opt = 0; char size[7]; int ch; bool show_bytes = false; struct option longopts[] = { { "bytes", no_argument, NULL, 'b' }, { "local", no_argument, NULL, 'l' }, { "quiet", no_argument, NULL, 'q' }, { "remote", no_argument, NULL, 'r' }, { NULL, 0, NULL, 0 }, }; while ((ch = getopt_long(argc, argv, "+blqr", longopts, NULL)) != -1) { switch (ch) { case 'b': show_bytes = true; break; case 'l': opt |= STATS_LOCAL; break; case 'q': quiet = true; break; case 'r': opt |= STATS_REMOTE; break; default: usage_stats(); return (EX_USAGE); } } argc -= optind; argv += optind; /* default is to show everything we have */ if (opt == 0) opt |= (STATS_LOCAL | STATS_REMOTE); if (pkgdb_open(&db, PKGDB_REMOTE) != EPKG_OK) { return (EX_IOERR); } if (pkgdb_obtain_lock(db, PKGDB_LOCK_READONLY) != EPKG_OK) { pkgdb_close(db); warnx("Cannot get a read lock on a database, it is locked by another process"); return (EX_TEMPFAIL); } if (opt & STATS_LOCAL) { printf("Local package database:\n"); printf("\tInstalled packages: %" PRId64 "\n", pkgdb_stats(db, PKG_STATS_LOCAL_COUNT)); flatsize = pkgdb_stats(db, PKG_STATS_LOCAL_SIZE); if (show_bytes) printf("\tDisk space occupied: %" PRId64 "\n\n", flatsize); else { humanize_number(size, sizeof(size), flatsize, "B", HN_AUTOSCALE, 0); printf("\tDisk space occupied: %s\n\n", size); } } if ((opt & STATS_REMOTE) && pkg_repos_total_count() > 0) { printf("Remote package database(s):\n"); printf("\tNumber of repositories: %" PRId64 "\n", pkgdb_stats(db, PKG_STATS_REMOTE_REPOS)); printf("\tPackages available: %" PRId64 "\n", pkgdb_stats(db, PKG_STATS_REMOTE_COUNT)); printf("\tUnique packages: %" PRId64 "\n", pkgdb_stats(db, PKG_STATS_REMOTE_UNIQUE)); flatsize = pkgdb_stats(db, PKG_STATS_REMOTE_SIZE); if (show_bytes) printf("\tTotal size of packages: %" PRId64 "\n", flatsize); else { humanize_number(size, sizeof(size), flatsize, "B", HN_AUTOSCALE, 0); printf("\tTotal size of packages: %s\n", size); } } pkgdb_release_lock(db, PKGDB_LOCK_READONLY); pkgdb_close(db); return (EX_OK); }