On Nov 6, 2007 10:25 AM, Zsombor <[EMAIL PROTECTED]> wrote: > > On 11/6/07, Robert Burrell Donkin <[EMAIL PROTECTED]> wrote: > > > > https://issues.apache.org/jira/browse/JAMES-734 discusses the general > > design of the API > > > > one major issue for IMAP ATM is that when FETCHing a large quantity of > > data, all that data has to be loaded into memory and then the full > > result created in a StringBuffer before the output begins. this uses a > > lot of memory. > > > > there are different ways to approach this issue. IMHO using arrays, > > lists or iterators is as much a matter of style than substance. > > > > one approach would be to use result objects which are lazily > > populated. this would be reasonably easy for Torque. this would also > > mean either adding a close() operation or making the content objects > > read-once allowing the result to recycle the memory. > > > > part of the solution must be to move to a design that allows each line > > to be written once out when it has been composed. the interface > > changes i've made to the new IMAP implementation are directed at this. > > > > opinions? > > > > perferences? > > > > - robert > > > > > > I would prefer methods which returns List<MessageResult> instead of arrays. > Most of the time, the backend will create a list, to aggregate the result, > and after can it create an array to return. To optimize further I think, we > need an extended Iterator with a size() and release() method, but it's just > complicates our life for the start.
sounds good to me. want to submit a patch ;-) anyone object to switching the arrays in the MailboxAPI to lists? - robert --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
