From: Jakub Narebski <jnareb@gmail.com>
To: git@vger.kernel.org
Subject: Re: [RFC] gitweb wishlist and TODO list
Date: Tue, 20 Jun 2006 22:59:46 +0200 [thread overview]
Message-ID: <e79njs$hue$1@sea.gmane.org> (raw)
In-Reply-To: 20060620201035.GT2609@pasky.or.cz
Petr Baudis wrote:
> Dear diary, on Tue, Jun 20, 2006 at 06:51:18PM CEST, I got a letter
> where Jakub Narebski <jnareb@gmail.com> said that...
>> * Refactor dispatch from if...elsif...else construction
>> to using 'name' => \&sub hash.
>
> In other words, you say the result of the IRC discussion we had about
> symbol lookups and evals turned out really scary? ;-)
First, we need arrays (ordering!) of sets of possible actions for navbar,
so we will have list of all possible actions.
Besides, simple test
[...]
sub dispatch {
dispatch_ifelse(@_);
#dispatch_hash(@_);
#dispatch_callname(@_);
#dispatch_anonsub(@_);
}
sub test_dispatch_all {
dispatch(undef);
dispatch("summary");
[...]
dispatch("tag");
dispatch("unknown");
dispatch("tag();injected();");
}
test_dispatch_all() foreach (1..10000);
run with '$ time ./test.pl > /dev/null' has shown that (suprise, suprise!)
that hash is fastest, then if...elsif...else variant, then
my $sub = \&{"git_$action"}; eval { &$sub() };
and last, much much worse is eval "..." version.
Of course test leaves something to be desired...
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
next prev parent reply other threads:[~2006-06-20 21:00 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-20 16:51 [RFC] gitweb wishlist and TODO list Jakub Narebski
2006-06-20 17:33 ` Carl Worth
2006-06-20 17:46 ` Jakub Narebski
2006-06-20 17:55 ` Petr Baudis
2006-06-20 18:34 ` Jakub Narebski
2006-06-20 18:40 ` Petr Baudis
2006-06-21 14:52 ` Jakub Narebski
2006-06-20 19:33 ` Martin Langhoff
2006-06-20 19:56 ` Jakub Narebski
2006-06-20 21:17 ` Martin Langhoff
2006-07-01 10:35 ` Paul Mackerras
2006-06-21 13:05 ` Dennis Stosberg
2006-06-21 13:07 ` [PATCH 1/3] gitweb: Declare global variables with "our" Dennis Stosberg
2006-06-21 13:08 ` [PATCH 2/3] Add a parameter to specify the repository path Dennis Stosberg
2006-06-21 13:09 ` [PATCH 3/3] gitweb: Use --git-dir parameter instead of setting $ENV{'GIT_DIR'} Dennis Stosberg
2006-06-21 13:33 ` Timo Hirvonen
2006-06-21 13:42 ` Jakub Narebski
2006-06-21 13:30 ` [RFC] gitweb wishlist and TODO list Jakub Narebski
2006-06-22 10:00 ` Dennis Stosberg
2006-06-22 14:47 ` Ryan Anderson
2006-06-21 16:45 ` Ryan Anderson
2006-06-21 17:36 ` Jakub Narebski
2006-06-20 19:46 ` Junio C Hamano
2006-06-20 20:10 ` Petr Baudis
2006-06-20 20:59 ` Jakub Narebski [this message]
2006-06-20 21:25 ` Petr Baudis
2006-06-20 21:53 ` Thomas Glanzmann
2006-06-21 8:56 ` Josef Weidendorfer
2006-06-21 9:15 ` Jakub Narebski
2006-06-21 9:57 ` Josef Weidendorfer
2006-06-21 13:53 ` Jakub Narebski
[not found] ` <200606211802.41071.Josef.Weidendorfer@gmx.de>
2006-06-21 16:38 ` Jakub Narebski
2006-06-21 20:35 ` Josef Weidendorfer
2006-06-22 9:01 ` Jakub Narebski
2006-06-22 9:14 ` Junio C Hamano
-- strict thread matches above, loose matches on Subject: below --
2006-09-02 16:17 Jakub Narebski
2006-09-02 18:10 ` Marco Costalba
2006-09-02 19:29 ` Jakub Narebski
2006-09-03 4:26 ` Marco Costalba
2006-09-03 9:27 ` Jakub Narebski
2006-09-03 11:10 ` Marco Costalba
2006-09-03 11:24 ` Jakub Narebski
2006-09-08 0:44 ` Jakub Narebski
2006-09-08 1:16 ` Junio C Hamano
2006-09-08 9:11 ` Jakub Narebski
2006-09-03 11:52 Jakub Narebski
2006-09-03 12:18 ` Marco Costalba
2006-09-03 12:38 ` Jakub Narebski
2006-10-09 12:49 Jakub Narebski
2006-10-10 1:47 ` Luben Tuikov
2006-10-10 8:54 ` Jakub Narebski
2006-10-11 5:52 ` Junio C Hamano
2006-10-11 9:20 ` Jakub Narebski
2006-10-12 10:03 ` Junio C Hamano
2006-10-13 19:55 ` Jakub Narebski
2006-10-11 15:09 ` Jakub Narebski
2006-10-11 23:05 ` Jakub Narebski
2008-04-25 13:14 Jakub Narebski
2008-09-25 10:30 Jakub Narebski
2008-09-25 11:08 ` Pedro Melo
2008-09-25 12:23 ` Jakub Narebski
2008-09-25 14:45 ` Pedro Melo
2008-09-25 21:23 ` Jakub Narebski
2008-09-25 13:19 ` Wincent Colaiuta
2008-09-25 13:33 ` Petr Baudis
2008-09-25 15:41 ` Jakub Narebski
2008-09-28 10:01 ` Jakub Narebski
2008-09-28 21:18 ` Petr Baudis
2008-10-01 8:40 ` Ask Bjørn Hansen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='e79njs$hue$1@sea.gmane.org' \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).