Skip to content

Instantly share code, notes, and snippets.

View sundy-li's full-sized avatar
🏠
Working from home

sundyli sundy-li

🏠
Working from home
View GitHub Profile
@sundy-li
sundy-li / latency.txt
Created March 29, 2019 09:28 — forked from jboner/latency.txt
Latency Numbers Every Programmer Should Know
Latency Comparison Numbers (~2012)
----------------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
@sundy-li
sundy-li / test
Created October 20, 2020 08:49
test-jdbc
/**
*
*/
public class SparkJdbcMain {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
SparkSession spark = SparkSession
.builder()
.appName("spark-jdbc-test")
.enableHiveSupport()
package main
import (
"fmt"
"io/ioutil"
"math/rand"
"github.com/RoaringBitmap/roaring"
)
@sundy-li
sundy-li / config.json
Last active November 4, 2020 13:19
gen_tool.go
{
"instance_id" : 1,
"data_dir" : "/data1/clickhouse",
"log_dir": "/data/logs/clickhouse-server",
"tcp_port": 9000,
"http_port": 8123,
"interserver_http_port": 9009,
"max_concurrent_queries": 500,
@sundy-li
sundy-li / gist:9764fb0abe21aa4ce220a96bbd778042
Created November 6, 2020 10:06
clickhouse_slow_query.sh
# ClickHouse的top工具,实时查看运行的SQL,运行了多久,来自哪里
# 注意事项:查询SQL的时候,要把客户端里的空格去掉,要判断是否为空,否则影响while read的读取位置
# TODO:清屏很暴力,鼠标滚动就不见了 limit限制
password="xxxx"
ls /usr/bin/clickhouse-client >/dev/null 2>&1
@sundy-li
sundy-li / memory_bench.rs
Last active January 16, 2021 03:39
memory_bench.rs
use std::sync::{Mutex, Arc};
use std::env;
use std::time::Instant;
use std::sync::mpsc::channel;
use threadpool::ThreadPool;
// test memory bandwidth
fn main() {
@sundy-li
sundy-li / memory_arrow.rs
Last active January 16, 2021 03:39
memory_arrow.rs
use std::sync::{Mutex, Arc, Barrier};
use std::env;
use std::time::Instant;
use std::sync::mpsc::channel;
use std::ptr::NonNull;
use std::ptr;
use std::alloc::Layout;
use std::mem;
@sundy-li
sundy-li / mod.rs
Created August 9, 2021 07:05
rust-const-generics
// Copyright 2020-2021 The Datafuse Authors.
//
// SPDX-License-Identifier: Apache-2.0.
mod modulo;
use std::marker::PhantomData;
use crate::prelude::*;
use crate::DFNumericType;
@sundy-li
sundy-li / bench_arrow.rs
Created December 27, 2021 03:50
bench_arrow
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you 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
//
@sundy-li
sundy-li / b.sh
Created February 9, 2022 01:57
databend_bench_sqls
#!/bin/bash
cat << EOF > bench.sql
SELECT avg(number) FROM numbers_mt(100000000000)
SELECT sum(number) FROM numbers_mt(100000000000)
SELECT min(number) FROM numbers_mt(100000000000)
SELECT max(number) FROM numbers_mt(100000000000)
SELECT count(number) FROM numbers_mt(100000000000)
SELECT sum(number+number+number) FROM numbers_mt(100000000000)
SELECT sum(number) / count(number) FROM numbers_mt(100000000000)