Performance Improvement between GDK and EDK portlets

Are there any performance improvements to be expected by migrating a portlet from using the GDK library to EDK library? Not looking at what GDK and EDK offers, more on whether we would improve the load time of a portal page if we change a portlet from GDK to EDK.....

With GDK, my pages inherit from "Plumtree.Remote.Csp.UI.Page" and under the hood, the context is created (SettingsManager) automatically. Apparently, this is not the case anymore with the EDK. Am I correct?
According to the EDK doc, I need to call "PortletContextFactory.CreatePortletContext(Request,Response)" for such purpose. Still correct?
-- Yes, correct. In the EDK, no SettingsManager is used, and the functionality is wrapped into IPortletRequest and IPortletResponse.
The other more important change is that with the GDK, the language of the current thread is automatically set to the language passed by the portal in the "Accept-Language" HTTP header. This is not the case anymore, to my knowledge, and I found out that I need to insert this:
String sLanguage = HttpContext.Current.Request.UserLanguages[0];System.Threading.Thread.CurrentThread.CurrentCulture=new System.Globalization.CultureInfo(sLanguage);
Is this correct or did I miss something?
-- You do not need to use the HttpContext object of .NET. The Plumtree EDK allows you to retrieve the language as follows: The portal language is stored in a User Pref named "strLocale". A remote portlet can read this User Pref.The only point to note is that, as with all User Prefs, you must ensure that the specific prefs are sent to the portlet in the Portlet Web Service registration.
PortletRequest.GetSettingValue(Plumtree.Remote.Portlet.SettingType.User, "strTimeZone")

