Change variable type to accommodate large data storages in sequencer program#6
Change variable type to accommodate large data storages in sequencer program#6zioven wants to merge 1 commit intoepics-modules:mainfrom
Conversation
|
Analyzing the current code… The Currently the This change looks appropriate and correct to me, although writing a sequence program that needs more than 2**32 bytes of storage for state variables seems surprising. It might be using more RAM and program storage than allocating memory for the largest arrays at initialization time would. This module is owned by @bfrk who doesn't use GitHub much, so a definitive response might not be quick. |
|
The change looks reasonable to me as well. BTW, nowadays hardware with a huge amount of physical memory can no longer assumed to be uncommon or unrealistic. That said, I am also surprised that someone seems to have actually hit the 4GiB limit with, of all things, a sequencer program. BTW. It is true that I am not very active on github, but more to the point, I can't seem to find the energy to actively maintain the sequencer any longer. I am aware that it is an important part of the EPICS toolbox and still used by a lot of people, so if there is interest in maintaining it here on github as a community maintained project (and primarily maintained with git), I would not stand in the way of doing so. I'd still be interested to see what is going on and happy to answer questions and help with reviews. |
|
2cts: |
|
@bfrk: Thanks an awful lot for what you achieved with the sequencer in the last two decades. We owe you! |
During development of sequencer with large amount of data, we have encountered a warning when size of allocated data structure went over the size of the
varSizedata type.As this is only populated from the call to
sizeofoperator in the following location:sequencer/src/snc/gen_tables.c
Line 290 in f313d4c
we propose that data type from this variable is updated to reflect the return value of the
sizeofoperator.