Sorry Nicolas, I just realized that
all variables should be read for the access benchmark.
But in the script shared initially, PyTelTools was forced to read only the first variable (so Z probably).
If you want to compare same tasks, could you please update PyTelTools (to have commit f6af747) and use read_vars_in_frame (or eventually read_vars_in_frame_as_3d) instead of read_var_in_frame.
Here is a snippet example:
# PyTelTools
@timer
def pyTelTools(f):
resin = Serafin.Read(f, 'en')
resin.__enter__()
resin.read_header()
return resin
@timer
def pyTelTools_access(slf, i_record):
slf.read_vars_in_frame(i_record)
file_3d = '/home/tomsail/Documents/work/python/pyPoseidon/Tutorial/test/hindcast/201303/input_wind_tmp.slf'
resin = pyTelTools(file_3d)
pyTelTools_access(resin, 10, file_3d)
The output should have the shape: (number of variables, number of nodes).
Remark: the reading in PyTelTools has not been optimized to read simultaneously all variables. But it could be easy optimized while providing also other interfaces (read specific variables).
Best Regards,
Luc