快速随机访问bzip2文件
indexed-bzip2的Python项目详细描述
索引_bzip2
这个模块提供了一个IndexedBzip2File类,它可以用来在bzip2文件中查找,而不必先解压缩它们。 它基于来自toybox的bzip2解码器bzcat的改进版本,该版本经过重构和扩展,能够导出和导入bzip2块偏移并查找它们。 只模拟在一个块内搜索,因此IndexedBzip2File只会在有多个块时加快查找速度,这几乎总是导致存档大于1 MB的原因。在
安装
只需从PyPI安装即可:
pip install indexed_bzip2
使用
例1
^{pr2}$第一次调用seek将确保块偏移量列表是完整的,因此可能会首先创建它们。 因此,第一次呼叫seek可能需要一段时间。在
例2
创建bzip2块列表可能需要一段时间,因为它必须完全解码bzip2文件。 为了避免在打开bzip2文件时出现这种设置,可以导出和导入块偏移列表。在
fromindexed_bzip2importIndexedBzip2Filefile=IndexedBzip2File("example.bz2")blockOffsets=file.block_offsets()# can take a whilefile.close()file2=IndexedBzip2File("example.bz2")blockOffsets=file2.set_block_offsets(blockOffsets)# should be fastfile2.seek(123)data=file2.read(100)file2.close()
跟踪解码器
性能分析和跟踪是通过Score-P来完成的,用于检测的是Vampir用于可视化。 这是一种方法,您可以将Score-P与Debian 10上的大多数功能一起安装。在
# Install PAPI wget http://icl.utk.edu/projects/papi/downloads/papi-5.7.0.tar.gz tar -xf papi-5.7.0.tar.gz cd papi-5.7.0/src ./configure make -j sudo make install # Install Dependencies sudo apt-get install libopenmpi-dev openmpi gcc-8-plugin-dev llvm-dev libclang-dev libunwind-dev libopen-trace-format-dev otf-trace # Install Score-P (to /opt/scorep) wget https://www.vi-hps.org/cms/upload/packages/scorep/scorep-6.0.tar.gz tar -xf scorep-6.0.tar.gz cd scorep-6.0 ./configure --with-mpi=openmpi --enable-shared make -j make install # Add /opt/scorep to your path variables on shell start cat <<EOF >> ~/.bashrcif test -d /opt/scorep; then export SCOREP_ROOT=/opt/scorep export PATH=$SCOREP_ROOT/bin:$PATH export LD_LIBRARY_PATH=$SCOREP_ROOT/lib:$LD_LIBRARY_PATHfiEOF# Check whether it works scorep --version scorep-info config-summary # Actually do the tracingcd tools bash trace.sh
- 项目
标签: