Acme-CPANModules-Import-CPANRatings-User-stevenharyanto
view release on metacpan or search on metacpan
devdata/stevenharyanto view on Meta::CPAN
</h3>
<blockquote class="review_text">
Nice idea. Some notes: 1) to be widely used, it really needs to be very efficient; 2) if the goal is simply to objectify a hash, perhaps Hash::Objectify or Object::From::Hash or Hash::To::Object (or Data::Objectify and so on) is a more descriptive na...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2014-08-10T04:53:14
(<a href="/dist/Object-Anon#11872">permalink</a>)
</p>
<div class="helpfulq">
Was this review helpful to you?
<!-- we should add non-js links to rate stuff helpful/not helpful too... -->
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="11870" data-user="10616">
<a name="11870"></a>
<h3 class="review_header">
<a href="/dist/Data-Seek">
Data-Seek</a>
(<a href="https://metacpan.org/release/Data-Seek/">0.03</a>)
</h3>
<blockquote class="review_text">
The "extremely fast and efficient" claim currently doesn't hold, as this module creates a *whole* flattened tree for *every* search operation.
<br><br>A simple benchmark:
<br><br>###
<br>
use Benchmark qw(timethese);
<br>
use Data::Seek;
<br>
use Data::DPath qw(dpath);
<br>
use JSON::Path;
<br><br>my $data = { map { $_ => {map {$_=>[1..4]} 1..20} } "a".."z" };
<br><br>timethese(-0.25, {
<br><br>dseek => sub { $ds = Data::Seek->new(data=>$data); $ds->search("j.1.\@")->da...
});
<br>
###
<br><br>###
<br>
Benchmark: running dpath, dseek, dseek_cacheobj, jpath for at least 0.25 CPU seconds...
<br><br>dpath: 1 wallclock secs ( 0.27 usr + 0.00 sys = 0.27 CPU) @ 8292.59/s (n=2239)
<br><br>(warning: too few iterations for a reliable count)
<br><br>dseek...
dseek_cacheobj: 0 wallclock secs ( 0.33 usr + 0.00 sys = 0.33 CPU) @ 42.42/s (n=14)
<br><br>(warning: too few iterations for a reliable count)
<br><br>jpath: 0 wallclock secs ( 0.27 usr + 0.00 sys = 0.27 CPU) @ 11711.11/s (n=3162)
<br><br>(warn...
###
<br><br>Also: 1) the syntax is rather inconsistent: ':n' for array index access, but '.@' (instead of ':@') for grabbing all elements. 2) currently cannot select subtree (must always select leaf node).
<br><br>As alternatives, I recommend the muc...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2014-08-10T04:37:01
(<a href="/dist/Data-Seek#11870">permalink</a>)
</p>
<div class="helpfulq">
Was this review helpful to you?
<!-- we should add non-js links to rate stuff helpful/not helpful too... -->
<span class="helpful helpful_yes">Yes</span>
<span class="helpful helpful_no" >No</span>
<span class="thanks"></span>
</div><!-- helpfulq -->
</div><!-- review_footer -->
</div>
<div class="review" data-review="11860" data-user="10616">
<a name="11860"></a>
<h3 class="review_header">
<a href="/dist/Games-2048">
Games-2048</a>
(<a href="https://metacpan.org/release/Games-2048/">0.08</a>)
<img src="//cdn.perl.org/perlweb/cpanratings/images/stars-5.0.png" alt="*****">
</h3>
<blockquote class="review_text">
My favorite 2048 implementation (it's text-mode, written in Perl, uses my module Color::ANSI::Util, and what else... oh yeah, it's the only implementation where I've reached 2048 :-) ).
<br><br>One tip: enlarge the fonts of your terminal emulator (e....
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/stevenharyanto">Steven Haryanto</a> - 2014-08-06T00:25:10
(<a href="/dist/Games-2048#11860">permalink</a>)
</p>
( run in 0.539 second using v1.01-cache-2.11-cpan-5511b514fd6 )