快速随机访问bzip2文件

indexed-bzip2的Python项目详细描述


索引_bzip2

PyPI versionDownloadsLicenseBuild Status

这个模块提供了一个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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在字符串文本中查找字符串的出现处?   java类对象何时被垃圾回收?   java在没有setter/getter的其他类中切换变量   java禁用依赖项的lint   Android TextView HTML中的java换行符   java Mutiny:处理多个UNI并使用来自“外部”的值   java在JavaFX中使用ComboBox获得选项的空白列表   java仅显示和保存true语句   mavencompilerplugin中使用的release标记/属性和compilerVersion标记/属性之间的差异。升级到java 11时出现的问题   java:单例异常可以工作吗?   java twitter4j setpage()不工作   java如何使用REST在HP ALM 12中创建新缺陷   Eclipse会在每次重新启动时将Java编译器遵从性级别重置为1.7   java组织。冬眠例外虽然捕获到了DataException   查找多维数组*java的特定元素的长度*