Hi,

I have a table with ~300 columns and ~150,000 rows and I need to copy
it from one file to another.

However, the simplest methods I could find:
- input_file.copyNode(...)
- input_file.root.test_table.copy(output_file.root)
or even:
- input_file.copyFile(output_path)

are all slow as hell: they take more than 1 min, while a simple:

data = in_table.read()
out_table.append(data)
out_table.flush()

takes only 1.88s, and a copying in chunks of 10000 rows takes 1.34s.

FWIW, no compression whatsoever is used in any of those cases, and
using it does not reduce the copy time.

That behavior does not show up with a small number of columns, but the
problem seem to grow geometrically with the number of columns. Is
there a setting somewhere that could alleviate this problem or is it a
known limitation or a bug?

Attached is my test case, if anyone is interested.
-- 
Gaƫtan de Menten

Attachment: test_h5copy.py
Description: Binary data

------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Pytables-users mailing list
Pytables-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pytables-users

Reply via email to