Skip to content

Instantly share code, notes, and snippets.

se uni::perl;
use Benchmark ':all';
use lib::abs;
BEGIN {unshift @INC, lib::abs::path 'kraih/lib' }
use Mojo::ByteStream 'b';;
say $INC{'Mojo/ByteStream.pm'};
my %results;
$results{old} = timethis -1 , sub { b('x'x1000) };
use uni::perl;
use Benchmark ':all';
use lib::abs;
BEGIN {unshift @INC, lib::abs::path 'kraih/lib' }
use Mojo::ByteStream 'b';;
say $INC{'Mojo/ByteStream.pm'};
my %results;
$results{old1} = timethis -1 , sub { b("тестовая строка")->encode('utf8')->decode('utf8') };
@Mons
Mons / gist:715308
Created November 25, 2010 12:24
AnyEvent::HTTP::Server WS Echo sample
#!/usr/bin/env perl
use uni::perl;
use lib::abs '../../lib';
use AnyEvent::Impl::Perl; # Better to use Impl::Perl for tests
use AE;
use AnyEvent::HTTP::Server;
AnyEvent::HTTP::Server->new(
host => '89.208.136.108',
@Mons
Mons / strlen-bench.c
Created November 2, 2012 13:26
Comparison of strlen and for(;;buf++)
/*
Compile me:
$ gcc -Wall -o strlen-bench strlen-bench.c -lrt -g -ggdb -O3
*/
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <sys/time.h>
#include <sys/types.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <sys/time.h>
#include <sys/types.h>
#include "picohttpparser.h"
#include "httpfast.h"
#include <unistd.h>
#include <time.h>
@Mons
Mons / Makefile.PL
Created November 15, 2012 08:53
Remove some CFLAGS from $Config
BEGIN {
require Config;
if (tied %Config::Config) { eval {
for (keys %Config::Config) {
local *Config::STORE = sub {
@Mons
Mons / hashing-experiment.c
Created November 19, 2012 11:27
kinda hash or crc
if (sizeof(uintmax_t) == 8) {
size_t i;
uintmax_t
*l = (uintmax_t *) str->str,
xx = 0x2020202020202020ULL;
;
for (i=0; i < str->len / 8; i++) {
xx ^= l[i];
}
unsigned char x =
@Mons
Mons / benchmark.h
Created November 21, 2012 11:54
Small benchmark utility
/*
Usage:
#include "benchmark.h"
int test1 (va_list ap) {
char *str1 = va_arg( ap, char * );
char *str2 = va_arg( ap, char * );
...
return ...;
}
@Mons
Mons / asmbench.c
Created November 21, 2012 12:03
Comparison for asmlib
/*
Compile me:
gcc -o asmbench asmbench.c -L. -laelf64 -lrt -O0 && ./asmbench
Asmlib is here: http://agner.org/optimize/#asmlib
*/
#include "benchmark.h"
@Mons
Mons / XSTesting.xs
Created November 27, 2012 11:54
Creating callback from XS
/*
* Usage:
my $x = XSTesting::makecb("my arg");
say $x->();
*/
#include "EXTERN.h"
#include "perl.h"