From f73ec42018bd7c627db8742c92636074033f19e4 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Thu, 27 Apr 2017 15:51:38 +0200 Subject: [PATCH] browser: precalculate row usage values Trade memory for speed. --- browser.plp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/browser.plp b/browser.plp index 202f252..a101d74 100644 --- a/browser.plp +++ b/browser.plp @@ -202,6 +202,8 @@ my $usagepct = 1; # score multiplier for 0..100 result $usagepct = 100.01 / featurescore({ # yes for every possible version map { $_ => { map {$_ => 'y'} map { @{$_} } @{$versions{$_}} } } keys %versions }); +$_->{usage} = featurescore($_->{stats}) * $usagepct + for values %{ $caniuse->{data} }; print ''; print ''; # should match first thead row @@ -429,13 +431,12 @@ sub saybrowsercols { sub sayusagecol { my ($id) = @_; - print ''; for my $id (sort { - featurescore($caniuse->{data}->{$b}->{stats}) - <=> featurescore($caniuse->{data}->{$a}->{stats}) + $caniuse->{data}->{$b}->{usage} <=> $caniuse->{data}->{$a}->{usage} } keys %{ $caniuse->{data} }) { $caniuse->{data}->{$id}->{stats} or next; # skip metadata [summary] printf '', $id; -- 2.30.0
', int featurescore($caniuse->{data}->{$id}->{stats}) * $usagepct; + print '', int $caniuse->{data}->{$id}->{usage}; } say '