[Glass] List and Fast list instances
Norm Green
norm.green at gemtalksystems.com
Fri Dec 10 13:17:19 PST 2021
Hi Bruno,
The object table is first scanned to generate the list of data pages.
Then those data pages are scanned in order as Martin says. Each data
page is only processed once. Dead objects (found by a previous MFC) are
excluded from the results, however disconnected objects (not yet been
collected by an MFC) may appear in the result set.
Both of these phases are multi-threaded. More threads == more aggressive
where the scans will use more disk IO and CPU to complete in less time.
"Fast" list instances uses many threads to complete the scans as quickly
as possible.
Norm Green
On 12/10/2021 12:47 PM, Martin McClure via Glass wrote:
> On 12/10/21 11:50, bruno buzzi brassesco wrote:
>> Martin,
>>
>> Thank very much for the answer.
> You're welcome!
>>
>> So fastListInstances and a like iterate over the Object Table in
>> order to build the result set ?
>
> Now we're getting into some of the areas where I don't recall all of
> the details. :-)
>
> IIRC the repository scan is done in page order to get good I/O
> performance, rather than in object table order.
> But yes, the object table is used, and the dead not reclaimed set, and
> other data structures, so that just "an object was found on a page" is
> not enough for it to be included in the result set. It must be in the
> OT (and therefore not shadowed) and not dead. And there are a number
> of optimizations whose details I don't know.
>
> Regards,
> -Martin
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> https://lists.gemtalksystems.com/mailman/listinfo/glass
More information about the Glass
mailing list