Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: using bits to print part of a string

by choroba (Chancellor)
on Mar 15, 2013 at 16:03 UTC ( #1023730=note: print w/replies, xml ) Need Help??


in reply to using bits to print part of a string

I created the bit mask from the mask by replacing 0's by \x00 and 1's by \xff. Then, you can use bitwise & and can easily remove the resulting \x00's:
#!/usr/bin/perl use warnings; use strict; my $string = join q(), map int rand 10, 1 .. 400_000; my $mask = join q(), map int rand 2, 1 .. 400_000; $mask =~ tr/01/\x00\xff/; my $result = $string & $mask; $result =~ tr/\x00//d; print $result;
Updated: Using tr/ instead of s/ at line 10 speeds the method up.
لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

Replies are listed 'Best First'.
Re^2: using bits to print part of a string
by Anonymous Monk on Mar 15, 2013 at 16:44 UTC
    Yup, that is a lot faster. Brilliant, thanks!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1023730]
help
Chatterbox?
[marioroy]: The MCE::Hobo::Pool module will come later.
[Corion]: marioroy: Oh, that's always cool, having API-compatible modules. This makes testing and comparing things much easier
[marioroy]: IPC in MCE::Shared can handle 400k (sends) per second. That's seems a lot for being a pure-Perl module. After making the release, will come back and post a solution for a node by a fellow wanting faster logging.
[Corion]: While working on WWW::Mechanize:: Chrome, I had the suspicion that AnyEvent was doing something wrong, but I was able to swap it out for Mojolicious and the error persisted.

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (6)
As of 2017-05-26 08:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?