Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance PyTables中的切片_Performance_Optimization_Pytables - Fatal编程技术网

Performance PyTables中的切片

Performance PyTables中的切片,performance,optimization,pytables,Performance,Optimization,Pytables,使用Pytable对h5中保存的阵列进行切片的最快方法是什么 情况如下: 数据已保存(此处无需优化): 数据将被打开: h5file = tables.openFile(hd5_filename, mode="r") node = h5file.getNode('/', data_node) X = getattr(node, X_str) 这就是我需要优化的地方,我需要对许多索引和不同的最小/最大位置进行大量无法排序的以下类型的数组切片: for index, min_x, min_y,

使用Pytable对h5中保存的阵列进行切片的最快方法是什么

情况如下:

  • 数据已保存(此处无需优化):

  • 数据将被打开:

    h5file = tables.openFile(hd5_filename, mode="r")
    node = h5file.getNode('/', data_node)
    X = getattr(node, X_str)
    
  • 这就是我需要优化的地方,我需要对许多索引和不同的最小/最大位置进行大量无法排序的以下类型的数组切片:

    for index, min_x, min_y, min_z, max_x, max_y, max_z in my_very_long_list:    
        current_item = X[index][min_x:max_x,min_y:max_y,min_z:max_z]
        do_something(current_item)
    
  • 问题是: 这是完成任务的最快方法吗

    for index, min_x, min_y, min_z, max_x, max_y, max_z in my_very_long_list:    
        current_item = X[index][min_x:max_x,min_y:max_y,min_z:max_z]
        do_something(current_item)