Execution Speed of Aurora JRE

We are experiencing some problems with the execution speed of the aurora JRE. The documentation states that the Aurora JRE is compiled to native code and should run 2 - 10 times faster than a normal JRE. We are atempting to do some memory sorts using the Array class which is taking 10 times longer in the Oracle instance than on a client.
Is this a known performance bottleneck, are there any "tweaks" available?
Thanks
Julian

Hello Ravi,
Does your statement about core java classes being natively compiled also apply to the JVM in OAS / iAS?
I remember reading in a white paper that, in iAS, java code would be translated into C code for native execution. Does this apply to user code or only core java classes ?
(by the way, It seems impossible to download OAS 4.0.8.2 from OTN, maybe it would help if it was divided into several smaller files...)
Thanks, Remi DEH
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Oracle Support Analyst (Ravi):
In the current JServer release, Java code you load to the server is
interpreted. The underlying core classes upon which your code relies (java.lang.*) are natively compiled. Until the native compiler is available for user programs,
the net speed benefit of native compilation to your executing program is dependent upon how much native code is traversed, as opposed to interpreted code. The
more Java code from core classes and Oracle-provided class libraries you use, the more benefit you will see from native compilation.
In 8.1.7 i.e 8i Release 3 we support natively compiled code for the user programs.
<HR></BLOCKQUOTE>
null

