Skip to content

Instantly share code, notes, and snippets.

View keynslug's full-sized avatar

Andrew Mayorov keynslug

View GitHub Profile
@keynslug
keynslug / bench-report
Last active August 25, 2023 11:58
Perf comparison / PR#11481 @ 2332eb2 (zm) vs PR#11517 @ cf45e80 (head)
> emqx_topicidx_bench:run(zm, head, fixed_15k).
x Base Match / Fixed Topics (15000)
+ Head Match / Fixed Topics (15000)
+--------------------------------------------------------------------------+
|+++++++++ xxxxxxxxxxxx x x x|
|++++++++ xxxxxxxxxxx |
| ++++++ xxxxxxxx |
| ++++++ xxxxxxxx |
| ++++++ xxxxxxxx |
| ++++++ xxxxxxx |
@keynslug
keynslug / bench-report
Last active August 24, 2023 16:15
Perf comparison / release-52 (Orig) vs PR#11481 + emqx_trie_search_2 (Head)
> emqx_topicidx_bench:run(orig, head, fixed_15k).
orig: [{memory,435909},
{name,emqx_topic_index_r52},
{size,15306},
{type,ordered_set},
{keypos,1},
{protection,public}]
head: [{memory,422409},
{name,emqx_topic_index}, %% with `emqx_trie_search_2`
{size,15306},
@keynslug
keynslug / bench-report
Created August 23, 2023 15:36
Perf comparison / release-52 (Orig) vs PR#11481 (Head)
> emqx_topicidx_bench:run(fixed).
Orig: [{memory,534},
{name,emqx_topic_index_r52},
{size,15},
{type,ordered_set},
{keypos,1},
{protection,public}]
Head: [{memory,504},
{name,emqx_topic_index},
{size,15},
#!/usr/bin/env escript
%%! +sbtu +A0 -noshell -boot start_clean
main([Config]) ->
validate_config(Config);
main([]) ->
validate_config(find_sys_config()).
validate_config(Config) ->
Me = filename:basename(os:getenv("ESCRIPT_NAME")),
set -x -a PATH "/home/keynslug/perl5/bin" $PATH
set -x -a PERL5LIB "/home/keynslug/perl5/lib/perl5" $PERL5LIB
set -x -a PERL_LOCAL_LIB_ROOT "/home/keynslug/perl5" $PERL_LOCAL_LIB_ROOT
set -x PERL_MB_OPT "--install_base \"/home/keynslug/perl5\""
set -x PERL_MM_OPT "INSTALL_BASE=/home/keynslug/perl5"
@keynslug
keynslug / iplot.fish
Created December 16, 2021 10:03
kitty + gnuplot = 💣
#!/bin/env fish
function iplot
echo "
set terminal pngcairo enhanced font 'sans-serif,16'
set autoscale
set samples 1000
set output '|kitty +kitten icat --stdin yes'
set object 1 rectangle from screen 0,0 to screen 1,1 fillcolor rgb\"#fdf6e3\" behind
plot $argv
@keynslug
keynslug / email_address_parse.yrl
Created February 4, 2021 19:25
email address parser
% Based on RFC5321 (Simple Mail Transfer Protocol)
% https://tools.ietf.org/rfc/rfc5321.txt
% + Added support for RFC6532 via RFC6531 (SMTP Extension for Internationalized Email)
% https://tools.ietf.org/rfc/rfc6532.txt
% https://tools.ietf.org/rfc/rfc6531.txt
Nonterminals
mailbox
localpart
domainpart
==> Starting Consul agent...
==> Consul agent running!
Version: 'v1.5.1'
Node ID: 'bd03081c-76cf-7c40-1a3d-e305a4db0a31'
Node name: 'n2'
Datacenter: 'dc1' (Segment: '<all>')
Server: true (Bootstrap: false)
Client Addr: [127.0.0.1] (HTTP: 8500, HTTPS: -1, gRPC: -1, DNS: 8600)
Cluster Addr: 172.23.0.2 (LAN: 8301, WAN: 8302)
Encrypt: Gossip: false, TLS-Outgoing: false, TLS-Incoming: false
@keynslug
keynslug / ct.log
Created October 26, 2018 09:44
Common Test console log
%%% server_SUITE: .
=CRASH REPORT==== 26-Oct-2018::12:40:53.997593 ===
crasher:
initial call: cowboy_clear:connection_process/5
pid: <0.653.0>
registered_name: []
exception error: bad argument
in function gproc:unreg/1
called as gproc:unreg({p,l,{gproc_ps_event,<<"room1">>}})
in call from chat_server_message_handler:handle_event/2 (/Users/keynslug/ws/erlang-school/chat/_build/test/lib/chat_server/src/chat_server_message_handler.erl, line 96)

Keybase proof

I hereby claim:

  • I am keynslug on github.
  • I am keynfawkes (https://keybase.io/keynfawkes) on keybase.
  • I have a public key ASAdNQQPuciP96ecrpouRZTn3s4FA5X7jejrAjoLeGZTZwo

To claim this, I am signing this object: