Thanks for your reply. I never get 1000 items in collection and show them to the user at any point of time. Thanks for your valuable advice. Just for example, I mentioned it in my above post. BuildTimeVsRenderTime
I was going through the above link and find the following code and its explanation ->
Explanation:- In this case both the input and the output components are created.
The rendered is evaluated by the renderer during the rendering phase while the data table is iterating over each of its rows.
So in the above example, If my collections (bean.rows) has 10 items then 10 input and 10 output components will be created or only 2 components will be created.
If it creates 20 components in memory, when it is garbage collected. If I have too many components (checkbox, outputText, commandLink, commandButton - for each item) inside the datatable then it will affect the performance.