Similar Messages

  • How do I associate timing with multiple AI loops that is independan​t of loop execution speed

    I am using Labview 7.1 and I am performing AI of
    voltage on different channels of the same multifunction DAQ.  I am
    using while loops to aquire the data.  I am writing the data to
    spreadsheet file with an associated time as a 2D array.  Currently I am
    using the 'elapsed time' interactive subVI to get the time in seconds
    (attempting to use the 'Get Date/Time in seconds' and converting it to
    DBL results in time values that do not change. My thoughts are that
    maybe the number of seconds is too large to display single second
    precision with a DBL floating point number). When I run AI on two
    multiple loops they execute at different rates and thus the time values
    from "elapsed time" are accumulated at different rates. I have tried
    using timed loops to control timing, but if one loop executes at a rate
    slower than the timing of the loop the 'elapsed time' still accumulates
    at different rates.  I need to be able to associate both analog inputs
    to the same time
    value in the spreadsheet value and I would like to find a way to
    associate a time with each data point that is independant of loop
    execution speed (although I would still like to control execution speed
    of the loops. I am pretty new to Labview and programming in general,
    any help would be greatly appreciated.

    If you want to read more than one AI at the same time, you should use a trigger.  You would need to set up the AI Trigger to an external source.  Then you would have to use a function generator or digital out to create a clock.  The clock would be wired to the AI external trigger.  When the clock goes high (or low depending on configuration), both AIs would read.  That is the method I use when needing to sync multiple AI inputs.
    - tbob
    Inventor of the WORM Global

  • Why is the difference in execution speed of the function "SetCtrlVa​l" between constant and changing values so small ?

    In my large application (1 MB exe-file) I am continuously updating a lot of numeric controls with new values. Most of them do not really change their value. Within my search of improving the performance of my application I noticed, that there is only a small difference of the execution speed between a call of "SetCtrlValue" with constant values and calls with changing values. It runs much faster (25 times on my PC), if I get the actual control value with "GetCtrlVal", compare it with my new value an do a call to "SetCtrlVal" only if the current value and the new value are different.
    My questions to CVI-developers is:
    Isn't it possib
    le to do this compare within the function "SetCtrlVal"
    My question to all CVI-users is:
    Does anyone have similar tips to improve the performance of CVI applications ?
    I developed a small test application for this problem, which I can mail to interested users.

    What takes the extra time is the redraw of the control. When you call SetCtrlVal we ALWAYS redraw the control. We wouldn't want to build in functionality to check if the value was the same because that would add additional time to the SetCtrlVal in every case. If you want to do it outside of the loop you can as you have done above. You have a few options. First, keep a previous value variable for the controls that you can use to determine whether to set the control value. I.E.
    int oldVal = 0;
    int newVal = 0;
    if(newVal!=oldVal) {
    SetCtrlVal(..., newVal);
    oldVal = newVal;
    Also, if you set the value of a control through SetCtrlAttribute instead, there is no built in redraw of the control (which is what takes all the time). Using SetCtrlAttribute
    to set the value is very fast, but remember there isn't a built in redraw on the screen to display the new number.
    Best Regards,
    Chris Matthews
    Measurement Studio Support Manager

  • Execution speed improvements of FGV over locals

    This my first post.  I am new to LabVIEW and am currently writing my first significant application.  I am actually modifying an existing application, but am adding additional functionality.
    I have read this VI Execution Speed article but still have questions http://zone.ni.com/reference/en-XX/help/371361H-01/lvconcepts/vi_execution_speed/
    As an example, I am populating an xy plot with several sets of data, such as saved data points and a curve fit.  I am currently using a case structure to decide when to write various elements.  As an example, I only write the curve fit one time and it remains static as other pieces of data are added to the graph. In an attempt to make things faster I did not want to redo and redraw the fit each time.  I am using locals within the case to populate the graph.  In the default case nothing if written to these locals (and I assume the graph is not redrawn)?
    I now realize that instead using a case in which nothing is written, I could use a feedback node (to write the previous case). The in addition, in place of using a local, I could use a Functional Global Variable.
    Would it be better to have several cases which write locals to populate the plot and one case which writes nothing  OR Have the several cases write to a FGV and then a default case which writes the last data to the FGV via a feedback node?
    The first seems like less load as nothing is written in the default case, but the other cases do write to a local which has a front panel object that I don't need or want.
    Iis there any benefit to hiding unused front panel objects?
    Is there a way to create a local without front panel object?
    Finally, with a tabbed UI, are objects on the non active tabs being redrawn and slowing the process?

    Good questions!
    Starting from the bottom:
    Iis there any benefit to hiding unused front panel objects?
    Is there a way to create a local without front panel object?
    No and No. Local variables are generally a poor way to store and move data. For the reasons you cited (FP object you do not want or need, hidden FP objects) and that they force a copy of the data and may cause a thread switch to the UI thread.
    Finally, with a tabbed UI, are objects on the non active tabs being redrawn and slowing the process?
    It depends. Newer versions of LV are generally smart enough that non-visible indicators are not redrawn. This may not have been true in older versions, although I do not know when the changes were made.
    You certainly do not need to redo the fit if the data has not changed. I think the entire graph gets redrawn when any new data is written.
    Search for Ben's extremely informative Nugget on Action Engines (AE). An Action Engine is a FGV with added capabilities. It may be a very good option for what you are trying to do. It could store all the data sets, update the graphs, and make the data available where it may be needed without extra copies. With the AE you could easily acquire and store data at one rate and update the graphs at a (slower) rate appropriate to the users eyes and brains. Updating graphs more than ~10 times per second is a waste of resources because the user cannot respond any faster than that. Also you could write a subset or reduced data set to the graph if the amount of data is larger than the number of pixels in the plot.
    Lynn

  • Execution Speed help

    Hi there!
    I hope someone can help me about my (probably noobish) question:
    I have 2 Oracle environments, both not maintained by me and if I execute the following querry:
    select * from DATA_TBL where rownum < 11;
    It takes about 8 seconds on the one and less than 1 second on the other environment.
    As there is everything selected via '*' and the where clause does not include data colums it can't be about indexes or analysed information or?
    On both environments I also get the same explain_plan (only thing I have the rights to do):
    PLAN_TABLE_OUTPUT
    | Id | Operation | Name | Rows | Bytes | Cost |
    | 0 | SELECT STATEMENT | | | | |
    |* 1 | COUNT STOPKEY | | | | |
    | 2 | TABLE ACCESS FULL | DATA_TBL | | | |
    Predicate Information (identified by operation id):
    1 - filter(ROWNUM<11)
    Note: rule based optimization
    15 rows selected.
    I would be happy if someone could tell me about possible reasons for the difference in execution speed, or what to tell the DBA's..
    Thanks in advance!
    Jan

    >
    select * from DATA_TBL where rownum < 11;
    It takes about 8 seconds on the one and less than 1 second on the other environment.
    >
    SQL>  create table t1 as select 'AAAAAAAAAAAAA' as word from dual connect by level<=1e7;
    Table created.
    SQL> create table t2 as select 'AAAAAAAAAAAAA' as word from dual connect by level<=1e7;
    Table created.
    SQL> delete from t1 where rownum<5000000;
    SQL> commit;
    Commit complete.
    SQL> set timing on
    SQL> select * from t1 where rownum<10;
    WORD
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    9 rows selected.
    Elapsed: 00:00:02.44
    SQL> select * from t2 where rownum<10;
    WORD
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    AAAAAAAAAAAAA
    9 rows selected.
    Elapsed: 00:00:00.48Kind regards
    Uwe
    http://uhesse.wordpress.com

  • Execution speed onboard programs

    Hi all
    I am tying store the value of analog input channels of PCI-7352 on buffer, from onboard program.
    The program run fine, but I don´t know how measure the total acquisition time in the program.
    In an example in LabView ( adc-gpbuffer.vi ), use 'flex_load_delay' function to establish an interval in
    the acquisition. But the real interval between readings not is calculated.
    Another question, How I can know the execution speed of onboard program ?.  The documentation does not
    show information.
             Thank´s
             Javier
    Attachments:
    adc-gpbuffer.vi ‏165 KB

    Javier,
    there is no easy way to measure the execution timing of onboard programs. One thing that you could do is to toggle a digital line in your onboard program and measure the timing with an oscilloscope.
    Please be aware that the timing of onboard programs doesn't work deterministicallly as onboard programs don't run with time critical priority on the board's CPU so you will probably see a fair amount of jitter.
    The main purpose of the analog inputs on the 7352 is analog feedback. You can use them for single point measurements, too but if you need to acquire data with an accurate timing you better should use an additional M-Series board like the PCI-6220 which provide a much better measurement and timing accuracy and as true measurement devices they provide a whole set of additional useful features.
    Best regards,
    Jochen Klier
    National Instruments Germany

  • Execution Speed of my page

    Hi everybody,
    I converted an existing report into an FM and used that FM in my BSP page to display the output in browser.
    But the execution speed of BSP page is almost half as compared to the execution of report. I am not sure why this has happened.
    Is the layout reponssible for this low speed?
    But its excatly the same layout that report displayed.
    Please tell me where should i do the changes to increase execution speed .
    Thanks

    I suggest you to execute SE30 transaction (performance measurements) and including your BSP. You can do this also from SICF, I think that in the menu you hace a Runtime Analysis option or similar (sorry I by now I cannot acces to my SAP BW). Then, check the report, and discover where the most of the time is spent.
    I had a similar problem. I had a BSP which execute many times a FM for generate a data table. I put AJAX to my BSP to improve performance and concurrency.

  • EXECUTION SPEED OF FINISHED PROGRAM

    Thanks Guys, You comments are really encouraging.
    I agree Java is great!
    My question really is put better this way:
    The Execution speed of finished Java programs is slow and often does require much memory? Why is this and what are the solutions?
    Thanks again

    The Execution speed of finished Java programs is slow and often does require much memory? Why is
    this and what are the solutions?Well, the solution is simple then: leave those Java programs unfinished; classic composers did the
    same and they got famous for it ... Seriously though, your question is too vague; what is 'slow' and
    what is 'much memory'? Before the application was 'finished' did you do any (unit) tests? It can't be
    as if suddenly you go "my golly, it's slow and big now it's finished; lets complain". Care to elaborate?
    kind regards,
    Jos (fast, small and so soft for your hands ;-)

  • VI execution speed depending on mouse movement

    Hi,
    I have a large application that sometimes became very very slow. When It happens the only thing that I was able to notice is that moving mouse, execution speed of vi come back normal. I checked all the opened reference but I didn't find any not closed reference.
    Any tip will be helpfull..
    Golzio

    can you give us any other information or post an example of the program. Does it use an event structure, data acquisition, are you performing file i/o? If you can give us an example it would be most helpful. Thanks
    BJD1613
    Lead Test Tools Development Engineer
    Philips Respironics
    Certified LV Architect / Instructor

  • VI execution speed in subpanel is slow

    Hello,
    I have the following problem with subpanels. I have a VI that should run inside of a subpanel. This VI contains an Image Display component (Vision). This Image Display is updated with a new image inside a while loop every 40 milliseconds. This is the one and only action inside of this loop. When I run this VI in a subpanel, the execution slows down to 200 ms for the Image Display update action (for the while loop). I measured the this with a Timervalue (ms) component. If my application runs the VI outside of the subpanel in an own window then the timig of 40 milliseconds works perfect. The only difference between the two situation is that the VI runs in or outside of a subpanel.
    This is a great problem for me because my camera captures images with a framerate of 7,5 fps. So an Image Display update time of 200 ms is not acceptable for my application. Is this a known issue. Is there a workaround or some settings that I should tweak to improve execution speed of VIs in a subpanel. Or should i simply not use subpanels if execution speed matters - then it would be good to write this into the subpanel documentation. I carefully read the documentation an searched the dicussion forum but I could not find an answer.
    Thank you very much for any help.

    Hey Incredible,
    could you tell me your labview version and please post your labview code.
    Kind regards,
    Elmar

  • Execution speed and Print Statements

    I use so many "System.out.println" statements in my java program.
    Will it reduce the execution speed of the application?

    Everything that does something will make the application slower.
    You should instead ask yourself if you need the print statements, and if the application is fast enough. You can also execute your application in a profiler to find bottle necks.
    Kaj

  • How to increase execution speed ??

    Hi,
    i want to know (if it is possible...) how to increase the speed execution of an application ??
    Thanks in advance
    Steve

    Depends on what kind of application it is, where you want the speed increase, and whether you can pay for it with additional memory usage.
    On general optimisations, there are two schools of thought.
    The academic side says, write your application without doing any optimisations, and then optimise the bits that ou can show to be bottle necks. While this produces elegant code, the result can be very hard to optimise when you need to.
    So I say; design with optimisation in the back of your mind. For example, if you need to access objects with great speed, then avoid interfaces if you can, because they will slow your code considerably, even if they do make it reuseable. Avoid massive creation of objects - for example string concatenation using + is very slow - use a stringbuffer instead if you have many to do.
    For smaller increases in speed in algorithms and such, consider creating a local reference in a method to a class object, and using short in place of int in loops. Unroll as many loops as you can. Avoid making repeated reads to the same value in an array - hold it in a temporary variable instead.
    For every optimisation you make, your program will get increasingly hard to read and maintain.
    Do you have some more detail on what it is you want to speed up?

  • Highlight execution speed up

    Hi Visual Programming Champions!
    Im working on a School project, I'm doing an Espresso vending machine.  
    Anyways.... I'm just wondering if there is a way to speed up the highlight execution run?
    I just need it to be a bit faster.....
    Thanks for your answer.  If I get a
    satisfying answer, i'll send you a drawing of a seven legged spider.
    Alex Tressapos
    Solved!
    Go to Solution.

    Thanks
    That was really helpful, now I only need 1000 dlls to buy
    the State chart module. I'm currently using the Student Version and it is not
    included. (sad)By the way, the spider that jcarmody attached, is not the
    original. Mine has missing a different leg. Thanks for your fast answer. This
    will help me finish my school project in time (today).
    Alex Tressapos
    Labview proven noob

  • How to measure mapping execution speed

    Hi,
    currently i'm trying to measure performance differences between Interface Mappings which contain one single Message Mapping and Interface Mappings which contain 2 or 3 Message Mappings.
    I already tried to do this with RWB and Performance-Monitoring. But Performance Monitoring shows the processing time through the whole XI, and not only Mapping execution time. So it is difficult to get a clean measuring there, without influences from queueing and so on.
    Test Tab on Integration Builder has a too big step (one second). Mapping execution time is slower.
    Do you have any ideas to measure this?
    Or do you have experience with performance differences between those two kinds of Interface Mappings?
    regards,
    ms
    P.S. i'm using XI 3.0

    Hi, Manuel:
    For the two scenarios you want to compare performance, trigger them separately.
    You take following steps to take measurement for those two scenarios:
    Go to SXMB_MONI, find the message, go to pipeline step after your "Request Message Mapping"
    e.g. you can select "Technical Routing" step, expand it, -> SOAP Header -> Performance Header:
    You will see the start time stamp for each steps executed up to current step.
    Locate your mapping programs, get the begin time stamp and end time stamp, then you will know the how long the mapping program take.
    For the scenario that you have several mapping programs, make sure you get begin timestamp for the first mapping program and end timestamp for last mapping program, the difference is the time for you few mapping program take.
    Hope this helps.
    Liang
    Edited by: Liang Ji on Mar 29, 2008 5:42 AM

  • File read write affect my execution speed..

    Hi friends,
                  I am facing one problem regarding excel tab file.thats i have one instrument its generates the 100 data in one minute which data is needed to log in Excel tab file. 
    In this case i need to display the serial no of each data,so the i am reading the file each time and increament it and store as next serila no.its not given the problem when file size is less.but afterward when file size is increased ,its take much time to read the file.so my execution time is mostly impacted or spoiled..i developed as a queue based produce costumer architecture even i get it ,
    and onething i dont have obtion to use any other file type except excel tab type.
    pls if u have the solution Telll me
    Raj

    thanks for reply 
    if i do append in excel .i cannot realize what s.no is  given before...so that pupose only i need to read the data to get the last S.no.
    your answer is correct only if i enable the  append option.its work fastly.....but this situation i cant make append the data..i need to know already stored data  like "S.NO"
    Raj
    Attachments:
    code.png ‏162 KB

Maybe you are looking for