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.

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

  • How can I stop the execution on a JSP page and start it again

    Hi
    I am making a program that simulates how to manage transactions when accessing a database by using locks. I have run into a problem and I hope someone has the time to help me.
    When a user does an update the transaction commits and releases its locks when the program executes
    <%stmt.executeUpdate("commit!"); %>
    I need to put a break in to stop the program executing this statement, to illustrate the lock is set correctly.
    I have tried to put in an alert box but this does not prevent the rest of the java code being executed.
    I have tried to use prompt boxes, JavaScript functions, but these functions cannot have any java code in them.
    I have tried using the java.swing JOptionPane boxes but this didn?t work either
    I have tried to get input from the user but I don?t know how to retrieve this data on the same page. (As far as I know you have to use submit and even refresh the page or retrieve it on the next page).
    Does anyone know how I can stop the execution on a JSP page and start it again (on same page)
    Mette

    I already have another client (Tomcat jsp application) running and it throws a SQLException correctly when I don�t put in a commit=true statement and don't close the database connection.
    But the problem is how to get the code above to stop to illustrate I have set this lock.
    I have tried to use the JOptionPane but because my program is running in a web browser I cannot use the JOptionPane dialog box.
    I have tired using an alert box but it executes the commit statement before the alert box is dispayed. So this does not work
    While (i < 2)
    if( i==1)
    %>alert(�The transactions commits when you press Ok�); <% //what it to stop execution here
    else
    stmt.executeUpdate(�commit�);
    I am not using threads so I cannot use the sleep function.
    I am using mysql and have already configured it to detect deadlocks and how long to wait for locks.
    Thanks for your help
    Mette

  • 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 of Dybamic Xsql pages

    Hello all,
    I am interested to know whether execution of dynamic xsql pages is possible? What I mean is, whether it is mandatory to have the physical xsql page on the disk? Can we dynamically form a xsql page and submit it (Without specifying URL) to the XsqlServlet to process,without storing it anywhere?
    null

    XSQL 1.0.3 release supports this feature.
    Due out on OTN before Christmas.

  • 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

  • JSP Page stops execution before the whole page is loaded

    Software
    Tomcat 5.5.2
    JDK 1.5
    Problem
    I have a JSP Page
    The problem is that it never gets finished off completely
    I mean the page is always half loaded I mean it stops execution of the JSP Page in between and it shows no exception in the console Window
    The page is not completely loaded
    I don't know what is the reason and so can't understand the reason behind that
    Thanks in advance
    CSJakharia

    Though Still I am confused why is this Page Buffer creating a sort of Exception.
    I mean it is just a limit that if page reaches to that limit it should send the data
    to client but what is the problem to Server that it stops sending the dataAn error is happening on your page.
    Basically whether or not you get an error screen depends upon when the error is generated. If the error happens before the buffer fills up, then it can cancel the output, and show the error page.
    If the buffer has already been filled up/flushed it can't cancel the output at this point. So it just stops sending.
    That explains why
    1 - page output cuts off halfway through
    2 - if you make a bigger buffer, it can display the exception page - because the error happens before the bigger buffer fills up.
    Regardless of whether the buffer was flushed or not, an error message would always be written to the Tomcat logs - check those for any problems.
    Cheers,
    evnafets

  • 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 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

  • Need help speeding up this page

    One of our coders just inherited a CF page that generates a list of trail clearing equipment.  The page basically builds a table with a row for each piece of equipment.  There are columns for name, description, and a thumbnail photo of the piece in question.  All the info is in a database on our server except the thumbnail photo. We're not allowed to host the photos on our server (some sort of legal reasons) so our database contains a link to each thumbnail, and those thumbnails all live on the equipment manufacturers' websites.
    This is where the slowness happens.  The following code is what was used to call the thumbnail up:
    <cfoutput>
    <cfhttp method="get" url="#url_to_image#" timeout="1"></cfhttp>
    <cfif cfhttp.statuscode DOES NOT CONTAIN "OK">
    (Then show an "image not found" thumbnail)
    <cfelse>
    (Then show the actual thumbnail)
    </cfif>
    </cfoutput>
    The problem is that we have a few pages that have 30+ rows in the table, so even with a 1 second timeout, that page takes 30+ seconds to load because this <cfhttp> tag is executes for every single row.
    Is there a better (or more current) way to do this?  I believe the original app was built back when CF5 or 6 was in use, so maybe there are some new tools for this.  Any suggestions would be appreciated.

    An idea that just popped into my head -- is to remove that <chttp...> logic to it's own cfml file and let the browser make seperate requests for it.
    You could create a file like this.
    equipmentImage.cfm
    <cfoutput>
    <cfhttp method="get" url="#url_to_image#" timeout="1"></cfhttp>
    <cfif cfhttp.statuscode DOES NOT CONTAIN "OK">
    (Then deliver "image not found" thumbnail)
    <cfelse>
    (Then deliver the actual thumbnail)
    </cfif>
    </cfoutput>
    And then in your main equipment table file you would replace all those <cfhttp....> blocks with a simple <img...> tag.
    <img src="equipmentImage.cfm"....>
    Then you would just have to modify the above <cfhttp...> block to deliver actual image binaries, not the normal html <img...> text that it probably does now.  I don't have that piece of code on the top of my head, but I have seen plenty of examples posted all over the internets.  With CF8 or CF9 you could use the <cfimage...> tag.  With older versions, it takes a bit more work, but it is still possible.
    This would not really speed up the page, but it would seem like it to most users, because the browser could render the main table and then fill in all the 30 pictures over the next several seconds.  Just make sure your <img...> tags all have height and width parameters so that the browser does not have to wait for all the images to be requested to display the page.

  • 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

Maybe you are looking for

  • Maximum file size for importing into Premiere Pro CS6

    Hi, I'm considering recording raw video, no compression at 720p, 30 fps for 20-30 min.  This woudl result in a file that is close to 80 Gbytes.  I'm wondering what the maximum file size for importing into premiere Pro is and if I need to split this f

  • My contatcs are duplicated on my iphone. How do I get icloud to resend from the the cloud

    My contatcs are duplicated on my iphone when I merged iphone contacts and icloud contacts.  How do I get icloud to resend from the cloud?

  • Creating different instances of one class

    Hi everyone thanks so much for all the help so far! I want to create a new instance of class coauthorship everytime the loop goes around to a new record! However thats not whats happening it only creates 1 instance of coauthorship and it is overwritt

  • INTEGRATION_DIRECTORY_HMI - HTTP-Code 403

    Hi, currently i'm executing the post-installation of XI. At topic "Creating RFC Destinations in the ABAP Environment" especially creating the RFC-Destination "INTEGRATION_DIRECTORY_HMI" (SM59) I have a problem. After adjusting and saving all necessar

  • Change cost assignment (cost center) in confirmation with badi?

    Dear experts, for a certain request, we want to implement logic that will clear out the cost center when creating or saving the confirmation. We have tried the DOC_CHANGE BADI but this does not seem to do the trick. following code: LOOP AT acct_data