FastSort/code.bak

44 lines
2.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// 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;