Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Process of copying data ( bundle_copy , copyValues ).
  • eval(imas_control.get_wrapper(item) + args)  and eval(imas_control.get_wrapper(item) + args)  take almost half of function time

Testing HDF5

HDF5_BACKEND_READ_CACHE - TABLE

Markdown
|HDF5_BACKEND_READ_CACHE [MB]   |jintrac_imas_driver |jetto_wrapper |jintrac_imas_driver |jetto_wrapper|
|getslice interpolation| off | off| on |on |
|----------|------------|------------|-----------|-------------|
|   4 | 241.739 | 12.9481 | 230.008 | 12.136  |
|   8 | 234.774 | 12.3213 | 228.837 | 12.1292 |
|  12 | 168.333 | 13.0729 | 148.889 | 12.0893 |
|  16 | 154.656 | 12.3905 | 152.87  | 12.3117 |
|  20 | 152.988 | 12.4138 | 155.945 | 12.4595 |
|  24 | 150.913 | 12.283  | 155.469 | 12.7765 |
|  28 | 153.991 | 12.5123 | 153.11  | 12.3468 |
|  32 | 153.903 | 12.4356 | 149.575 | 12.1548 |
|  36 | 159.225 | 12.6422 | 151.492 | 12.1888 |
|  40 | 149.549 | 12.2838 | 152.926 | 12.207  |
|  44 | 158.385 | 12.5754 | 154.827 | 12.266  |
|  48 | 153.306 | 12.3843 | 152.786 | 12.3101 |
|  52 | 150.771 | 12.3464 | 151.305 | 12.1539 |
|  56 | 165.846 | 13.0865 | 153.383 | 12.2905 |
|  60 | 153.729 | 12.6542 | 155.563 | 12.4427 |
|  64 | 161.231 | 12.5552 | 151.229 | 12.2685 |
|  68 | 154.142 | 12.4402 | 148.697 | 12.0926 |
|  72 | 153.52  | 12.4294 | 149.757 | 12.1072 |
|  76 | 149.982 | 12.3277 | 151.765 | 12.2017 |
|  80 | 155.473 | 12.6245 | 151.903 | 12.2647 |
|  84 | 150.118 | 12.2872 | 152.894 | 12.2489 |
|  88 | 149.918 | 12.2017 | 154.456 | 12.285  |
|  92 | 151.403 | 12.317  | 149.207 | 12.0798 |
|  96 | 150.825 | 12.3905 | 152.792 | 12.2197 |
| 100 | 149.834 | 12.6997 | 147.859 | 12.0551 |
| 104 | 150.326 | 12.3421 | 148.031 | 12.062  |
| 108 | 151.51  | 12.3496 | 152.049 | 12.2785 |
| 112 | 155.506 | 12.4702 | 154.526 | 12.3407 |
| 116 | 153.662 | 12.4152 | 153.498 | 12.2769 |
| 120 | 158.311 | 12.7339 | 148.607 | 12.1153 |
| 124 | 154.864 | 12.2361 | 156.592 | 12.5044 |
| 128 | 153.5   | 12.2201 | 154.231 | 13.1112 |
| 132 | 152.191 | 12.3723 | 156.739 | 12.4632 |
| 136 | 160.911 | 12.5815 | 152.368 | 12.3718 |
| 140 | 159.165 | 12.8561 | 149.531 | 12.1498 |
| 144 | 153.646 | 12.4145 | 151.239 | 12.1133 |
| 148 | 149.434 | 12.3417 | 147.887 | 11.9921 |
| 152 | 151.505 | 12.3484 | 151.848 | 12.4215 |
| 156 | 151.068 | 12.3288 | 156.421 | 12.4458 |
| 160 | 152.951 | 12.4558 | 155.213 | 12.4617 |
| 164 | 149.566 | 12.2848 | 151.589 | 12.2744 |
| 168 | 151.872 | 12.4422 | 151.654 | 12.4456 |
| 172 | 152.766 | 12.4294 | 153.34  | 12.2264 |
| 176 | 151.982 | 12.4162 | 149.911 | 12.254  |
| 180 | 152.768 | 12.4248 | 156.015 | 12.3302 |
| 184 | 148.166 | 12.2076 | 149.323 | 12.2971 |
| 188 | 153.493 | 12.4229 | 153.415 | 13.0557 |
| 192 | 153.968 | 12.3694 | 157.029 | 12.4348 |
| 196 | 152.465 | 12.3764 | 154.288 | 12.2881 |
| 200 | 149.238 | 12.2266 | 154.713 | 12.3013 |

...

HDF5_BACKEND_READ_CACHE - PLOTS

TESTING MDSPLUS

LINE PROFILER

Code Block
titleLine profiler
Timer unit: 1e-06 s

Total time: 155.743 s
File: /pfs/work/g2pbloch/jintrac/python/jintrac_imas_driver.py
Function: jintrac_imas_driver at line 735

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
   896         1    1638364.1 1638364.1      1.1                  status, idx_out = DBentry.idsout.create()  # idx_out points to output IDS file index
   957        22   50742304.5 2306468.4     32.6                      ids_bundle_input[ids_struct] = eval('DBentry.idsin.get("'+ids_struct+'")')
   962         1   45878227.2 45878227.2     29.5          tmpdict = bundle_copy(ids_bundle_input)
   996         2    3193050.2 1596525.1      2.1                              ids_bundle_input[elem] = DBentry.idsin.get_slice(elem, tstart, interp_value)
  1011         1    3399663.8 3399663.8      2.2      ids_bundle_work = bundle_copy(ids_bundle_input)
  1012         1    4340984.3 4340984.3      2.8      ids_bundle_updated = bundle_copy(ids_bundle_input)
  1067         3    6779104.9 2259701.6      4.4          ids_bundle_prev[item] = bundle_copy(ids_bundle_work,imas_control.get_ids_sublist_updates(item))
  1199         3   25454536.5 8484845.5     16.3                  ids_bundle_updated_tmp = eval(imas_control.get_wrapper(item) + args)
  1105        11    4817487.6 437953.4      3.1                              ids_bundle_updated[ids_struct].copyValues(ids_bundle_updated_tmp[ids_struct])
  1106        11    3587909.3 326173.6      2.3                              ids_bundle_prev[item][ids_struct].copyValues(ids_bundle_updated_tmp[ids_struct])
  1114         1    4769085.3 4769085.3      3.1          ids_bundle_work = bundle_copy(ids_bundle_updated)

Total time: 12.4592 s
File: /pfs/work/g2pbloch/jintrac/python/jintrac_imas_driver.py
Function: jetto_wrapper at line 304

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
   323         1          1.3      1.3      0.0      out_prof, out_src, out_trans, out_equil, out_summ, out_num, out_work \
   324         1    8958798.8 8958798.8     71.9                = jetto(in_prof, in_src, in_trans, in_equil, in_nbi,
   325         1          0.2      0.2      0.0                        in_pel, in_pulse, in_contr, in_summ, in_num, in_work)
   367         1    3459717.4 3459717.4     27.8      out_ids_bundle = bundle_copy(in_ids_bundle_work)