Skip to content

Instantly share code, notes, and snippets.

View funny-falcon's full-sized avatar

Sokolov Yura funny-falcon

View GitHub Profile
@funny-falcon
funny-falcon / results.md
Last active October 8, 2023 14:51
Crystal String.index patch benchmark
was idx now idx diff idx was bidx now bidx diff bidx
small 1 0.068663 0.061373 -10.62 0.071392 0.008054 -88.72
medium 1 0.503822 0.334602 -33.59 0.545443 0.010590 -98.06
big 1 4.697361 2.865704 -38.99 5.058999 0.027877 -99.45
small 2 0.069861 0.053189 -23.86 0.073254 0.034132 -53.41
medium 2 0.509033 0.336184 -33.96 0.548318 0.235357 -57.08
big 2 4.730817 3.117069 -34.11 5.062775 2.049732 -59.51
small 4 0.077225 0.058108 -24.75 0.079227 0.036833 -53.51
medium 4 0.510799 0.340637 -33.31 0.554923 0.242836 -56.24
cmake_minimum_required(VERSION 3.16)
project(test_backtrace VERSION 0.1 LANGUAGES C)
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_EXTENSIONS true)
find_library(LIBBACKTRACE backtrace)
add_executable(test_exe test_exe.c)
target_link_libraries(test_exe PUBLIC backtrace)
@funny-falcon
funny-falcon / sshrc
Created July 18, 2022 08:11
.ssh/rc to constant ssh_auth_sock but not fake X11 auth
if test "$SSH_AUTH_SOCK" ; then
ln -sf $SSH_AUTH_SOCK ~/.ssh/ssh_auth_sock
SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
export SSH_AUTH_SOCK
fi
# example sshrc file
if read proto cookie && [ -n "$DISPLAY" ]; then
if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
# X11UseLocalhost=yes
require "benchmark"
def fake_cos(x : Float64) : Float64
1.0
end
def taylor_cos(x : Float64) : Float64
x = x.abs
kf, x = x.divmod(Math::PI)
k = kf.to_i
@funny-falcon
funny-falcon / greeter_client.go
Last active February 11, 2019 18:37
Go GRPC benchmark
/*
*
* Copyright 2015 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
@funny-falcon
funny-falcon / maglev.go
Created April 22, 2018 17:14
Maglev for redis
package main
const TableSize = uint16(1 << 14)
type Table []uint16
type Shard struct {
Hash uint64
Weight float64
}
@funny-falcon
funny-falcon / promiseme.js
Created December 18, 2017 14:42
Promise proxy
let handlers = {}
handlers.get = function(target, property) {
let v = target[property]
if (typeof(v) == "function") {
return async (...args) => {
return new Promise((resolve, reject) => {
target[property](...args, (err, ...rest) => {
if (err) reject(err)
else resolve(rest.length == 1 ? rest[0] : rest)
class HashChTbl(K, V)
include Enumerable({K, V})
include Iterable({K, V})
getter size : Int32 = 0
# index into SIZES array
@sz : UInt8 = 0_u8
@rebuild_num : UInt16 = 0_u16
@first : UInt32 = 0_u32
@last : UInt32 = 0_u32
[gui]
spellingdictionary = en_US
tabsize = 4
fontui = -family \"DejaVu Sans\" -size 10 -weight normal -slant roman -underline 0 -overstrike 0
fontdiff = -family \"DejaVu Sans Mono\" -size 10 -weight normal -slant roman -underline 0 -overstrike 0
[user]
emal = funny.falcon@gmail.com
email = funny.falcon@gmail.com
name = Sokolov Yura
[http]
@funny-falcon
funny-falcon / prim.txt
Created September 9, 2017 11:34
xorshit64 for 2*32bit state
26-5-1 11 x^64 + x^36 + x^32 + x^30 + x^28 + x^26 + x^24 + x^15 + x^13 + x^4 + 1
2-7-21 11 x^64 + x^35 + x^34 + x^32 + x^19 + x^18 + x^8 + x^4 + x^3 + x^2 + 1
5-27-18 11 x^64 + x^32 + x^26 + x^20 + x^18 + x^12 + x^9 + x^6 + x^5 + x^4 + 1
1-2-11 13 x^64 + x^41 + x^35 + x^33 + x^32 + x^18 + x^11 + x^9 + x^6 + x^3 + x^2 + x + 1
20-7-3 13 x^64 + x^52 + x^44 + x^40 + x^32 + x^24 + x^21 + x^16 + x^14 + x^12 + x^8 + x^4 + 1
23-8-1 15 x^64 + x^47 + x^41 + x^36 + x^32 + x^27 + x^26 + x^23 + x^22 + x^13 + x^11 + x^10 + x^6 + x^4 + 1
5-27-21 15 x^64 + x^33 + x^32 + x^29 + x^27 + x^23 + x^21 + x^15 + x^13 + x^10 + x^7 + x^6 + x^5 + x^3 + 1
10-13-6 17 x^64 + x^42 + x^39 + x^38 + x^37 + x^34 + x^31 + x^29 + x^28 + x^26 + x^24 + x^23 + x^21 + x^16 + x^14 + x^12 + 1
17-1-18 17 x^64 + x^37 + x^35 + x^32 + x^31 + x^27 + x^23 + x^21 + x^19 + x^16 + x^15 + x^13 + x^9 + x^7 + x^3 + x + 1
18-7-16 17 x^64 + x^47 + x^46 + x^41 + x^40 + x^34 + x^31 + x^25 + x^22 + x^20 + x^15 + x^14 + x^12 + x^10 + x^9 + x^8 + 1