From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32703 invoked by alias); 31 Dec 2010 19:43:20 -0000 Received: (qmail 32693 invoked by uid 22791); 31 Dec 2010 19:43:19 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.44.51) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 31 Dec 2010 19:43:16 +0000 Received: from wpaz5.hot.corp.google.com (wpaz5.hot.corp.google.com [172.24.198.69]) by smtp-out.google.com with ESMTP id oBVJhEZu024444 for ; Fri, 31 Dec 2010 11:43:14 -0800 Received: from ywe10 (ywe10.prod.google.com [10.192.5.10]) by wpaz5.hot.corp.google.com with ESMTP id oBVJhCrv009982 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NOT) for ; Fri, 31 Dec 2010 11:43:13 -0800 Received: by ywe10 with SMTP id 10so6068741ywe.24 for ; Fri, 31 Dec 2010 11:43:12 -0800 (PST) MIME-Version: 1.0 Received: by 10.90.27.14 with SMTP id a14mr9139796aga.113.1293824592489; Fri, 31 Dec 2010 11:43:12 -0800 (PST) Received: by 10.90.33.17 with HTTP; Fri, 31 Dec 2010 11:43:12 -0800 (PST) Date: Fri, 31 Dec 2010 19:43:00 -0000 Message-ID: Subject: JIT interface slowness From: Vyacheslav Egorov To: gdb@sourceware.org Content-Type: text/plain; charset=ISO-8859-1 X-System-Of-Record: true X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2010-12/txt/msg00091.txt.bz2 Hi, I've implemented[1] basic GDB JIT client for V8[2] and when people started testing it with node.js[3] we noticed that it makes execution under GDB slower especially if JIT generates and registers inmemory ELF object for every single code object it emits. Apparently GDB is just not optimized to handle tons of small ELF objects being registered (and unregistered). When I just comment out calls to __jit_debug_register_code (leaving ELF-generation intact) everything becomes fast again. Is there any known bottlenecks in JIT interface/any known workaround for them? Any hints would be highly appreciated. Thanks. [1] http://codereview.chromium.org/5965011/ [2] http://v8.googlecode.com/ [3] http://nodejs.org -- Vyacheslav Egorov