From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16762 invoked by alias); 2 May 2014 01:56:04 -0000 Mailing-List: contact gsl-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gsl-discuss-owner@sourceware.org Received: (qmail 16505 invoked by uid 89); 2 May 2014 01:56:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-5.7 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: proofpoint4.lanl.gov Received: from proofpoint4.lanl.gov (HELO proofpoint4.lanl.gov) (204.121.3.52) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Fri, 02 May 2014 01:55:56 +0000 Received: from mailrelay1.lanl.gov (mailrelay1.lanl.gov [128.165.4.101]) by mailgate4.lanl.gov (8.14.5/8.14.5) with ESMTP id s421ts7Q010715 for ; Thu, 1 May 2014 19:55:54 -0600 Received: from localhost (localhost.localdomain [127.0.0.1]) by mailrelay1.lanl.gov (Postfix) with ESMTP id 5624013673E9 for ; Thu, 1 May 2014 19:55:54 -0600 (MDT) X-NIE-2-Virus-Scanner: amavisd-new at mailrelay1.lanl.gov Received: from manticore.lanl.gov (manticore.lanl.gov [130.55.124.157]) by mailrelay1.lanl.gov (Postfix) with ESMTP id 4763E13673DB for ; Thu, 1 May 2014 19:55:54 -0600 (MDT) Message-ID: <5362FB2A.7090608@lanl.gov> Date: Fri, 02 May 2014 01:56:00 -0000 From: Gerard Jungman User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: gsl-discuss@sourceware.org Subject: Re: GSL containers (switched sparse format to binary trees) References: <535DAFC0.8090402@colorado.edu> <535ED7A5.7020309@lanl.gov> <535EFCA5.8050807@colorado.edu> <535FFA33.90604@lanl.gov> <53600311.7040805@colorado.edu> <53602290.8020309@lanl.gov> <53629696.7070907@colorado.edu> <5362D6E1.5080605@lanl.gov> <5362F944.9090408@lanl.gov> In-Reply-To: <5362F944.9090408@lanl.gov> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.11.96,1.0.14,0.0.0000 definitions=2014-05-01_07:2014-05-01,2014-05-01,1970-01-01 signatures=0 X-SW-Source: 2014-q2/txt/msg00023.txt.bz2 As before, I apologize for the flood of messages. But I figure better a few shorter messages than one long message with multiple sub-topics. Here is another discussion that I found interesting: http://comments.gmane.org/gmane.comp.lib.gsl.general/4385 As usual, the details could be debated. But I found the following quote to be very telling: "Rhys, I did try to use views. They do not help because the gsl routines allocate vectors internally and there is not much that I can do about it... except for maybe hacking gsl and changing gsl_vector_alloc myself." People seem to be led to this conclusion from multiple directions. Another choice quote: "The other issue is: the implementation of gsl_vector just seems inefficient to me. Looking at the code, it seems like a single vector requires 3 calls to malloc and free (one for the data, one for the gsl_block, and one for the gsl_vector itself). The manual states that the block is there for "consistency", and I can see how memory management becomes easier with it. But it seems to be a case of generality at the expense of performance. Also, the stride and the owner flag are part of the gsl_vector object to make it work with gsl_views, but then people who never need views pay the performance price anyway."