HDprintf("\t./a.out -f test.h5 -g 10000 -d 5000 -a 500 -r 10000 -s 200 -c 20 -v 40 -l -z\n\n");
 
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Copyright by The HDF Group.                                               *
 * All rights reserved.                                                      *
 *                                                                           *
 * This file is part of HDF5.  The full HDF5 copyright notice, including     *
 * terms governing use, modification, and redistribution, is contained in    *
 * the COPYING file, which can be found at the root of the source code       *
 * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.  *
 * If you do not have access to either file, you may request a copy from     *
 * help@hdfgroup.org.                                                        *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*****************************************************************************
  This test generates attributes, groups, and datasets of many types. It
  creates a large number of attributes, groups, and datasets by specifying
  -a, -g, -d options respectively. Using "-h" option to see details.
  Programmer:  Peter Cao <xcao@hdfgroup.org>, Jan. 2013
 ****************************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FNAME       "test_perf.h5"
#define NGROUPS     20
#define NDSETS      20
#define NATTRS      20
#define DIM0        40
#define NROWS       100
#define NTYPES      9
#define MAXVLEN     10
#define FIXED_LEN   8
typedef enum { SOLID=0, LIQUID, GAS, PLASMA } phase_t;
typedef struct {
    int                 i;
    unsigned long long  l;
    float               f;
    double              d;
    char                s[FIXED_LEN];
    phase_t             e;
    float               f_array[FIXED_LEN];
    hvl_t               i_vlen;
    char                *s_vlen;
} test_comp_t;
typedef struct {
    int     zipcode;
    char    *city;
} zipcode_t;