44 lines
2.1 KiB
Plaintext
44 lines
2.1 KiB
Plaintext
// if (lastBufRemain < BLOCK_HEADER_LENGTH) { // 上次遗留的数据不够解析block 长度
|
||
// memcpy(&preBlock[lastBufRemain], curBuf, BLOCK_HEADER_LENGTH);
|
||
// curReadPos += BLOCK_HEADER_LENGTH;
|
||
// lastBufRemain += BLOCK_HEADER_LENGTH;
|
||
// }
|
||
// blockLen = unpackInt16(&preBlock[16]) + 1;
|
||
// const int lenToRead = blockLen - lastBufRemain;
|
||
// memcpy(&preBlock[lastBufRemain], &curBuf[curReadPos], lenToRead);
|
||
// curReadPos += lenToRead;
|
||
// curStartAddrArr->push_back(&preBlock[0]);
|
||
|
||
// curStartAddrArr->push_back(&curBuf[0]);
|
||
// spdlog::info("first blocklen: {}, remain: {}, toread: {}", blockLen, lastBufRemain, lenToRead);
|
||
// uint8_t buf[65535];
|
||
// int block_length = unpackInt16(&preBlock[16]) + 1;
|
||
// uint32_t crc = le_to_u32(preBlock + block_length - 8);
|
||
// size_t dlen = 65535;
|
||
// int ret = bgzf_uncompress(buf, &dlen, (Bytef *)preBlock + 18, block_length - 18, crc); // 开头是header,得跳过
|
||
// int bamLen = *(uint32_t *)(buf);
|
||
// spdlog::info("ret: {}, bamLen: {}, dlen: {}, block_length: {}", ret, bamLen, dlen, block_length);
|
||
// exit(0);
|
||
|
||
// spdlog::info("read block len: {}", blockLen);
|
||
|
||
// spdlog::info("cur block size: {}", curStartAddrArr->size());
|
||
|
||
PROF_G_BEG(read);
|
||
readState = fread(fbuf[4], 1, READ_BUFSIZE, fpr);
|
||
readState = fread(curBuf, 1, READ_BUFSIZE, fpr);
|
||
PROF_G_BEG(mem_copy);
|
||
memcpy(curBuf, fbuf[4], READ_BUFSIZE);
|
||
PROF_G_END(mem_copy);
|
||
PROF_G_END(read);
|
||
|
||
// kt_for(nsgv::gSortArg.NUM_THREADS, mtUncompressBlock, &sortData, curStartAddrArr->size() / BATCH_SIZE);
|
||
// if (uncommpressedDataSize(sortData) >= nsgv::gSortArg.MAX_MEM) {
|
||
// kt_for(nsgv::gSortArg.NUM_THREADS, mtSortBlocks, &sortData, nsgv::gSortArg.NUM_THREADS);
|
||
// mergeSortedBlocks(sortData);
|
||
// }
|
||
|
||
//setvbuf(fpr, (char*)fbuf[4], _IOFBF, 0);
|
||
//setvbuf(fpr, (char *)fbuf[4], _IONBF, READ_BUFSIZE);
|
||
|
||
// const size_t READ_BUFSIZE = 8L * 1024 * 1024; |