[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Improved handling for large number of databases / Access newly opened database from another transaction
- To: Howard Chu <hyc@symas.com>, "openldap-technical@openldap.org" <openldap-technical@openldap.org>
- Subject: Re: Improved handling for large number of databases / Access newly opened database from another transaction
- From: Jürg Bircher <juerg.bircher@helmedica.com>
- Date: Fri, 27 May 2016 08:14:53 +0000
- Accept-language: de-CH, en-US
- Authentication-results: symas.com; dkim=none (message not signed) header.d=none;symas.com; dmarc=none action=none header.from=helmedica.com;
- Content-id: <AF9497B4C4D2F04184654EA7AC9004A0@eurprd03.prod.outlook.com>
- Content-language: en-US
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=helmedica.onmicrosoft.com; s=selector1-helmedica-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=kgEqUroQMfo/tIyIneyRRPgtRD2XcWWnQGoca5/T2fU=; b=B39izKhvsGgK9OqtxiquIxJ3ci6OP3/7NQXvgdj8Mu+l6us5ZQmbWbGP4wx4It18b6C/lbtANm5nNLyu4oX/SHG9yaJdWW+o3G/m1o6l/xHEvvp1SxgnK9AFlPSNOx3TJQXSOk1rNxo3D6Rn3GMUHBWL4x5SaHt15DKmFZESSDs=
- In-reply-to: <5747DD27.2060402@symas.com>
- References: <CDFD384B-21BD-4EC6-A84A-03000E0F4992@helmedica.com> <5747DD27.2060402@symas.com>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:23
- Thread-index: AQHRt6SWvbipK7rZ90WgWa3w3r8j7p/MRH6AgABNcYA=
- Thread-topic: Improved handling for large number of databases / Access newly opened database from another transaction
Some more test results using mdb_txn_renew() and mdb_txn_reset():
lmdb improved
[1000000] iterations (renew, cursor_open, cursor_close, reset) with [10] databases in [0.29014] seconds
[1000000] iterations (renew, cursor_open, cursor_close, reset) with [100] databases in [0.27981] seconds
[1000000] iterations (renew, cursor_open, cursor_close, reset) with [1000] databases in [0.45234] seconds
[1000000] iterations (renew, cursor_open, cursor_close, reset) with [10000] databases in [1.80193] seconds
[1000000] iterations (renew, cursor_open, cursor_close, reset) with [100000] databases in [16.44472] seconds
lmdb original
[1000000] iterations (renew, cursor_open, cursor_close, reset) with [10] databases in [0.29650] seconds
[1000000] iterations (renew, cursor_open, cursor_close, reset) with [100] databases in [0.45699] seconds
[1000000] iterations (renew, cursor_open, cursor_close, reset) with [1000] databases in [4.16531] seconds
[1000000] iterations (renew, cursor_open, cursor_close, reset) with [10000] databases in [49.69454] seconds
[1000000] iterations (renew, cursor_open, cursor_close, reset) with [100000] databases in [561.20375] seconds
On 27/05/16 07:37, "Howard Chu" <hyc@symas.com> wrote:
>Jürg Bircher wrote:
>> Hello
>>
>> Improved handling for large number of databases
>> ===============================================
>
>> If interested let me know how to contribute.
>
>Looks interesting, yes. I assume you have profiled the code before and after
>the suggested changes, please provide your profiling results.
>
>Please read the Developer Guidelines.
> http://www.openldap.org/devel/contributing.html
>
> > Access newly opened database from another transaction
> > =======================================================
>
>Sounds like an oddball case. Applications should open all their DBIs from a
>single thread and not start any other threads/transactions until all setup is
>completed.
>
>> Hope it is useful!
>
>Thanks.
>
>--
> -- Howard Chu
> CTO, Symas Corp. http://www.symas.com
> Director, Highland Sun http://highlandsun.com/hyc/
> Chief Architect, OpenLDAP http://www.openldap.org/project/