统计git提交
因为工作需要,需要统计一个时间段指定用户的git提交的次数,代码改变的行数,以及依据commit特殊前缀来统计次数。脚本如下:
最近在写一个算法的多线程计算时发现效率比单线程还慢,单线程大概计算300S,8个线程却计算了900S,这很不正常。一开始以为是锁的原因,于是把算法里面所有的锁都去掉了(该算法估算几乎不影响最后结果准确性),锁去掉之后还是很慢,时间几乎没有变化。最后打开jconsole查看线程,发现计算的线程显示 阻止1 等待6
之类的。观察调用栈发现了卡在random的调用上。
Java的random是多线程是安全的,但是Java的random多线程效率存在问题,为此jdk在1.7之后推出了ThreadLocalRandom,它通过一个线程对应一个专属的random实例解决了多线程下random效率的问题。
它的用法如下:
1 | ThreadLocalRandom.current().... |
networkx的时候发现在3.0版本支持实验性的插件支持 https://github.com/networkx/networkx/pull/6000 ,
支持替换networkx的计算后端,目前比较成熟的后端插件是graphblas https://github.com/python-graphblas/graphblas-algorithms/ ,
通过这个插件,可以同时结合networkx
API的易用性以及graphblas的高性能。networkx插件的原理是利用了python的装饰器。
安装docker环境。
安装minikube。https://minikube.sigs.k8s.io/docs/start/
python版本升级到 3.7 - 3.9。
安装GraphScope 客户端
1 | # Requires the latest pip |
fifsky/ssh-action@master是GitHub Action的一个插件,用于在GitHub Action中远程登录主机执行命令。
最近写了一个脚本,结果发现github action一直处于运行状态,实际已经执行完了,最后发现是执行nohup后,ssh-action无法判定命令是否结束。
https://github.com/appleboy/ssh-action/issues/40
通过重定向所有输出解决
1 | nohup python script.py > nohup.out 2> nohup.err < /dev/null & |
大年初一,来了亲戚做客,我带着两个小朋友玩NS。