Logo

两种计算miou的方式

最近在看miou的算法的时候碰到了个问题,有两种计算方式,实测miou的方式是voc pascal官方计算的方式,miou2有点不明意义。import randomimport numpy as npdef fast_hist(a, b, n): # ---------------------...

Go的ABI接口规范

该文档描述了Go的内部应用程序二进制接口(ABI),称为ABIInternal。 Go的ABI定义了内存中数据的布局和调用Go函数之间的约定。该ABI不稳定,并且在Go版本之间会发生变化。如果您正在编写汇编代码,请参考Go的汇编文档,该文档描述了Go的稳定ABI,称为ABI0。在Go源代码中定义的所...

一款支持CDN加速的轻量级代理工具

该工具具有以下特点无加密无混淆(大部分主流网站都使用了HTTPS协议)无需配置,开箱即用轻量级,源码仅百来行直接Wrap上CDN加速,无需证书域名https://github.com/golangboy/wsproxy...

Python托盘图标实时显示CDN流量使用情况

简介最近买了华为云的CDN加速,想要实时查看流量使用情况,但是又不想每次都去官网查看。代码import requestsimport rumpsimport jsonimport requestsglobal appreq_url = "https://console.huaweiclou...

进程、线程、协程

简介📝进来学习Rust的tokio库,发现许多知识还没理解透,特意在此梳理一下。进程🔄进程包括着N个线程,同时也包含N个线程共享的资源:内存资源、网络接口句柄、文件接口句柄等。一个进程至少会有一个线程。线程🧵线程是操作系统调度的基本单位。线程是如何被调度执行的假设如下:有一个CPU、且是单核心的所有...

spawn_blocking和spawn的区别

简介spawn_blocking专用于执行阻塞的函数,比如需要执行一个非常复杂的计算,极其耗CPU。spawn就是用于执行异步函数特点两者分别使用不同的事件队列max_blocking_threads()worker_threads()分别设置spawn_blocking和spawn调度用的工作线程...

为何异步能提高并发量

前置条件一个工作线程,负责执行异步函数异步函数Fun,无限阻塞,用不返回异步函数Func1,阻塞3秒use tokio::{runtime, task};use tokio::io::AsyncReadExt;use tokio::time::{Duration, sleep};async fn F...

设置调度线程数

说明设置运行时将使用的工作线程数量。这个数字可以是大于0的任何数字,但建议将这个值保持在较小的范围内。这将覆盖从环境变量TOKIO_WORKER_THREADS读取的值。use tokio::runtime;// This will spawn a work-stealing runtime wit...

单链表

use std::{ borrow::BorrowMut, cell::{RefCell, RefMut}, ops::Deref, rc::Rc,};struct Node { val: u32, next: Option<Rc<RefCell&lt...

Ownership

含义拥有对某块内存区域的读写权限,同时也有义务释放该内存区域共享引用fn main() { let x = std::string::String::from("HelloWorld"); //x拥有对内存区域("HelloWorld")的读写权限 ...