Minimizing Load Time
jjames
AMX Sustaining Engineer
I know that large programs take longer to load than smaller ones, but I'm looking for some tips and suggestions to minimize load times with the large jobs. A quick background as to how I program. I use a lot of arrays, and pointers; the arrays are typically no larger than the number of outputs of our switchers (typically 18, but in this case 64.) So, in this instance, I have a lot of integer arrays 64 in length. These are generally pointers - here's an example:
I have plenty of these large 64+ constant integer arrays. I have practically nothing in DEFINE_START, so I'm sure the load time is determined on creating these arrays and other things such as variables, etc.
I've been toying around with the idea of using virtual devices to hold the information (levels and channels.) In a project with 18 outputs, it's not a problem and is much easier to manage. Currently, it takes at least a minute or two do download the code onsite and then about 4-5 minutes of load time before the system is initialized. I'm not looking for a rewrite, but just ideas on how to handle this in the future. Would creating structures with all this information take longer, shorter or the same amount of time to load? Has anyone done any tests with load time, and using different ways of loading the data needed for the project? One thought was to use a CSV file and load that information variables whenever the device comes online, but not sure how well this would come out.
Tips? Suggestions? Ideas?
INTEGER nPDP_DEV_MAP[]=
{
0 // 1 Ellie's Bedroom
,0 // 2 Mackenzie's Bathroom
,0 // 3 Mackenzie's Bedroom
,0 // 4 Aiden's Bathroom
,0 // 5 Aiden's Bedroom
,0 // 6 Ellie's Bath
,0 // 7 Lower Floor Hallway
,0 // 8 Main Floor Hall
,0 // 9 Upper Floor Hall
,0 // 10 Media Room Intercom
,0 // 11 Master Bedroom Intercom
,0 // 12 Lookout Intercom
,0 // 13 Main Great Room Intercom
,0 // 14 Hearth Room Intercom
,0 // 15 Future Room
,0 // 16 Sue's Office
,0 // 17 Guest Bath
,0 // 18 Kitchen
,0 // 19 Exercise Room
,0 // 20 Master Bathroom
,0 // 21 Sue's Closet
,0 // 22 Wine Room
,0 // 23 Billiards
,0 // 24 Greg's Closet
,0 // 25 Garage
,0 // 26 Mud Room
,0 // 27 Utility Room
,0 // 28 Lower Bar
,0 // 29 Outdoor Lookout
,0 // 30 Loggia
,0 // 31 Study
,0 // 32 Upper Bar
,0 // 33 Pool Porch
,0 // 34 Master Bedroom Terrace
,0 // 35 Caban
,0 // 36 BBQ
,0 // 37 Master Bedroom Terrace
,0 // 38 Cabana
,0 // 39 Pool BBQ SPeakers 2
,0 // 40 Kitchen BBQ
,0 // 41 Basketball Court
,0 // 42 Landscape 1
,0 // 43 Landscape 2
,0 // 44 Landscape 3
,0 // 45 Landscape 4
,0 // 46 Landscape 5
,0 // 47 Main Great Room
,0 // 48 Dining Room
,0 // 49 MBR TV
,0 // 50 Kitchen TV
,0 // 51 Master Bath TV
,0 // 52 Media TV
,0 // 53 Snug TV
,0 // 54
,0 // 55
,0 // 56
,0 // 57
,0 // 58
,0 // 59 Steam
,0 // 60 Lookout DTR
,0 // 61 Media Room DTR
,1 // 62 Hearth Room DTR
,3 // 63 Master Bedroom DTR
,2 // 64 Family Room DTR
,0 // 65 Guest Suite
,0 // 66
}
// NUMBERS ABOVE POINT TO WHICH PDP TO USE...
DEV dv_PDP[]=
{
dvPDP1
,dvPDP2
,dvPDP3
//ETC.
}
I have plenty of these large 64+ constant integer arrays. I have practically nothing in DEFINE_START, so I'm sure the load time is determined on creating these arrays and other things such as variables, etc.
I've been toying around with the idea of using virtual devices to hold the information (levels and channels.) In a project with 18 outputs, it's not a problem and is much easier to manage. Currently, it takes at least a minute or two do download the code onsite and then about 4-5 minutes of load time before the system is initialized. I'm not looking for a rewrite, but just ideas on how to handle this in the future. Would creating structures with all this information take longer, shorter or the same amount of time to load? Has anyone done any tests with load time, and using different ways of loading the data needed for the project? One thought was to use a CSV file and load that information variables whenever the device comes online, but not sure how well this would come out.
Tips? Suggestions? Ideas?
Comments
-
How many Duet modules do you have, and what are they? Generally the size of NetLinx code and the time it takes to boot up are dwarfed by even a single Duet module. You can try watching the Diagnostics window after a reboot to see what's taking so long. I believe there are some parameters you can adjust for Duet memory if that's causing issues.
-
I have one Duet module, and it's for a Sanyo projector. Tomorrow when I'm on site I'll try removing it and seeing if it loads up any quicker. I did at one point have 11 DirecTV Duet modules, but eventually stripped them and rolled my own because I did not want to have that many Duet modules loaded. If it does speed up the load by removing that one final Duet module, I guess I'll write my own.
This project does do M2M with 8 masters, not sure if that makes a difference. -
Even one Duet module will significantly hamper load time. I never use Duet modules. Duet is horribly slow, the implementation isn't so hot and AMX certainly isn't friendly re: Duet with lowly dealers... did I mention it is slow?
Re: M2M, it won't slow boot time, but the system may not be completely ready until the other masters come online, depending on how you programmed the system. -
I try to avoid Duet modules as much as I can . . . sometimes in a crunch I have to use them because either A) the protocol is way too convoluted for me to sit and nit-pick, and/or
I just don't have the time to role my own module.
In this case, I'm terrible with projector programming (I've never really got the hang of it), so I just looked for a module to slap in.
-
Even one Duet module will significantly hamper load time. I never use Duet modules. Duet is horribly slow, the implementation isn't so hot and AMX certainly isn't friendly re: Duet with lowly dealers... did I mention it is slow?
I don't think its the Duet module that's the issue per se, but that if you use any Duet modules then the Java runtime has to be loaded and started and this is likely what you are seeing slowing down a startup. Personally I am not so concerned about the startup costs, seeing as that is a rare occurence. It seems an odd thing to try and optimize but there might be a good reason to do so.
You don't specify what it is that is slow but if you are seeing slowness in the program like latency of feedback or other similar things, that is more likely due to the code or networking rather than Duet.
Paul -
Like I specify in the title: load time. Once the program is up and running, everything is fine. I did remove the module for kicks, and it's still slow.
Load time to me is: the time it takes from reboot to DEFINE_START. If you open diagnostics, you can see when DEFINE_START is started. I initialize the system by shutting everything off after a reboot (I like to start fresh after a reboot), and usually put in a 10-15 second delay before things are shut off. On a smaller system (18 zones), it'll take anywhere between 60 seconds to 90 from code sent to "system ready". Here it's at least 5-6 minutes.
All that's happening in diagnostics during this time is the memory decreases for a while (which I assume is when the variables & constants are created.) -
You might what to minimize the code that runs immediately upon start, device connection, especially IP connections, etc. Delay most initializations as much as pratical and when testing specific sections of the code comment out includes that aren't required for that paticular testing. Somethings obviously will be too much of a pain to comment out since they may hold definitions that other code needs but comment out what you can and put a #WARN 'somethings commented out' so you don't foget.
-
I did remove the module for kicks, and it's still slow.
That's curious.If you open diagnostics, you can see when DEFINE_START is started.
With the newest firmware all the LEDs flash once briefly when define_start is run for a visual confirmation as well.I initialize the system by shutting everything off after a reboot (I like to start fresh after a reboot), and usually put in a 10-15 second delay before things are shut off. On a smaller system (18 zones), it'll take anywhere between 60 seconds to 90 from code sent to "system ready". Here it's at least 5-6 minutes.
5-6 minutes sounds like something is wrong. With no code running at all what load times are you seeing? I wonder if you have a flash drive that is on its way out, or a hardware address conflict or some other issue is going on. If you post your define_start code it might be helpful. I typically do very little in define_start so I don't know what effect having lots of code in define_start has on load times.
Paul -
I don't know, I've seen perfectly fine systems take upwards of 5 minutes to start, even without Duet. I am talking about lots and lots of modules (more than 20 ... I hate those UI modules that need an instance per panel, but as someone else has said, I don't always have the luxury of rolling my own). If you connect with Telnet and turn diagnostic messages on, you can watch all the fun scroll by. I only consider it a problem when the message queue bogs down to the point of dropping messages .. but even then sometimes it clears up once everything is running and stable.
-
I have had problems with long load times in the past (has been discussed somewhere in the forums). I found a couple of things:
- Use DEFINE_START as little as possible. I moved almost everything out of DEFINE_START and into an ONLINE: section of a virtual device. DEFINE_START was executing before the processor was really ready to start handling things and it was pegging my buffers. I even had to add some delays in the ONLINE: section to make sure everything was ready for things like reading from the flash.
- If you have written modules the take in dev arrays of panels, be careful. Each instance of a module seems to create its own memory space or variable or pointer or something for tracking or use of the device. I once had a processor start time of over 40 minutes when I had 9 instances of a module that had a dev array of around 40 touch panels passed in. I moved the code from a module to an include modified to support all 9 devices and the boot time dropped back to 5 minutes. (Duet modules were still being used elsewhere)
- Make sure Duet memory is higher than the default 3M if you have ANY duet modules being used.
That is all that comes to mind at the moment, but I will edit if I think of something else. I also am not too concerned about boot times as long as the extra couple minutes has value when the program is running.
Jeff -
Ok, here's what I've got:
13 Modules (I removed the Duet module for now)
8 Masters
Most (95%) code is run on this master, which includes variables, constants, etc.
When compiling, I get this:Compiled Code takes 895625 bytes of memory -- Token and Variable Count is 16059 (Maximum is 100000)
Prior to removing the Duet module, it was over 2MB of memory.
I loaded a "clean" program in, and it was much, much quicker (in the ballpark of 1 minute.)
I'll be honest, this is more of an annoyance, and not a job crippling problem. Once I'm complete and do not have to reboot as much - I'll probably forget the issue.
This is what I get until DEFINE_START...Line 1 (10:03:43.080):: Memory Available = 34979304 <15600> Line 2 (10:03:43.080):: Memory Available = 34939016 <40288> Line 3 (10:03:43.522):: Memory Available = 34927960 <11056> Line 4 (10:03:43.553):: Memory Available = 34915688 <12272> Line 5 (10:03:43.554):: Memory Available = 34884104 <31584> Line 6 (10:03:44.198):: Memory Available = 34821816 <62288> Line 7 (10:03:45.199):: Memory Available = 34715264 <106552> Line 8 (10:03:46.199):: Memory Available = 34516912 <198352> Line 9 (10:03:46.901):: Memory Available = 34494832 <22080> Line 10 (10:03:46.984):: Invalid message received @ CDMDeviceManager (00A8) Line 11 (10:03:47.198):: Memory Available = 34447056 <47776> Line 12 (10:03:48.169):: Memory Available = 34386280 <60776> Line 13 (10:03:49.071):: Memory Available = 34327536 <58744> Line 14 (10:03:50.202):: Memory Available = 34221816 <105720> Line 15 (10:03:50.465):: Memory Available = 34177272 <44544> Line 16 (10:03:51.181):: Memory Available = 34163312 <13960> Line 17 (10:03:52.039):: Memory Available = 34107056 <56256> Line 18 (10:03:52.058):: Memory Available = 34085512 <21544> Line 19 (10:03:52.187):: Memory Available = 34074032 <11480> Line 20 (10:03:53.039):: Memory Available = 33899456 <174576> Line 21 (10:03:53.055):: Memory Available = 33868056 <31400> Line 22 (10:03:53.488):: Memory Available = 33858024 <10032> Line 23 (10:03:54.022):: Memory Available = 33847848 <10176> Line 24 (10:03:54.038):: Memory Available = 33817504 <30344> Line 25 (10:03:54.756):: Memory Available = 33801624 <15880> Line 26 (10:03:55.062):: Memory Available = 33789760 <11864> Line 27 (10:03:55.063):: Memory Available = 33758416 <31344> Line 28 (10:03:56.198):: Memory Available = 33737208 <21208> Line 29 (10:03:56.314):: Memory Available = 33725224 <11984> Line 30 (10:03:56.377):: Memory Available = 33715024 <10200> Line 31 (10:03:56.378):: Remote System 3 Online: Route 3 Metric 1 Line 32 (10:03:56.379):: Remote System 5 Online: Route 5 Metric 1 Line 33 (10:03:56.379):: Remote System 7 Online: Route 7 Metric 1 Line 34 (10:03:56.380):: Remote System 6 Online: Route 6 Metric 1 Line 35 (10:03:56.381):: Memory Available = 33690976 <24048> Line 36 (10:03:56.443):: Remote System 4 Online: Route 4 Metric 1 Line 37 (10:03:56.615):: Memory Available = 33678632 <12344> Line 38 (10:03:56.616):: Memory Available = 33667672 <10960> Line 39 (10:03:56.617):: Invalid message received @ CDMDeviceManager (00A8) Line 40 (10:03:56.619):: Invalid message received @ CDMDeviceManager (00A8) Line 41 (10:03:56.619):: Invalid message received @ CDMDeviceManager (00A8) Line 42 (10:03:56.621):: Invalid message received @ CDMDeviceManager (00A8) Line 43 (10:03:56.621):: Memory Available = 33653208 <14464> Line 44 (10:03:56.789):: Memory Available = 33641368 <11840> Line 45 (10:03:56.790):: Remote System 2 Online: Route 2 Metric 1 Line 46 (10:03:56.790):: Remote System 8 Online: Route 8 Metric 1 Line 47 (10:03:56.791):: Invalid message received @ CDMDeviceManager (00A8) Line 48 (10:03:56.792):: Invalid message received @ CDMDeviceManager (00A8) Line 49 (10:03:56.793):: Invalid message received @ CDMDeviceManager (00A8) Line 50 (10:03:56.794):: Invalid message received @ CDMDeviceManager (00A8) Line 51 (10:03:56.795):: Memory Available = 33605800 <35568> Line 52 (10:03:58.182):: Memory Available = 33582648 <23152> Line 53 (10:03:58.477):: Memory Available = 33571248 <11400> Line 54 (10:03:58.786):: Invalid message received @ CDMDeviceManager (00A8) Line 55 (10:03:58.886):: Invalid message received @ CDMDeviceManager (00A8) Line 56 (10:03:59.198):: Memory Available = 33518976 <52272> Line 57 (10:03:59.983):: Closing connection to 10.76.67.27 due to username/password authentication failure; Sys=1 Dev=10006 Line 58 (10:03:59.984):: CICSPTCP Rx connection to 10.76.67.27 has been closed locally or by peer Line 59 (10:03:59.984):: Memory Available = 33503824 <15152> Line 60 (10:04:00.150):: Memory Available = 33492944 <10880> Line 61 (10:04:00.752):: Memory Available = 33453080 <39864> Line 62 (10:04:00.967):: Closing connection to 10.76.67.23 due to username/password authentication failure; Sys=1 Dev=10002 Line 63 (10:04:00.967):: CICSPTCP Rx connection to 10.76.67.23 has been closed locally or by peer Line 64 (10:04:00.968):: Memory Available = 33439088 <13992> Line 65 (10:04:01.198):: Memory Available = 33426176 <12912> Line 66 (10:04:01.736):: Memory Available = 33396344 <29832> Line 67 (10:04:01.950):: Closing connection to 10.76.67.35 due to username/password authentication failure; Sys=1 Dev=10014 Line 68 (10:04:01.950):: CICSPTCP Rx connection to 10.76.67.35 has been closed locally or by peer Line 69 (10:04:01.951):: Memory Available = 33384024 <12320> Line 70 (10:04:03.049):: Memory Available = 33328040 <55984> Line 71 (10:04:03.072):: Memory Available = 33297704 <30336> Line 72 (10:04:03.353):: Memory Available = 33282200 <15504> Line 73 (10:04:03.483):: Memory Available = 33270984 <11216> Line 74 (10:04:03.832):: Memory Available = 33254320 <16664> Line 75 (10:04:04.051):: Memory Available = 33205576 <48744> Line 76 (10:04:04.062):: Memory Available = 33175232 <30344> Line 77 (10:04:05.047):: Memory Available = 33098936 <76296> Line 78 (10:04:05.064):: Memory Available = 33084304 <14632> Line 79 (10:04:05.065):: Memory Available = 33067024 <17280> Line 80 (10:04:05.428):: Memory Available = 33055304 <11720> Line 81 (10:04:06.182):: Memory Available = 33043072 <12232> Line 82 (10:04:07.197):: Memory Available = 33026792 <16280> Line 83 (10:04:08.198):: Memory Available = 33012096 <14696> Line 84 (10:04:09.181):: Memory Available = 32994504 <17592> Line 85 (10:04:10.155):: Memory Available = 32980424 <14080> Line 86 (10:04:10.895):: Memory Available = 32969264 <11160> Line 87 (10:04:12.198):: Memory Available = 32948688 <20576> Line 88 (10:04:13.198):: Memory Available = 32909968 <38720> Line 89 (10:04:13.513):: Memory Available = 32899672 <10296> Line 90 (10:04:14.169):: Memory Available = 32876736 <22936> Line 91 (10:04:15.198):: Memory Available = 32843296 <33440> Line 92 (10:04:16.198):: Memory Available = 32828248 <15048> Line 93 (10:04:17.198):: Memory Available = 32814184 <14064> Line 94 (10:04:18.198):: Memory Available = 32799400 <14784> Line 95 (10:04:18.972):: Memory Available = 32788704 <10696> Line 96 (10:04:20.198):: Memory Available = 32771896 <16808> Line 97 (10:04:21.198):: Memory Available = 32758256 <13640> Line 98 (10:04:22.198):: Memory Available = 32743768 <14488> Line 99 (10:04:22.726):: Memory Available = 32696760 <47008> Line 100 (10:04:22.754):: Memory Available = 32679312 <17448> Line 101 (10:04:22.754):: Memory Available = 32630656 <48656> Line 102 (10:04:22.818):: Memory Available = 32613240 <17416> Line 103 (10:04:23.531):: Memory Available = 32602928 <10312> Line 104 (10:04:24.183):: Memory Available = 32554320 <48608> Line 105 (10:04:24.615):: Closing connection to 10.76.67.29 due to username/password authentication failure; Sys=1 Dev=10008 Line 106 (10:04:24.616):: CICSPTCP Rx connection to 10.76.67.29 has been closed locally or by peer Line 107 (10:04:24.714):: Memory Available = 32544064 <10256> Line 108 (10:04:24.739):: Memory Available = 32516248 <27816> Line 109 (10:04:25.709):: Memory Available = 32461400 <54848> Line 110 (10:04:25.735):: Memory Available = 32430512 <30888> Line 111 (10:04:27.200):: Memory Available = 32409144 <21368> Line 112 (10:04:28.091):: Memory Available = 32397968 <11176> Line 113 (10:04:28.658):: Memory Available = 32348584 <49384> Line 114 (10:04:29.549):: Closing connection to 10.76.67.29 due to username/password authentication failure; Sys=1 Dev=10008 Line 115 (10:04:29.550):: CICSPTCP Rx connection to 10.76.67.29 has been closed locally or by peer Line 116 (10:04:29.551):: Memory Available = 32337336 <11248> Line 117 (10:04:32.627):: Memory Available = 32296728 <40608> Line 118 (10:04:32.674):: Memory Available = 32278456 <18272> Line 119 (10:04:32.675):: Memory Available = 32213528 <64928> Line 120 (10:04:33.514):: Memory Available = 32201632 <11896> Line 121 (10:04:35.214):: Memory Available = 32180072 <21560> Line 122 (10:04:36.083):: Memory Available = 32169264 <10808> Line 123 (10:04:36.089):: Invalid message received @ CDMDeviceManager (00A8) Line 124 (10:04:37.214):: Memory Available = 32154096 <15168> Line 125 (10:04:38.214):: Memory Available = 32141600 <12496> Line 126 (10:04:39.599):: Memory Available = 32129376 <12224> Line 127 (10:04:40.215):: Memory Available = 32116352 <13024> Line 128 (10:04:41.197):: Memory Available = 32104912 <11440> Line 129 (10:04:42.196):: Memory Available = 32092448 <12464> Line 130 (10:04:43.214):: Memory Available = 32080744 <11704> Line 131 (10:04:44.135):: Memory Available = 32069392 <11352> Line 132 (10:04:45.095):: Memory Available = 32058304 <11088> Line 133 (10:04:46.214):: Memory Available = 32045120 <13184> Line 134 (10:04:47.197):: Memory Available = 32032992 <12128> Line 135 (10:04:48.187):: Memory Available = 32021816 <11176> Line 136 (10:04:49.215):: Memory Available = 32010416 <11400> Line 137 (10:04:50.197):: Memory Available = 31998888 <11528> Line 138 (10:04:51.200):: Memory Available = 31987448 <11440> Line 139 (10:04:52.191):: Memory Available = 31976216 <11232> Line 140 (10:04:53.214):: Memory Available = 31965128 <11088> Line 141 (10:04:54.197):: Memory Available = 31926160 <38968> Line 142 (10:04:55.214):: Memory Available = 31862448 <63712> Line 143 (10:04:55.854):: Memory Available = 31827528 <34920> Line 144 (10:04:56.166):: Memory Available = 31811336 <16192> Line 145 (10:04:57.215):: Memory Available = 31761048 <50288> Line 146 (10:04:58.213):: Memory Available = 31716960 <44088> Line 147 (10:04:58.580):: Memory Available = 31702088 <14872> Line 148 (10:04:59.214):: Memory Available = 31678888 <23200> Line 149 (10:05:00.167):: Memory Available = 31642544 <36344> Line 150 (10:05:01.213):: Memory Available = 31611672 <30872> Line 151 (10:05:02.214):: Memory Available = 31600600 <11072> Line 152 (10:05:03.197):: Memory Available = 31589864 <10736> Line 153 (10:05:03.670):: Memory Available = 31550280 <39584> Line 154 (10:05:04.887):: Memory Available = 31537712 <12568> Line 155 (10:05:06.214):: Memory Available = 31522840 <14872> Line 156 (10:05:07.214):: Memory Available = 31512120 <10720> Line 157 (10:05:08.214):: Memory Available = 31501560 <10560> Line 158 (10:05:09.213):: Memory Available = 31490584 <10976> Line 159 (10:05:10.213):: Memory Available = 31480112 <10472> Line 160 (10:05:11.213):: Memory Available = 31469568 <10544> Line 161 (10:05:12.213):: Memory Available = 31459552 <10016> Line 162 (10:05:13.197):: Memory Available = 31449344 <10208> Line 163 (10:05:14.204):: Memory Available = 31439152 <10192> Line 164 (10:05:15.213):: Memory Available = 31428432 <10720> Line 165 (10:05:16.213):: Memory Available = 31418224 <10208> Line 166 (10:05:17.213):: Memory Available = 31408032 <10192> Line 167 (10:05:18.662):: Memory Available = 31393528 <14504> Line 168 (10:05:20.053):: Memory Available = 31379912 <13616> Line 169 (10:05:21.213):: Memory Available = 31368032 <11880> Line 170 (10:05:22.583):: Memory Available = 31354160 <13872> Line 171 (10:05:23.683):: Memory Available = 31343336 <10824> Line 172 (10:05:25.213):: Memory Available = 31328936 <14400> Line 173 (10:05:26.213):: Memory Available = 31318904 <10032> Line 174 (10:05:27.213):: Memory Available = 31308728 <10176> Line 175 (10:05:28.359):: Memory Available = 31297728 <11000> Line 176 (10:05:29.490):: Memory Available = 31286864 <10864> Line 177 (10:05:31.103):: Memory Available = 31271376 <15488> Line 178 (10:05:31.934):: Memory Available = 31169056 <102320> Line 179 (10:05:33.213):: Memory Available = 31157016 <12040> Line 180 (10:05:34.134):: Memory Available = 31145656 <11360> Line 181 (10:05:35.212):: Memory Available = 31135200 <10456> Line 182 (10:05:35.793):: Memory Available = 31118040 <17160> Line 183 (10:05:36.216):: Memory Available = 31104664 <13376> Line 184 (10:05:36.937):: Memory Available = 31082240 <22424> Line 185 (10:05:38.213):: Memory Available = 31043256 <38984> Line 186 (10:05:38.713):: Memory Available = 31029176 <14080> Line 187 (10:05:39.215):: Memory Available = 31015512 <13664> Line 188 (10:05:40.213):: Memory Available = 30987264 <28248> Line 189 (10:05:41.213):: Memory Available = 30960424 <26840> Line 190 (10:05:42.213):: Memory Available = 30933968 <26456> Line 191 (10:05:42.637):: Memory Available = 30923320 <10648> Line 192 (10:05:43.215):: Memory Available = 30909240 <14080> Line 193 (10:05:43.600):: Memory Available = 30899208 <10032> Line 194 (10:05:44.155):: Memory Available = 30883784 <15424> Line 195 (10:05:45.212):: Memory Available = 30858632 <25152> Line 196 (10:05:46.222):: Memory Available = 30835752 <22880> Line 197 (10:05:47.231):: Memory Available = 30811408 <24344> Line 198 (10:05:48.212):: Memory Available = 30789848 <21560> Line 199 (10:05:49.212):: Memory Available = 30777896 <11952> Line 200 (10:05:51.230):: Memory Available = 30757848 <20048> Line 201 (10:05:52.310):: Memory Available = 30747304 <10544> Line 202 (10:05:53.778):: Memory Available = 30733488 <13816> Line 203 (10:05:55.213):: Memory Available = 30719640 <13848> Line 204 (10:05:56.213):: Memory Available = 30709624 <10016> Line 205 (10:05:58.229):: Memory Available = 30690472 <19152> Line 206 (10:05:59.566):: Memory Available = 30678008 <12464> Line 207 (10:06:01.213):: Memory Available = 30663136 <14872> Line 208 (10:06:02.231):: Memory Available = 30653048 <10088> Line 209 (10:06:03.813):: Memory Available = 30638968 <14080> Line 210 (10:06:05.212):: Memory Available = 30626048 <12920> Line 211 (10:06:07.229):: Memory Available = 30460816 <165232> Line 212 (10:06:08.142):: Memory Available = 30448480 <12336> Line 213 (10:06:08.886):: Memory Available = 30436048 <12432> Line 214 (10:06:09.589):: Memory Available = 30419136 <16912> Line 215 (10:06:10.212):: Memory Available = 30398632 <20504> Line 216 (10:06:10.248):: Memory Available = 30387368 <11264> Line 217 (10:06:11.229):: Memory Available = 30352832 <34536> Line 218 (10:06:12.166):: Memory Available = 30321840 <30992> Line 219 (10:06:13.229):: Memory Available = 30288488 <33352> Line 220 (10:06:13.598):: Memory Available = 30277664 <10824> Line 221 (10:06:15.229):: Memory Available = 30262032 <15632> Line 222 (10:06:17.229):: Memory Available = 30245096 <16936> Line 223 (10:06:18.845):: Memory Available = 30230752 <14344> Line 224 (10:06:20.229):: Memory Available = 30219600 <11152> Line 225 (10:06:22.119):: Memory Available = 30203864 <15736> Line 226 (10:06:23.861):: Memory Available = 30188904 <14960> Line 227 (10:06:25.211):: Memory Available = 30178104 <10800> Line 228 (10:06:27.228):: Memory Available = 30154832 <23272> Line 229 (10:06:28.186):: Memory Available = 30134592 <20240> Line 230 (10:06:28.878):: Memory Available = 30119984 <14608> Line 231 (10:06:29.641):: Memory Available = 30105008 <14976> Line 232 (10:06:30.190):: Memory Available = 30093568 <11440> Line 233 (10:06:31.229):: Memory Available = 30072728 <20840> Line 234 (10:06:32.028):: Memory Available = 30057168 <15560> Line 235 (10:06:32.215):: Memory Available = 30042632 <14536> Line 236 (10:06:32.250):: Memory Available = 30031192 <11440> Line 237 (10:06:32.287):: Memory Available = 30002456 <28736> Line 238 (10:06:33.229):: Memory Available = 29985840 <16616> Line 239 (10:06:33.912):: Memory Available = 29965320 <20520> Line 240 (10:06:35.229):: Memory Available = 29927968 <37352> Line 241 (10:06:35.832):: Memory Available = 29912128 <15840> Line 242 (10:06:36.228):: Memory Available = 29901744 <10384> Line 243 (10:06:38.229):: Memory Available = 29884424 <17320> Line 244 (10:06:39.665):: Memory Available = 29872784 <11640> Line 245 (10:06:41.228):: Memory Available = 29859864 <12920> Line 246 (10:06:42.640):: Memory Available = 29847912 <11952> Line 247 (10:06:43.911):: Memory Available = 29837528 <10384> Line 248 (10:06:45.228):: Memory Available = 29827000 <10528> Line 249 (10:06:46.491):: Memory Available = 29816720 <10280> Line 250 (10:06:48.212):: Memory Available = 29802776 <13944> Line 251 (10:06:49.691):: Memory Available = 29790600 <12176> Line 252 (10:06:51.245):: Memory Available = 29763688 <26912> Line 253 (10:06:51.925):: Memory Available = 29750768 <12920> Line 254 (10:06:52.762):: Memory Available = 29735280 <15488> Line 255 (10:06:53.961):: Memory Available = 29712840 <22440> Line 256 (10:06:55.244):: Memory Available = 29689592 <23248> Line 257 (10:06:55.913):: Memory Available = 29678240 <11352> Line 258 (10:06:55.926):: Memory Available = 29665880 <12360> Line 259 (10:06:55.942):: Memory Available = 29650536 <15344> Line 260 (10:06:57.227):: Memory Available = 29621216 <29320> Line 261 (10:06:57.719):: Memory Available = 29608984 <12232> Line 262 (10:06:58.228):: Memory Available = 29596400 <12584> Line 263 (10:06:58.963):: Memory Available = 29578624 <17776> Line 264 (10:06:59.714):: Memory Available = 29562008 <16616> Line 265 (10:07:00.227):: Memory Available = 29549688 <12320> Line 266 (10:07:01.227):: Memory Available = 29537456 <12232> Line 267 (10:07:03.246):: Memory Available = 29521296 <16160> Line 268 (10:07:05.231):: Memory Available = 29505912 <15384> Line 269 (10:07:07.244):: Memory Available = 29490016 <15896> Line 270 (10:07:09.011):: Memory Available = 29476376 <13640> Line 271 (10:07:10.566):: Memory Available = 29464336 <12040> Line 272 (10:07:12.173):: Memory Available = 29451768 <12568> Line 273 (10:07:13.994):: Memory Available = 29438216 <13552> Line 274 (10:07:15.244):: Memory Available = 29423520 <14696> Line 275 (10:07:16.177):: Memory Available = 29407432 <16088> Line 276 (10:07:16.772):: Memory Available = 29396904 <10528> Line 277 (10:07:17.358):: Memory Available = 29386784 <10120> Line 278 (10:07:18.102):: Memory Available = 29374024 <12760> Line 279 (10:07:19.010):: Memory Available = 29358552 <15472> Line 280 (10:07:19.773):: Memory Available = 29346496 <12056> Line 281 (10:07:21.243):: Memory Available = 29322400 <24096> Line 282 (10:07:21.313):: Memory Available = 29312072 <10328> Line 283 (10:07:21.317):: Memory Available = 29208152 <103920> Line 284 (10:07:21.592):: Memory Available = 29173528 <34624> Line 285 (10:07:21.874):: Memory Available = 29099464 <74064> Line 286 (10:07:22.101):: Memory Available = 29079856 <19608> Line 287 (10:07:23.245):: Memory Available = 28765552 <314304> Line 288 (10:07:24.027):: Memory Available = 28650240 <115312> Line 289 (10:07:24.203):: Memory Available = 28640112 <10128> Line 290 (10:07:25.244):: Memory Available = 28380368 <259744> Line 291 (10:07:26.217):: Create Jetty Web Server Line 292 (10:07:26.217):: Memory Available = 28321768 <58600> Line 293 (10:07:26.537):: Memory Available = 28269320 <52448> Line 294 (10:07:27.244):: Memory Available = 28221512 <47808> Line 295 (10:07:28.244):: Memory Available = 28204568 <16944> Line 296 (10:07:29.044):: Memory Available = 28021496 <183072> Line 297 (10:07:29.794):: Memory Available = 27929952 <91544> Line 298 (10:07:30.262):: Memory Available = 27877656 <52296> Line 299 (10:07:31.242):: DeviceManager 0.0.1 has been started Line 300 (10:07:31.243):: Memory Available = 27680520 <197136> Line 301 (10:07:32.110):: Memory Available = 27629872 <50648> Line 302 (10:07:33.129):: DeviceAccess 0.0.1 has been started Line 303 (10:07:33.129):: Memory Available = 27544360 <85512> Line 304 (10:07:33.245):: Memory Available = 27514704 <29656> Line 305 (10:07:34.044):: Memory Available = 27304264 <210440> Line 306 (10:07:34.529):: DynamicDeviceDetector 0.0.1 has been started Line 307 (10:07:34.529):: Memory Available = 27219576 <84688> Line 308 (10:07:35.244):: Memory Available = 27199256 <20320> Line 309 (10:07:36.176):: Memory Available = 27142840 <56416> Line 310 (10:07:36.227):: Memory Available = 27124696 <18144> Line 311 (10:07:37.244):: Memory Available = 26929744 <194952> Line 312 (10:07:38.175):: 09:05:56.233 EVENT Started ServletHttpContext[/] Line 313 (10:07:38.176):: Memory Available = 26883504 <46240> Line 314 (10:07:38.365):: 09:05:56.949 EVENT Started ServletHttpContext[/] Line 315 (10:07:38.366):: Memory Available = 26796424 <87080> Line 316 (10:07:38.887):: 09:05:57.466 EVENT Started ServletHttpContext[/] Line 317 (10:07:38.893):: RootServlet 0.0.1 has been started Line 318 (10:07:39.076):: Memory Available = 26784896 <11528> Line 319 (10:07:39.179):: Memory Available = 26705776 <79120> Line 320 (10:07:39.205):: Memory Available = 26648048 <57728> Line 321 (10:07:39.404):: 09:05:57.983 EVENT Started ServletHttpContext[/] Line 322 (10:07:39.410):: DeviceServlet 0.0.1 has been started Line 323 (10:07:39.815):: Memory Available = 26430256 <217792> Line 324 (10:07:39.987):: 09:05:58.566 EVENT Started ServletHttpContext[/] Line 325 (10:07:39.994):: ConfigServlet 0.0.1 has been started Line 326 (10:07:40.566):: Memory Available = 26350200 <80056> Line 327 (10:07:40.654):: 09:05:59.233 EVENT Started ServletHttpContext[/] Line 328 (10:07:40.661):: SecurityServlet 0.0.1 has been started Line 329 (10:07:41.154):: 09:05:59.733 EVENT Started ServletHttpContext[/] Line 330 (10:07:41.161):: DynamicServlet 0.0.1 has been started Line 331 (10:07:41.221):: 09:05:59.799 EVENT Starting Jetty/4.2.x Line 332 (10:07:41.449):: 09:06:00.033 EVENT Started SocketListener on 0.0.0.0:80 Line 333 (10:07:41.449):: Memory Available = 26147296 <202904> Line 334 (10:07:42.243):: Memory Available = 25888840 <258456> Line 335 (10:07:42.249):: 09:06:00.833 EVENT Started SocketListener on 0.0.0.0:443 Line 336 (10:07:42.254):: 09:06:00.833 EVENT Started org.mortbay.jetty.Server@10638f Line 337 (10:07:43.377):: CIpInterpreter::Run - Execute Startup Code Line 338 (10:07:43.378):: CIpInterpreter::Run - Unlocking Interpreter Mutex (Device Hold off is on)
-
The bulk of that is simply memory allocation messages, which is to be expected. I think your modules are just start-intensive, and nothing to be worried about.
-
Is this an NI-x000 or something?
That is pretty slow for having no Duet... it shouldn't take that long until define_start.
Try not loading your modules and test startup and see if you can determine which one it is. There shouldn't be code executing yet so that's more of a cargo cult style approach than an intelligent guess. -
I don't think its the Duet module that's the issue per se, but that if you use any Duet modules then the Java runtime has to be loaded and started and this is likely what you are seeing slowing down a startup.
Java is loaded anyway for the web interface even if no Duet modules are present. -
Adding Duet modules is like taking a 20 year old dog on a walk.
One Duet module will slow the compile/boot time.
Categories
- All Categories
- 2.5K AMX General Discussion
- 922 AMX Technical Discussion
- 514 AMX Hardware
- 502 AMX Control Products
- 3 AMX Video Distribution Products
- 9 AMX Networked AV (SVSI) Products
- AMX Workspace & Collaboration Products
- 3.4K AMX Software
- 151 AMX Resource Management Suite Software
- 386 AMX Design Tools
- 2.4K NetLinx Studio
- 135 Duet/Cafe Duet
- 248 NetLinx Modules & Duet Modules
- 57 AMX RPM Forum
- 228 MODPEDIA - The Public Repository of Modules for Everyone
- 943 AMX Specialty Forums
- 2.6K AMXForums Archive
- 2.6K AMXForums Archive Threads
- 1.5K AMX Hardware
- 432 AMX Applications and Solutions
- 249 Residential Forum
- 182 Tips and Tricks
- 146 AMX Website/Forums
