Home AMX User Forum NetLinx Studio

Minimizing Load Time

jjamesjjames Posts: 2,908
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:
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

  • jweatherjweather Posts: 320
    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.
  • jjamesjjames Posts: 2,908
    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.
  • truetrue Posts: 307
    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.
  • jjamesjjames Posts: 2,908
    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 B) 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. :D
  • a_riot42a_riot42 Posts: 1,624
    true wrote: »
    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
  • jjamesjjames Posts: 2,908
    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.)
  • viningvining Posts: 4,368
    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.
  • a_riot42a_riot42 Posts: 1,624
    jjames wrote: »
    I did remove the module for kicks, and it's still slow.

    That's curious.
    jjames wrote: »
    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.
    jjames wrote: »
    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
  • DHawthorneDHawthorne Posts: 4,584
    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.
  • Spire_JeffSpire_Jeff Posts: 1,917
    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
  • jjamesjjames Posts: 2,908
    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)
    
  • DHawthorneDHawthorne Posts: 4,584
    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.
  • truetrue Posts: 307
    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.
  • jweatherjweather Posts: 320
    a_riot42 wrote: »
    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.
  • GSLogicGSLogic Posts: 562
    Adding Duet modules is like taking a 20 year old dog on a walk.
    One Duet module will slow the compile/boot time.
Sign In or Register to comment.