[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [mat-dev] GarbageCleaner phase code
|
- From: "Tsvetkov, Krum" <krum.tsvetkov@xxxxxxx>
- Date: Wed, 13 Jan 2021 09:59:09 +0000
- Accept-language: en-US
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sap.com; dmarc=pass action=none header.from=sap.com; dkim=pass header.d=sap.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Gh+RrE603q6bbA/O3ELmJHI6dcGNrGW2Er/ysPhJa2Q=; b=DUH4qA0BvVcdhe4B7NLJTZwlkQwCtYaATiwUz2B/YfvJsv3TNai9a0Mhi7LW5G2fzgdzUoEqcgDYZ7EBvzDkTPN32+Edfij4f/w5MpGE8eAK8BPij/LWmgY2UcXD2eP83E8us47OwE+jWxTBiTk8Jy6DTi2pruy+/ztvnMNIMOKBie7IFrKZBnp15Cz3evzFKSXLulRp5wRD0kPQIqxJK7Z3QBBtthOxywY43ISBeJyoJgvLBCoUN/EEvH/1j1Os44iWx1bBEDcu12Vev1ydOG+6fy0uCdxOLZ4XgX/JDQlemnU4ZH7sESruxnlbWMn95hXh0LEg5M3KMM4uvk/yNA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mzPoaPeIJU9E+CgvhtMjeJfZUwIUzHSgCh8Lca3I4gvUFPzAq6vFs4vBXIuujU+oI/36yv07AQpkNH9tBPl+r8kHP4COOB4BUeSlTeMyEBhQjfWlFDlFLvFcctBvfXMBve2RxsY7OIf5lciW01IUg9D0Oel3lSvNoEJLF3s9gO5qiCKfUoe99BaNnUBC8ME53UyiBaJ5zyNfC8NuAKQ8AOT6gTaeH8bExV9E111irzjA8JCGB/gYkgjDBKXYpxzAc/94jupwzudmiWF8zSHFZpxT0H+xqp48h1ovIy7dWC2kFlf80tfwdDTB47rRQC+KGrxg/uxJU2hqtvXAieX35w==
- Delivered-to: mat-dev@xxxxxxxxxxx
- Ironport-sdr: 9yNy3gt/IayBPTyVmcYSI9o9IxH8cKorOASDob9XD+wXh4Dqr4Mk3hsHG0LbEK0C0s8kSPiMbS W/6pMKm8ERtbdxW0JkGRYGhgEBya/hhmbjWOdIcW58la70I4CkcrPMG1o8cL24tpTiud0KoEQF QEUG7zGPOurffBHMTX+0NQhoeNydyHiB+E0dITpoMwSFpcDGufQTEM1UFbsnx+XpViOHs9J0bc uSRdCu7CTd+sgkZMNMEVGY5c4a9onz5w7XbqS10NycAJD8ildaoD7f4HqPl+F3bPXoPy7iBb0U 06fYc31YWm/avOYrJblfbW2i
- List-archive: <https://www.eclipse.org/mailman/private/mat-dev/>
- List-help: <mailto:mat-dev-request@eclipse.org?subject=help>
- List-subscribe: <https://www.eclipse.org/mailman/listinfo/mat-dev>, <mailto:mat-dev-request@eclipse.org?subject=subscribe>
- List-unsubscribe: <https://www.eclipse.org/mailman/options/mat-dev>, <mailto:mat-dev-request@eclipse.org?subject=unsubscribe>
- Thread-index: AQHW5H5QeD3mlzEvRkGYv6G+fIw3PaolbT4A
- Thread-topic: [mat-dev] GarbageCleaner phase code
- User-agent: Microsoft-MacOutlook/16.44.20121301
Hi Jason,
I also think this is a very good improvement and encourage you to go on and raise a bug/contribute the changes.
@Andrew, I think the suggestions you made for testing are good. I don't have some to add.
Regards,
Krum
On 06.01.21, 23:50, "mat-dev-bounces@xxxxxxxxxxx on behalf of Andrew Johnson" wrote:
> Hi all,
>
> Looking for some input on suitability to raise a bug and submit this
> change. If you can advise any additional specific tests to run I
> will be happy to build them out and execute them..
>
> Results on a 73GB file over 5 runs on a 48GB 8+8cores machine are
> here, in brief it is 2-4x faster for large heaps:
> https://gist.github.com/jasonk000/9f31e2446a84b56f11d494c146969e7b
>
> I understand that my last round of commits required an additional
> pass of discussion on memory footprint. I believe the memory
> footprint here would be reduced as it merges the maps during
> generation (C maps, scaling to C cores) vs previous approach (N
> maps, when the processing was split into N chunks and scaled to
> object heap). All existing functional tests work ok.
>
> There are a sequence of five commits presented here:
> https://github.com/jasonk000/eclipse-mat/compare/gc-opt
>
> Thanks
> Jason_______________________________________________
This looks like a useful improvement. I don't have any tests in mind,
but do look at the previous changes to GarbageCleaner.java and what
defects led up to the change.
Tests are useful, but with multi-threaded code then reviews of the
code are also important as defects will not be as reproducible.
For example the change to
if (ref != null && ref.get() != null)
{
return ref.get();
could cause problem as the soft reference could be cleared between
the two get() calls.
Sometimes a test mode - with more threads or large / smaller
buffers, or a constrained heap, or a very large heap dump with
nearly 2G objects can help find bugs.
Do other people have comments?
Andrew Johnson
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU