performance of visualforce

Post on 12-Jun-2015

845 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

各Visualforceタグの性能検証を実施してみました。

TRANSCRIPT

Visualforce の性能検証

2012/10/10

自己紹介

質問①

質問②

画面表示速度に差がありそうなタグ

対戦カード

検証前提

検証方法

検証結果(まとめ)

inputField / outputField が必要な点

inputField / outputField の代替案

<a href="../{!Reference__r.Id}" target="_blank"> {!Reference__r.Name}</a>

<apex:outputText value="{0,date,yyyy/MM/dd HH:mm:ss}"> <apex:param value="{!DateTime1__c}" /></apex:outputText>

inputField / outputField の代替案

<apex:outputText value="{0, number, ###,###.##}"> <apex:param value="{!Number1__c}" /> </apex:outputText>

<apex:outputText value="{0, number, currency}"> <apex:param value="{!Currency1__c}" /></apex:outputText>

inputField / outputField の代替案

<apex:outputText value="{0, number, percent}"> <apex:param value="{!Percent1__c}/100" /></apex:outputText>

◇ 参考: apex:outputTexthttp://www.salesforce.com/us/developer/docs/pages/Content/pages_compref_outputText.htm

新たな疑問

検証結果(まとめ②)

速度・変化の関係図

タグ利用のメリット・デメリット

 

参考

参考: Apex クラスpublic class PerformanceController { public List<Performance__c> performance; public void exec() { performance = [SELECT Name, Text1__c, Text2__c, Text3__c, Text4__c, Text5__c, Text6__c, Text7__c, Text8__c, Text9__c, Text10__c FROM Performance__c ORDER BY Name limit 1000]; } public LIST<Performance__c> getPerformance() { return performance; }}

参考: Visualforce ページ (pageBlockTable × inputField)

<apex:page controller="PerformanceController"> <apex:form > <apex:commandButton value=" リスト表示 " action="{!exec}" reRender="block" /> <apex:pageBlock id="block"> <apex:pageBlockTable value="{!performance}" var="item"> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Name.label}</apex:facet> <apex:inputField value="{!item.Name}"/> </apex:column> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Text1__c.label}</apex:facet> <apex:inputField value="{!item.Text1__c}"/> </apex:column>・・・・・

参考: Visualforce ページ (pageBlockTable × inputText)

<apex:page controller="PerformanceController"> <apex:form > <apex:commandButton value=" リスト表示 " action="{!exec}" reRender="block" /> <apex:pageBlock id="block"> <apex:pageBlockTable value="{!performance}" var="item"> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Name.label}</apex:facet> <apex:inputText value="{!item.Name}"/> </apex:column> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Text1__c.label}</apex:facet> <apex:inputText value="{!item.Text1__c}"/> </apex:column>・・・・・

参考: Visualforce ページ (pageBlockTable × column)

<apex:page controller="PerformanceController"> <apex:form > <apex:commandButton value=" リスト表示 " action="{!exec}" reRender="block" /> </apex:form> <apex:pageBlock id="block"> <apex:pageBlockTable value="{!performance}" var="item"> <apex:column value="{!item.Name}"/> <apex:column value="{!item.Text1__c}"/>・・・・・

参考: Visualforce ページ (pageBlockTable × outputField)

<apex:page controller="PerformanceController"> <apex:form > <apex:commandButton value=" リスト表示 " action="{!exec}" reRender="block" /> </apex:form> <apex:pageBlock id="block"> <apex:pageBlockTable value="{!performance}" var="item"> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Name.label}</apex:facet> <apex:outputField value="{!item.Name}"/> </apex:column> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Text1__c.label}</apex:facet> <apex:outputField value="{!item.Text1__c}"/> </apex:column>・・・・・

参考: Visualforce ページ (pageBlockTable × outputText)

<apex:page controller="PerformanceController"> <apex:form > <apex:commandButton value=" リスト表示 " action="{!exec}" reRender="block" /> </apex:form> <apex:pageBlock id="block"> <apex:pageBlockTable value="{!performance}" var="item"> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Name.label}</apex:facet> <apex:outputText value="{!item.Name}"/> </apex:column> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Text1__c.label}</apex:facet> <apex:outputText value="{!item.Text1__c}"/> </apex:column>・・・・・

参考: Visualforce ページ (dataTable × inputField)

<apex:page controller="PerformanceController"> <apex:form > <apex:commandButton value=" リスト表示 " action="{!exec}" reRender="block" /> <apex:pageBlock id="block"> <apex:dataTable value="{!performance}" border="1" var="item"> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Name.label}</apex:facet> <apex:inputField value="{!item.Name}"/> </apex:column> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Text1__c.label}</apex:facet> <apex:inputField value="{!item.Text1__c}"/> </apex:column>・・・・・

