こちらのC/400での読み取り高速化テクニックの調査の為、70万件のレコードを全件 読み込みして時間を計測する実験を行いました。
1)C/400で _Rreadnのレコード読み取りバッファにNULL 1分10秒 2)C/400で _Rreadnのレコード読み取りバッファを指定 1分10秒 3)ILE-RPG 1分08秒
で、RPGが一番早いという結果が出ました。1)が一番早いと聞いていたのですが、何か方法 があるのでしょうか?
ちなみに1)のソース(抜粋)は以下です。
fp = _Ropen("XXXXXXXX/XXXXXXXX", "rr"); if (fp == NULL) { printf("Open failed for open filen"); } memset(buff, 0, sizeof(buff)); while(1) { iofb = _Rreadn(fp,NULL, MAX_LEN, __DFT); if (iofb->num_bytes == EOF) break; memcpy(buff, (char*)(*(fp->in_buf)), fp->buf_length); buff[fp->buf_length] = 0x00; } _Rclose(fp); よろしくお願いします。
|