Similar Messages

  • Functional change between GDK and EDK?

    Hi,
    I've already made tens of portlets using the ASP.Net GDK but I use the newer EDK for the ones I create now. I saw a few functional differences and I'd like to know if I'm mistaken or not.
    With GDK, my pages inherit from "Plumtree.Remote.Csp.UI.Page" and under the hood, the context is created (SettingsManager) automatically. Apparently, this is not the case anymore with the EDK. Am I correct?
    According to the EDK doc, I need to call "PortletContextFactory.CreatePortletContext(Request,Response)" for such purpose. Still correct?
    The other more important change is that with the GDK, the language of the current thread is automatically set to the language passed by the portal in the "Accept-Language" HTTP header. This is not the case anymore, to my knowledge, and I found out that I need to insert this:
    String sLanguage = HttpContext.Current.Request.UserLanguages[0];System.Threading.Thread.CurrentThread.CurrentCulture=new System.Globalization.CultureInfo(sLanguage);
    Is this correct or did I miss something?
    Thanks beforehand - Fred

    With GDK, my pages inherit from "Plumtree.Remote.Csp.UI.Page" and under the hood, the context is created (SettingsManager) automatically. Apparently, this is not the case anymore with the EDK. Am I correct?
    According to the EDK doc, I need to call "PortletContextFactory.CreatePortletContext(Request,Response)" for such purpose. Still correct?
    -- Yes, correct. In the EDK, no SettingsManager is used, and the functionality is wrapped into IPortletRequest and IPortletResponse.
    The other more important change is that with the GDK, the language of the current thread is automatically set to the language passed by the portal in the "Accept-Language" HTTP header. This is not the case anymore, to my knowledge, and I found out that I need to insert this:
    String sLanguage = HttpContext.Current.Request.UserLanguages[0];System.Threading.Thread.CurrentThread.CurrentCulture=new System.Globalization.CultureInfo(sLanguage);
    Is this correct or did I miss something?
    -- You do not need to use the HttpContext object of .NET. The Plumtree EDK allows you to retrieve the language as follows: The portal language is stored in a User Pref named "strLocale". A remote portlet can read this User Pref.The only point to note is that, as with all User Prefs, you must ensure that the specific prefs are sent to the portlet in the Portlet Web Service registration.
    PortletRequest.GetSettingValue(Plumtree.Remote.Portlet.SettingType.User, "strTimeZone")

  • Graph axes assignment: performance difference between ATTR_ACTIVE_XAXIS and ATTR_PLOT_XAXIS

    Hi,
    I am using a xy graph with both x axes and both y axes. There are two possibilities when adding a new plot:
    1) PlotXY and SetPlotAttribute ( , , , ATTR_PLOT_XAXIS, );
    2) SetCtrlAttribute ( , , ATTR_ACTIVE_XAXIS, ) and PlotXY
    I tend to prefer the second method because I would assume it to be slightly faster, but what do the experts say?
    Thanks!  
    Solved!
    Go to Solution.

    Hi Wolfgang,
    thank you for your interesting question.
    First of all I want to say, that generally spoken, using the command "SetCtrlAttribute"is the best way to handle with your elements. I would suggest using this command when ever it is possible.
    Now, to your question regarding the performance difference between "SetCtrlAttribute" and "SetPlotAttribute".
    I think the performance difference occures, because in the background of the "SetPlotAttribute" command, another function called "ProcessDrawEvents" is executed. This event refreshes your plot again and again in the function whereas in the "SetCtrlAttribute" the refreshing is done once after the function has been finished. This might be a possible reason.
    For example you have a progress bar which shows you the progress of installing a driver:
    "SetPlotAttribute" would show you the progress bar moving step by step until installing the driver is done.
    "SetCtrlAttribute" would just show you an empty bar at the start and a full progress bar when the installing process is done.
    I think it is like that but I can't tell you 100%, therefore I would need to ask our developers.
    If you want, i can forward the question to them, this might need some times. Also, then I would need to know which version of CVI you are using.
    Please let me now if you want me to forward your question.
    Have a nice day,
    Abduelkerim
    Sales
    NI Germany

  • Performance difference between InfoCube and ODS

    Hello guys,
    I have to implement a data contrainer with round about 40 millions entries and more than 50 characteristics/items.
    The question is fairly easy - what kind of data contrainer (ÍnfoCube or ODS-Object) is more powerful on reporting aspects, adopted i set up secondary indexes for specific characteristics on the ODS-Objekt or use line item dimensions for same characteristics at an InfoCube.
    Thx 4 advise
    Markus

    Hi Markus,
    from the point of view of reporting Cubes offer powerfull tools for improving performances.
    One of the most important is the logical partitioning: if you have different years in your data you can split cubes for year and then aggregate all with a MultiProvider.
    The system during query run will split the single query into several queries reading in parallel the single cubes under the Multiprovider.
    Check in Business Intelligence area of SDN, you will find a document for performance improvement.
    Ciao.
    Riccardo.

  • Performance difference between page and scroll

    Hi experts:
    What is the technical difference between paging and scrolling, especially as pertains to database access and performance?  The scenario would be a table result in a view where 200 results exist for a query.  A scrollable table would show all results, while the paging table would show 10/20 per page.  Is the database selection the same for both approaches?  Or is the paging approach going to make more trips?  If there are trips - how does the UI know how many pages should be presented?  Is one or the other a better approach for data which is not existing in CRM system?
    regards,
    bill.

    If you look at the servlet translated from a JSP, you'll see these lines:
    Object page = this;
    pageContext = _jspxFactory.getPageContext(this, request, response,
                null, true, 8192, true);
    _jspx_page_context = pageContext;
    application = pageContext.getServletContext();So page is simply an alias for this.
    And PageContext is analogous to ServletContext but please notice, it's not the same or a replacement; application is the implicit reference to ServletContext and not pageContext. There is no equivalent of pageContext in servlets.
    Please note that the page scope doesn't refer to the page object but to the pageContext. Therefore, what Manivel said above
    page is used as a scope with in one jspisn't correct.
    Edited by: nogoodatcoding on Sep 24, 2007 1:30 PM

  • Performance problems between dev and prod

    I run the same query with identical data and indexes, but one system takes a 0.01 seconds to run while the production system takes 1.0 seconds to run. TKprof for dev is:
    Rows Row Source Operation
    1 TABLE ACCESS BY INDEX ROWID VAP_BANDVALUE
    3 NESTED LOOPS
    1 NESTED LOOPS
    41 NESTED LOOPS
    41 NESTED LOOPS
    1 TABLE ACCESS BY INDEX ROWID VAP_PACKAGE
    1 INDEX UNIQUE SCAN SYS_C0032600 (object id 51356)
    41 TABLE ACCESS BY INDEX ROWID VAP_BANDELEMENT
    41 AND-EQUAL
    82 INDEX RANGE SCAN IDX_BE2 (object id 53559)
    41 INDEX RANGE SCAN IDX_BE1 (object id 53558)
    41 TABLE ACCESS BY INDEX ROWID VAP_BAND
    41 INDEX UNIQUE SCAN SYS_C0034599 (object id 53556)
    1 INDEX UNIQUE SCAN SYS_C0032549 (object id 51335)
    1 INDEX RANGE SCAN IDX_BV1 (object id 53557)Tkprof for Prod is :
    Rows Execution Plan
    0 SELECT STATEMENT MODE: ALL_ROWS
    1 TABLE ACCESS MODE: ANALYZED (BY INDEX ROWID) OF 'VAP_BANDVALUE' (TABLE)
    52001 NESTED LOOPS
    26000 NESTED LOOPS
    26000 NESTED LOOPS
    26000 NESTED LOOPS
    1 TABLE ACCESS MODE: ANALYZED (BY INDEX ROWID) OF 'VAP_PACKAGE' (TABLE)
    1 INDEX MODE: ANALYZED (UNIQUE SCAN) OF 'SYS_C0018725' (INDEX (UNIQUE))
    26000 TABLE ACCESS MODE: ANALYZED (BY INDEX ROWID) OF 'VAP_BANDELEMENT' (TABLE)
    26000 INDEX MODE: ANALYZED (RANGE SCAN) OF 'IDX_BE2' (INDEX)
    26000 TABLE ACCESS MODE: ANALYZED (BY INDEX ROWID) OF 'VAP_BAND' (TABLE)
    26000 INDEX MODE: ANALYZED (UNIQUE SCAN) OF 'SYS_C0030648' (INDEX (UNIQUE))
    26000 INDEX MODE: ANALYZED (UNIQUE SCAN) OF 'SYS_C0018674' (INDEX (UNIQUE))
    26000 INDEX MODE: ANALYZED (RANGE SCAN) OF 'IDX_BV1' (INDEX).The row count varies greatly. But it shouldn't as the data is the same.
    Any ideas?

    From DEV you show the Row Source Operations for the query. The column named "Rows" signifies the actual number of rows processed with each step.
    From PROD you show the Execution Plan for the query; that is, tkprof was executed with the EXPLAIN option which generates the execution plan as of the time when tkprof was run. The "Rows" column in the Explain Plan output comes from the PLAN_TABLE.CARDINALITY, which represents an estimate by the CBO for the number of rows [expected to be] processed with each step.
    So, if by <quote>The row count varies greatly</quote> you meant these "Rows" columns outputs then you're are comparing actuals from a database with estimates from another. Get the Row Source Operations from both.
    "Identical data and indexes":
    1. data may be the same, but it is not necessarily stored physically the same way.
    2. Indexes being the same means their definitions are the same; again, physically they are not necessarily identical
    In other words, data in PROD (the way it is stored on disk) may have evolved as a result of discrete deletes/updates/inserts ... in DEV it could be, for example, stored more compact if you took a copy of PROD and moved into DEV. So, the number of blocks for your segments will likely be different between PROD and DEV, the clustering factor for your indexes are likely different, etc ... things which could [and do] influence the CBO. The statistics may be different.
    I guess what I'm saying is ... it is quite hard, if not outright impossible, to get two identical databases/instances/load ... hence, don't expect the executions to be 100% identical, even if you have "identical data and indexes". By all means compare between DEV and PROD (make sure you compare the same thing though) and use the observed differences as an indicator for further investigation ... don't chase the goal of 100% identical behavior.
    Now, by all means look at that query taking 1 second in PROD ... I have only addressed <quote>The row count varies greatly. But it shouldn't as the data is the same.</quote>

  • Is there any performance difference between unique and no unique index

    Hi,
    We are working with both databases Oracle and MS-SQL and we have an open channel to MS-SQL server core team.
    We got the word from them that there is a difference between unique and no unique index from the optimizer perspective, i.e. the optimizer knowing that the index is unique may choose a more suitable plan for running a specific query, we're still trying to find a specific example.
    Anyway, since we do not have an open channel to Oracle core, I thought maybe one of you guys knows something about Oracle optimizer behavior on this issue.
    I am interested verified answers from certified sources and not suggestions or thoughts.
    Thanks in advanced,
    Tal ([email protected]).

    Maybe, you will like to check this link for a similar question answered by Tom Kyte
    http://asktom.oracle.com/pls/ask/f?p=4950:8:385900000490041683::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:7641143144618,

  • Performance difference between 6490M and 6750M?

    I'm looking at a new 15" MBP. What performance difference will I likely see between the Radeon 6490M and 6750M? It's a huge jump in graphics memory, but how much will it help me? I'm not a gamer at all, but I do a fair amount of work with photos and video.
    Thanks!

    Since you don't play games, you'll notice a difference in graphic and video applications that are GPU accelerated, like Motion, and Photoshop CS4 & 5.

  • Performance comparision between java and c++ in games (openGL)

    Hi everyone,
    I was working on java 3D and JOGL as part of my graphics openGL homework. Most of my classmates stuck to GLUT in c,c++ for programming stating that java is slow. I did attend a few seminars on java, java swing etc, they stated that java is faster now. I was wondering if there is a tool of some sort to compare performance, frame rate , time to compile etc. The closest I could find was a java memory leak finding tool used to detect memory leaks in java programs.
    Thanks,
    A

    compilation time is irrelevant in measuring program performance.
    There have been numerous "benchmarks" comparing C++ with other languages (including Java), usually by people who have an agenda and need data to "prove" their position to the world.
    The best you can do is get experts in each language and toolkit to write programs that do the same and are optimised to the same degree, then run those programs side by side on identical hardware for a period of time and see for yourself.
    Remember of course that JVM startup time is longer than startup time for native compiled C++ applications, so you need to run the program for a good period to get reliable figures (hours to be entirely sure).
    Do that for each part of the toolkit you're interested in using separately and make your own decisions based on the results.
    I know this is time consuming and hard to set up, which is precisely why it's probably not been done reliably (people who care to prove that something is faster than something else don't bother to be impartial, those that don't care don't bother to go to the trouble to do something they don't care about).

  • IDOCs performance creation between SAP and SAP Java Adaptor

        Hi,
    We have a legacy systemt that send some IDOCs to SAP ECC through  a SAP JAVA connector.   Problem is that we send the idocs and we detected that we have some performance issues on the IDOC creation.
    We are using the SAP standard code and SM58, SMQ1, SMQ2, traces, etc etc seem to be fine.
    As per customer requirement we have to use process inmediately on the partner profile.  We also set the mass processing option but no difference .
    We have also other functionalities that run on IDOCs and they are running fine without any performance issue on it .
    Could someone help us?
    Thanks a lot, Sapera

    Hello,
    What kind of performance issue u have noticed?
    Check if below idoc_aae tuning note helps u...
    1641541 - IDoc_AAE Adapter performance tuning  
    Thanks
    Amit Srivastava

  • Performance diff between substr() and dbms_lob.substr()?

    I have a ton of existing views that use dbms_lob.substr(MyClobColumn).
    A developer recently noticed he got the same results with substr(MyClobColumn) - 10.1.0.3. Must have been added functionality on a patch/upgrade somewhere.
    Is there a performance gain by dropping the "dbms_lob."?
    Ken

    From the manual.
    The SUBSTR functions return a portion of string, beginning at character position, substring_length characters long. SUBSTR calculates lengths using characters as defined by the input character set. SUBSTRB uses bytes instead of characters. SUBSTRC uses Unicode complete characters. SUBSTR2 uses UCS2 code points. SUBSTR4 uses UCS4 code points.
    If position is 0, then it is treated as 1.
    If position is positive, then Oracle Database counts from the beginning of string to find the first character.
    If position is negative, then Oracle counts backward from the end of string.
    If substring_length is omitted, then Oracle returns all characters to the end of string. If substring_length is less than 1, then Oracle returns null.
    string can be any of the datatypes CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB. Both position and substring_length must be of datatype NUMBER, or any datatype that can be implicitly converted to NUMBER, and must resolve to an integer. The return value is the same datatype as string. Floating-point numbers passed as arguments to SUBSTR are automatically converted to integers.

  • Dual 24" cinema displays - performance difference between 6490M and 6750M?

    Hi,
    I am running 2 x 24" Apple Cinema displays and need to choose between the 2.2ghz i7-2635QM and 2.0ghz i7-2720QM MacBook Pro 15" offerings. They come with the 256mg HD 6490M graphics and the 1gb 6750M graphics.
    I do a bit of Photoshop CS3 (once a month), rarely any video rendering.
    But as I run dual monitors (via a Matrox DualHead2Go DP edition) I am keen to find out if the extra £300 for the higher spec will actually assist my usage.
    Its currently running on a MacBook Pro 6,2 2.4ghz early 2010 model. It runs fine on this.
    Thanks
    Eric

    Can't help with your question, but wondering what video adapter you are using to connect 2x Cine Display to your MacBook Pro as I'd like to do the same.
    KD

  • Performance Difference between DBCO and PI techniques

    Hi all,
    I want to analyse the performance of inserting records in CORP tables using DBCO connection.
    Can any body please explain which technique is better either using DBCO connection or using PI interface technique.
    Thnaks
    Nitesh

    Since you don't play games, you'll notice a difference in graphic and video applications that are GPU accelerated, like Motion, and Photoshop CS4 & 5.

  • Performance difference between tables and materialized views

    hi ,
    I created a materialized view on a query that involves partition table in it.
    When i used the same query and created a table out of it <create table xyz as select * from (the query)> ,the table got created quickly.
    So does that mean performance wise creating table is faster than creating/refreshing the materialized view ?or is that due to the refresh method i use ?Currently i use a complete refresh

    I created a materialized view on a query that involves partition table in it.
    When i used the same query and created a table out of it <create table xyz as select * from (the query)> ,the table got created quickly.
    So does that mean performance wise creating table is faster than creating/refreshing the materialized view ?or is that due to the refresh method i use ?Currently i use a complete refresh Well, for starters, if you created the materialized view first and then the standard table, the data for the second one has already been fetched recently and so will reduce your I/O due to caching, and will therefore be quicker. There are also other factors such as the materialized view creating other internal bits that are required to allow for refreshes to be done quickly, such as the primary key etc which you haven't created on your second creation.
    What you have shown is that two completely different statements running at different times, appear to operate with different speed. It is not a comparison of whether the materialized view is slower or quicker than the create table statement.

  • Performance difference between sqlj and jdbc

    hi:
    i am working with a project and i have to generate text files
    from database . first i am working with pl/sql, but i am not so
    satisfied with the performance. so i turn to java stored procedure. I have two choice sqlj and jdbc when accessing
    database? which performs better? sqlj or jdbc? or there's only
    little difference.
    And would u like to give me some other choice to run faster.
    maybe pro*c/c++ is a choice . but if it can't run much faster ,
    it's not a better choice.
    regards

    Since you don't play games, you'll notice a difference in graphic and video applications that are GPU accelerated, like Motion, and Photoshop CS4 & 5.

Maybe you are looking for

  • Regarding smart forms (really urgent)

    hi, i am new to smartforms and i got report to make changes in the smart forms,plzz help me out as i know nothing about the smart forms by providing me it in easiest & simplest form. if find useful help will be deifnately rewarded. Edited by: ric .s

  • Transaction launcher : Activity clip board integration

    Hi All, Anyone please tell me what is "Activity clip board integration" while creating a Transaction Launcher for a navigational link in web IC scenario using Wizard!. What the check box for "save data in Activity clip board" means?. any hint please

  • CD-ROm registry entry

    Every time I boot up my computer, I get an error message saying that the registry entry that iTunes needs to brun CD-ROMs and DVDs is missing. If I make the recommended change in my registry, my computer doesn't recognize the drive at all and it is u

  • How to calculate slope of XY curve?

    Hi all, I want to calculate the slope of a X-Y curve, for example, amplitude v.s. position. I was trying to use the derivative method but failed. Could anyone help me with this problem? The example vi. is attached. Regards, Nicky. Solved! Go to Solut

  • Mysterious, unauthorized DirecTV Pending Orders that no one can seem to remove from our account

    Such a long story - I'm hoping that posting here will get this solved since 3+ calls to Verizon customer service as well as a call to DirecTV can't seem to fix the problem. Background: A pending order is showing on our account.  Verizon customer serv