参考: Visualforce ページ (dataTable × inputText)

<apex:page controller="PerformanceController"> <apex:form > <apex:commandButton value=" リスト表示 " action="{!exec}" reRender="block" /> <apex:pageBlock id="block"> <apex:dataTable value="{!performance}" border="1" var="item"> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Name.label}</apex:facet> <apex:inputText value="{!item.Name}"/> </apex:column> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Text1__c.label}</apex:facet> <apex:inputText value="{!item.Text1__c}"/> </apex:column>・・・・・

参考: Visualforce ページ (dataTable × column)

<apex:page controller="PerformanceController"> <apex:form > <apex:commandButton value=" リスト表示 " action="{!exec}" reRender="block" /> </apex:form> <apex:pageBlock id="block"> <apex:dataTable value="{!performance}" border="1" var="item"> <apex:column value="{!item.Name}"/> <apex:column value="{!item.Text1__c}"/>・・・・・

参考: Visualforce ページ (dataTable × outputField)

<apex:page controller="PerformanceController"> <apex:form > <apex:commandButton value=" リスト表示 " action="{!exec}" reRender="block" /> </apex:form> <apex:pageBlock id="block"> <apex:dataTable value="{!performance}" border="1" var="item"> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Name.label}</apex:facet> <apex:outputField value="{!item.Name}"/> </apex:column> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Text1__c.label}</apex:facet> <apex:outputField value="{!item.Text1__c}"/> </apex:column>・・・・・

参考: Visualforce ページ (dataTable × outputText)

<apex:page controller="PerformanceController"> <apex:form > <apex:commandButton value=" リスト表示 " action="{!exec}" reRender="block" /> </apex:form> <apex:pageBlock id="block"> <apex:dataTable value="{!performance}" border="1" var="item"> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Name.label}</apex:facet> <apex:outputText value="{!item.Name}"/> </apex:column> <apex:column > <apex:facet name="header">{!$ObjectType.Performance__c.fields.Text1__c.label}</apex:facet> <apex:outputText value="{!item.Text1__c}"/> </apex:column>・・・・・

参考: Visualforce ページ (repeat × inputField)

<apex:page controller="PerformanceController"> <apex:form> <apex:commandButton value=" リスト表示 " action="{!exec}" reRender="block" /> <apex:pageBlock id="block"> <TABLE border="1"> <TR> <TH>{!$ObjectType.Performance__c.fields.Name.label}</TH> <TH>{!$ObjectType.Performance__c.fields.Text1__c.label}</TH> </TR> <apex:repeat value="{!performance}" var="item"> <TR> <TD><apex:inputField value="{!item.Name}"/></TD> <TD><apex:inputField value="{!item.Text1__c}"/></TD>・・・・・

参考: Visualforce ページ (repeat × inputText)

<apex:page controller="PerformanceController"> <apex:form > <apex:commandButton value=" リスト表示 " action="{!exec}" reRender="block" /> <apex:pageBlock id="block"> <TABLE border="1"> <TR> <TH>{!$ObjectType.Performance__c.fields.Name.label}</TH> <TH>{!$ObjectType.Performance__c.fields.Text1__c.label}</TH> </TR> <apex:repeat value="{!performance}" var="item"> <TR> <TD><apex:inputText value="{!item.Name}"/></TD> <TD><apex:inputText value="{!item.Text1__c}"/></TD>・・・・・

参考: Visualforce ページ (repeat × outputField)

<apex:page controller="PerformanceController"> <apex:form > <apex:commandButton value=" リスト表示 " action="{!exec}" reRender="block" /> </apex:form> <apex:pageBlock id="block"> <TABLE border="1"> <TR> <TH>{!$ObjectType.Performance__c.fields.Name.label}</TH> <TH>{!$ObjectType.Performance__c.fields.Text1__c.label}</TH> </TR> <apex:repeat value="{!performance}" var="item"> <TR> <TD><apex:outputField value="{!item.Name}"/></TD> <TD><apex:outputField value="{!item.Text1__c}"/></TD>・・・・・

参考: Visualforce ページ (repeat × outputText)

<apex:page controller="PerformanceController"> <apex:form > <apex:commandButton value=" リスト表示 " action="{!exec}" reRender="block" /> </apex:form> <apex:pageBlock id="block"> <TABLE border="1"> <TR> <TH>{!$ObjectType.Performance__c.fields.Name.label}</TH> <TH>{!$ObjectType.Performance__c.fields.Text1__c.label}</TH> </TR> <apex:repeat value="{!performance}" var="item"> <TR> <TD><apex:outputText value="{!item.Name}"/></TD> <TD><apex:outputText value="{!item.Text1__c}"/></TD>・・・・・

top related