From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 93DB07FA5C for ; Wed, 22 Jun 2016 10:12:11 +0200 (CEST) IronPort-PHdr: 9a23:XQWTThY9SPh7hjG61Bc25D3/LSx+4OfEezUN459isYplN5qZpMy+bnLW6fgltlLVR4KTs6sC0LuO9fi5EjVauN6oizMrTt9lb1c9k8IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUiv2OQc9HOnpAIma153xjLHqvcWKKFwS3XKUWvBbElaflU3prM4YgI9veO4a6yDihT92QdlQ3n5iPlmJnhzxtY+a9Z9n9DlM6bp6r5YTGY2zRakzTKRZATI6KCh1oZSz7ViQBTeIs1IYW2QQ2jRSAhPO7FmuV5P4sy28uPB8wyKaFcn7XbE6WHKp6KI9DFfjgSIDcjo4633/i8pqjasdrgjyiQZ4xtv6eoiTu/1/ZZT3etkdWSIVUNxYUSdGA5j6ZYwFCPYpNutR6Yfn8Qhd5SCiDBWhUbu8ggRDgWX7iOhji7ws Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=francois.bobot@cea.fr; spf=None smtp.mailfrom=francois.bobot@cea.fr; spf=None smtp.helo=postmaster@cirse-out.extra.cea.fr Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of francois.bobot@cea.fr) identity=pra; client-ip=132.167.192.142; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="francois.bobot@cea.fr"; x-sender="francois.bobot@cea.fr"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of francois.bobot@cea.fr) identity=mailfrom; client-ip=132.167.192.142; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="francois.bobot@cea.fr"; x-sender="francois.bobot@cea.fr"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@cirse-out.extra.cea.fr) identity=helo; client-ip=132.167.192.142; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="francois.bobot@cea.fr"; x-sender="postmaster@cirse-out.extra.cea.fr"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0DZBABxR2pXh47Ap4ReFoN+K1K8cySFcwKBMTwQAQEBAQEBAQERAQEBCA0JCSEvgjKCGgEBAQIBATIBBTQdCxguVwYBDAgCiCQIDsJgAQEIAQEBAQEBIYgeCIJOihsFmHyGCIpchw+FXY97NYImEgsXgTdsAYpwAQEB X-IPAS-Result: A0DZBABxR2pXh47Ap4ReFoN+K1K8cySFcwKBMTwQAQEBAQEBAQERAQEBCA0JCSEvgjKCGgEBAQIBATIBBTQdCxguVwYBDAgCiCQIDsJgAQEIAQEBAQEBIYgeCIJOihsFmHyGCIpchw+FXY97NYImEgsXgTdsAYpwAQEB X-IronPort-AV: E=Sophos;i="5.26,509,1459807200"; d="scan'208";a="182101858" Received: from cirse-out.extra.cea.fr ([132.167.192.142]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 22 Jun 2016 10:12:11 +0200 Received: from pisaure.intra.cea.fr (pisaure.intra.cea.fr [132.166.88.21]) by cirse.extra.cea.fr (8.15.2/8.15.2/CEAnet-Internet-out-2.4) with ESMTP id u5M8CABm005912; Wed, 22 Jun 2016 10:12:10 +0200 Received: from pisaure.intra.cea.fr (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id EAFCD202E54; Wed, 22 Jun 2016 10:13:00 +0200 (CEST) Received: from muguet2.intra.cea.fr (muguet2.intra.cea.fr [132.166.192.7]) by pisaure.intra.cea.fr (Postfix) with ESMTP id D385F200B3D; Wed, 22 Jun 2016 10:13:00 +0200 (CEST) Received: from [10.8.32.80] (is222783.intra.cea.fr [10.8.32.80]) by muguet2.intra.cea.fr (8.15.2/8.15.2/CEAnet-Intranet-out-1.4) with ESMTP id u5M8CAoM018847; Wed, 22 Jun 2016 10:12:10 +0200 To: Alain Frisch , caml-list@inria.fr References: <7182303B-EBFF-4CFC-A7DF-B5C7A059509F@marneu.com> <3673db34-9350-a9b1-fcd5-e7593ba0fd01@etorok.net> <86eg7ucu8s.fsf@lpw25.net> <0d64f186-6518-dea7-9082-4c06802449f7@cea.fr> <8718df5d-2129-2404-ab56-188331d15a6d@lexifi.com> From: =?UTF-8?Q?Fran=c3=a7ois_Bobot?= Message-ID: Date: Wed, 22 Jun 2016 10:12:10 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.0 MIME-Version: 1.0 In-Reply-To: <8718df5d-2129-2404-ab56-188331d15a6d@lexifi.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Caml-list] Presumed bug in OCaml's garbage collector or in its Weak module... On 21/06/2016 21:37, Alain Frisch wrote: > > Not directly related to this thread, but it might be worth mentioning > that for our use case (hash-consing terms), disabling the shallow copy > (i.e. using get instead of get_copy) lead to very significant > performance gains. It's an interesting report. The contrary of Doligez and Cuoq paper[1], but the usage of hashconsing in Frama-C is quite different from yours. > > Perhaps the "official" Weak.Make should at least allow to use get > instead of get_copy? Before complicating the API, I would prefer to check what happend if we get ride of get_copy but keep the nice property (by complicating the runtime...). In your case forcing the keeping of some value explicitly with a usual "hard" cache (with LRU stategy?) on top of the weak set could be sufficient and more intelligible. [1]: http://cristal.inria.fr/~doligez/publications/cuoq-doligez-mlw-2008.pdf -- François