- 博客(103)
- 资源 (24)
- 收藏
- 关注
原创 杭州半日游 - 规划
新白鹿餐厅(银泰城店) 最近 17min 2km。乌龟潭想(一茅家埠 一曲苑风荷一西泠桥一孤山)》去码头,知味观(湖滨总店) 距此 120米。知味观(湖滨总店) 30min 3km。※ 三潭印月乘船攻略🛶打卡一元纸币取景地。浙江省杭州市西湖区湖滨路41号。西湖风景区-游船码头(上船)》地铁1号线 30min。11:00 到杭州站。
2024-02-29 20:34:05
501
原创 [bing]“gang调度 Kubernetes的并发控制和一致性机制“论点的对应的源码分析
请分析在Kubernates(https://github.com/kubernetes/kubernetes.git)项目和调度coscheduling(https://github.com/kubernetes-sigs/scheduler-plugins/tree/master/pkg/coscheduling) 插件中支撑"PodGroup的管理和调度决策涉及到对Pod和Node资源的查询和更新操作。文件中,我们可以看到使用 client-go 查询 Pod 和 Node 资源的操作。
2024-02-22 06:48:08
481
原创 异步编程copilot chat
为了解决这个问题,可以使用Promise、async/await或协程等技术,根据编程语言的不同,提供更结构化和可读性更好的处理异步操作的方式。通过仔细的设计和优化,例如最小化阻塞操作、使用线程池或使用非阻塞I/O等,可以提高性能和可扩展性。使用支持异步代码的调试工具,编写全面的单元测试,并使用模拟技术可以帮助有效地调试和测试异步代码。在可能的情况下,使用非阻塞操作或异步替代方案进行I/O,例如非阻塞I/O库或框架提供的异步API。监控和调整并发级别:监控异步代码的性能和资源利用情况。
2024-01-09 06:17:36
503
原创 云原生网络了解 学习笔记Day11
云原生网络CNF是什么?(What)总结:同样是软件实现网络,看待网络的方式不同实现方式:声明式,解耦依赖云原生编配器。云原生网络功能并不是重生的 SDN,它以一种完全不同的方式看待网络。云原生非功能需求优先考虑通过弹性、自动化,等等,比 SDN 要多得多。这个需求的实现依赖于声明式配置。然后,系统可以不断地进行自我修正。虚拟网络功能(VNF)始于网络硬件的虚拟化。VNF 的硬件与虚拟化硬件是一一对应的。SDN 似乎是将物理网络机器虚拟化,而 CNF 不仅仅是容器化的网络虚拟机,它对网络
2023-01-30 09:28:35
507
原创 《网络编程实战》学习笔记 Day10
其实内核poll的实现与select的实现类似,但在select之上做了改进,传递的数据结构不同,突破了文件描述符上限的限制。提示:以下是本篇文章正文内容,下面案例可供参考今天的学习,我了解了poll。poll 是另一种在各种 UNIX 系统上被广泛支持的 I/O 多路复用技术,虽然名声没有 select 那么响,能力一点不比 select 差,而且因为可以突破 select 文件描述符的个数限制,在高并发的场景下尤其占优势。21 | poll:另一种I/O多路复用。
2023-01-27 22:37:44
537
原创 《网络编程实战》学习笔记 Day9
其实我之前对高性能网络编程接触的少,除了计算机网络基础课TCP协议(三次握手、四次分手)、应用程序对Socket编程+多线程编程的实践理解外,没有真实需求推动,深究的就更少了。八股文背了,可能当时有些概念,过后又忘了。但随着中间件的设计,团队有时在高并发改造场景,会谈到“poll”类比该I/O多路复用模型。
2023-01-26 11:04:27
954
原创 《职场求生攻略》学习笔记 Day8
从应届毕业到成为一个职场人的转身,我从最初定级较低的不积极不主动,吃了一些恶果;然后纠正心态,调整方向,跌过坑所以更能体会主观能动性的关键意义。回顾这篇文章,其实有些观点是我思考和总结的,有些写得更透彻一些,比如“主观能动性的代价”的总结,之前没有更辩证地去看,这点也是有新的启发。提示:以下是本篇文章正文内容,下面案例可供参考发挥主观能动性,究其核心,我觉得就是一点:站在用户的角度,交付用户想要的东西。也就是要明确价值所在。
2023-01-24 21:34:34
1445
原创 C++并发编程 学习笔记 Day7
今天春节,C++并发编程第5章看完了,内存序,还没验证,先草率打个卡。相关摘录原子变量的操作提供了所需的强制次序,如std::atomic类型,凭借两种内存模型关系“先行”(happens-before)[13]和“同步”(synchronizes-with),这些操作确定了必要的次序。先行关系看起来相当直观:某个值的写出操作在其读取操作之前发生。同步关系只存在于原子类型的操作之间。同步关系的基本思想是:对变量x执行原子写操作W和原子读操作R,且两者都有适当的标记。只要满足下面其中一点,它们即彼此
2023-01-23 00:15:59
447
原创 NUMA内存知识 学习笔记 Day6
今天除夕夜,NUMA知识看完了,但还没消化,先草率打个卡。相关概念不同的 CPU 访问不同地址主存的速度各不相同,我们把采用这种设计的内存叫做非一致性访存(Non-uniform memory access,NUMA)。外设所需要的内存主要包括外设的工作内存、DMA 区域和用于 IO 映射的内存。物理内存最重要的三个部分是:从 640K(0xa0000)到 1M(0xfffff)区间,是被 ISA 设备的 RAM 和 ROM 占据的;从 1M 开始才是主存(System RAM),同时我们也注
2023-01-21 23:23:48
227
原创 内存屏障由来的理解和使用《编程高手必学的内存知识》学习笔记 Day 5
之前研究DPDK无锁队列,看到实现中有些读屏障和写屏障,只是模糊理解个大概,但不知道它在什么时候出问题,所有用屏障保证时序正确性。现在看了这篇文章,理解了读写屏障解决store buffer引入的问题,读屏障解决invalid queue问题,两个异步化设计提升性能之后,要兼容Cache机制协议,保证程序在多核上时序正确。
2023-01-20 22:29:32
4662
原创 多核缓存一致性问题及解决方案MESI协议《深入浅出计算机组成原理》学习笔记 Day 4
这次了解了工作中遇到的多核缓存一致性问题,在GEM5 RISC-V多核仿真环境中,多核共享内存的体系结构。在内存池分配算法时会遇到多核竞争和缓存一致性的问题。提示:以下是本篇文章正文内容,下面案例可供参考想要实现缓存一致性,关键是要满足两点。第一个是写传播,也就是在一个 CPU 核心写入的内容,需要传播到其他 CPU 核心里。更重要的是第二点,保障事务的串行化,才能保障我们的数据是真正一致的,我们的程序在各个不同的核心上运行的结果也是一致的。这个特性不仅在 CPU 的缓存层面很重要,在数据库层面更加重要。
2023-01-19 15:04:00
2204
原创 《Go 并发数据结构和算法实践》学习笔记 Day 2
提示:这里可以添加本文要记录的大概内容:提示:以下是本篇文章正文内容,下面案例可供参考对比项跳表数组平衡二叉树插入特点查找查找时间复杂度。
2023-01-17 21:33:53
532
原创 《说透芯片》学习笔记 Day 3
这次了解的是行业Top 10 厂商之一的:三星。通过老师的带领,我看到了技术和资本之上的三星。开发者得有技术、资本、市场的视角,才能随着企业的发展再上一个台阶。提示:以下是本篇文章正文内容,下面案例可供参考三星是一家从存储芯片业务开始,并且激进地投资,靠着技术和资金的双重优势,牢牢地占据了存储芯片行业第一。然后随着产业机会,一直往上,依次抓住制造,直到手机业务综合大成。三星的持续努力的精神,值得所有企业的敬重和学习。
2023-01-10 13:40:35
1131
原创 【工具】010 Editor 查看十六进制文件,有各种模板,真好用!
下载 参考:https://blog.youkuaiyun.com/lyshark_lyshark/article/details/125848172。010 Editor 查看十六进制文件,有各种模板,真好用!
2022-10-16 10:41:36
1156
原创 手写ll违背了SSA的例子
一段.ll文件,手写的,看似没问题,其实违背了SSA; factorial.lldefine i32 @factorial(i32 %val) {entry: %i = add i32 0, 2 %temp = add i32 0, 1 br label %check_for_conditioncheck_for_condition: %i_leq_val = icmp sle i32 %i, %val br i1 %i_leq_val, label %f
2021-03-11 07:32:21
171
原创 Ubuntu clang编译修复问题stddef.h not found
说起来有些惭愧,我在Ubuntu编译clang后,一个小demo都没编译出来#include <stdio.h>int main(){ printf("Hello World!"); return 0;}想生成LLVM IR 学习梳理一下。clang -emit-llvm -S hello.c报的是个 stddef.h not found 的错误,网上查了一圈,13年的帖子说是clang在Ubuntu上的bug?我是基于LLVM 8.0.1构建的工程(构建可参考)
2021-02-28 22:41:35
5813
原创 LLVM学习怎么找材料
简单写一下,可以做一个聚合搜索,官方教程,代码文档,自带example,单元测试pdf书籍,英文中文论坛,Hello LLVM社区,HelloGcc社区博客论坛:微信公众号/Medium/优快云/简书/掘金/博客园,等等LLVM社区,bug issue国外大学的Mooc、ppt,LLVM是国外大学创建的程序分析论文,会议OSDT等github/gitee/gitlab/bitbucket等repo/gist,说不定有总结性的仓库国内一些大学、研究院的订阅号有了资料,还要评价资料的维
2021-02-20 08:10:22
149
原创 gdb调试技巧.gdbinit
找到一篇gdb调试STL,解引用容器的.gdbinit配置。http://www.yolinux.com/TUTORIALS/GDB-Commands.html适合GDB 4.3+。Data typeGDB commandstd::vectorpvector stl_variablestd::listplist stl_variable Tstd::map<T,T>pmap stl_variablestd::multimap<T,T>
2021-01-23 09:22:02
344
1
原创 正则表达式的一些使用小例子
将非标准的库函数替换将itoa替换为sprintf,程序放到Linux下运行搜索itoa\((\S*?),(\S*?),(\S*?)\),替换为sprintf($2,"%d",$1)。如:itoa(sum,fplace,10) --> sprintf(fplace,"%d",sum)
2021-01-22 08:09:26
1186
原创 常用代码优化的分析方法
整理成表格: 代码优化 技术 优化范围 删除全局公共子表达式 可用表达式分析 全局优化 删除局部公共子表达式 DAG 局部优化 删除无用代码 活跃变量分析 局部优化 删除无用复制语句(复制传播) 复制传播:活跃变量分析(du
2021-01-10 16:03:55
753
1
原创 哈工大陈鄞配套版本 MOOC 第19讲 代码优化4 测验答案
坐标:编译原理,代码优化1.删除公共子表达式需要用到以下哪种数据流分析技术(C )。A.到达定值分析B.活跃变量分析C.可用表达式分析D.以上都不正确2.复制传播需要用到以下哪种数据流分析技术(C)。A.到达定值分析B.活跃变量分析C.可用表达式分析D.以上都不正确3.删除无用代码需要用到以下哪种数据流分析技术(B)。A.到达定值分析B.活跃变量分析C.可用表达式分析D.以上都不正确4.识别循环不变...
2021-01-08 00:14:13
1111
原创 记忆数据流方程
写下我记忆数据流方程的小技巧,其实就是记忆方法啦可用定义分析:ouage kill 四连杀活跃变量分析:in use out door 在户外使用可用表达式分析:
2021-01-06 23:44:39
147
原创 哈工大陈鄞配套版本 MOOC 第18讲代码优化3 测验答案
坐标:编译原理,代码优化1单选(1分)以下属于逆向数据流问题的是(C )。A.到达-定值分析B.寻找支配结点C.活跃变量分析D.可用表达式分析2单选(1分)以下说法不正确的是(C )。A.对于变量x和程序点p,如果在流图中沿着从p开始的某条路径会引用变量x在p点的值,则称变量x在点p是活跃的,否则称变量x在点p不活跃B.变量在某点活跃,表示变量在该点的值在以后会被使用C.对于活跃变量问题,一个基本块B的OUT值等于它的所有后继基本块S的IN值的交...
2021-01-06 00:59:54
401
原创 到达-定义分析,以一个问题为例
下图中,可以到达基本块B3的入口处的定值集合是 。计算gen[B]和kill[B] 基本块 gen[B] kill[B] B1 {d1,d2} {d6,d7} B2 {d3,d4} {d5} B3 {d5,d6} {d1,d3} ...
2021-01-03 18:20:52
2120
1
原创 三种数据流分析的方程、用途
坐标:编译原理,代码优化数据流分析的应用引用定义链的到达-定义分析(前向数据流问题)、活跃变量分析(逆向数据流问题)、可用表达式分析。在每一种数据流分析应用中,都会把每个程序点和一个数据流值关联起来。基本上这个程序点是基本块层级。基本块的数据流分析方程B:基本块,IN[B]: 紧靠基本块之前的数据流值,OUT[B]: 紧随基本块之后的数据流值,fB: 基本块B的传递函数。注意数据流的方向。正向:教课书中则是这样的数据流方程,S是一条语句其中,gen[S]是在S中...
2020-12-31 23:52:39
3381
原创 哈工大陈鄞配套版本 MOOC 第17讲 代码优化2 测验答案
坐标:编译原理,代码优化1单选(1分)数据流分析的主要应用不包括(D)。A.活跃变量分析B.到达-定值分析C.可用表达式分析D.自然循环分析2单选(1分)以下说法不正确的是(B)。A.在每一种数据流分析应用中,都会把每个程序点和一个数据流值关联起来B.一个语句之前和之后的数据流值不受该语句的语义的约束C.数据流分析是一组用来获取程序执行路径上的数据流信息的技术D.大部分全局优化是基于数据流分析技术实现的3单选(1分)以下说法不正确的是©。A.传递函数有两种风格,一种是信息沿执
2020-12-30 13:36:32
410
1
原创 哈工大陈鄞配套版本 MOOC 第16讲 代码优化1 测验答案
坐标:编译原理,代码优化1. 代码优化的种类局部优化和全局优化。一般先局部后全局。代码优化主要由三部分组成:控制流分析、数据流分析和变换。2.什么是基本块和流图基本块是进行局部代码优化的单位,其他优化则为全局优化。基本块是只能从它的第一条指令进入并从最后一条指令离开的最长的指令序列。流图是代码优化器对代码的中间表示,在流图中边表示控制流,节点表示基本块。3.流图中的结构——循环:具有唯一入口的强连通子图。4.常见的代码优化,及其范围程序的控制结构很...
2020-12-29 00:42:12
454
原创 视觉计算预备知识—第一章(1)—数据
坐标:计算机视觉,基础知识这里是摘录的知识点,关于其总体的、系统化的理解还是看书好。可视化二维图像可视化,在某点(x,y)处,颜色函数R(x,y)、G(x,y)、B(x,y)混合的呈现视觉效果。可以通过高度场,形象的理解三维的可视化数据。采样采样的过程是离散化,通过采用的离散函数来重建连续函数,所以采样要充分,真实反映原连续函数。以2倍的频率采样,被叫做奈奎斯特采样率,该采样能对正弦波充分采样。错误的采样频率导致了冒名顶替,而这种现象叫混叠效应。普通信号可以通过傅里叶分解为正余弦波
2020-12-28 23:36:11
389
原创 哈工大陈鄞配套版本 MOOC 第15讲 运行存储分配 测验答案
1单选(1分)在目标代码生成阶段,符号表用于(D)。A.语法检查B.语义检查C.目标代码生成D.地址分配2单选(1分)PASCAL语言中过程声明的局部变量地址分配在(A)。A.被调用者的数据区中B.公共数据区中C.主程序的数据区中D.调用者的数据区中3单选(1分)编译方法中,动态存储分配的含义是©。A.都不正确B.在编译阶段为源程序中的量进行分配,运行时可动态调整C.在运行阶段为源程序中的量进行分配D.在编译阶段为源程序中的量进行分配4单选(1分)运行阶段的存储组织与管
2020-12-27 16:38:18
881
原创 哈工大陈鄞配套版本 MOOC 第20讲 代码生成 测验答案
坐标:编译原理,代码生成什么目标程序?.o文件。什么是目标代码? 目标代码可以是:1)绝对地址的机器代码(即机器语言程序),2)也可以是相对地址的机器代码,3)还可以是汇编代码(即汇编语言程序)。 代码生成阶段的工作?代码生成阶段是编译程序的最后一个阶段,所以是编译程序都有的阶段。在目标代码生成阶段,符号表用于地址分配。代码生成阶段由代码生成器完成,需要依赖目标机器的体系结构、指令系统和操作系统。其中存储管理、指令选择、寄存器分配和计算顺序都是代码生成器要考虑的问题。
2020-12-26 00:20:46
467
原创 Linux lvm 扩容
LLVM编译需要较大的磁盘空间,几十个G也不够。以下在VMare Ubuntu 16.04 下LVM的过程中截了几张图,有些没有截下来,以下总结一下流程,有图的贴图。首先是现象,前几次编译,基于LLVM最新版本总是编译到一半就失败,有一次切换到3.8版本反而成功了。这次找到原因是磁盘空间不够。df -h查看剩余磁盘大小。VMWare 调整磁盘空间。增加了30G磁盘空间。这个关闭虚拟机,设置磁盘空间,扩展即可。但是我按照的Ubuntu使用的是逻辑卷存储,需要扩容一下分区,命令行不熟,找了一个使用g
2020-11-22 22:27:44
451
原创 查找包含 TAB的文件
查找包含 TAB的文件grep -e $'\t' src/ -rn | awk -F"[ :]" '{print $1}' | grep -v '^C|uniq > /tmp/tab.files
2020-11-14 09:41:08
370
原创 KMP算法C++实现
#include <bits/stdc++.h>using namespace std;constexpr unsigned ARR_LEN = 10000;void calcNext(int next[], unsigned n, char match[]){ next[0] = -1; next[1] = 0; int cn = 0; unsigned pos = 2; while (pos < n) { if (ma
2020-11-02 08:33:04
199
原创 大整数阶层N!
#include <bits/stdc++.h>using namespace std;const int DEMICAL = 10;vector<int> multiply(vector<int>& a, int b){ vector<int> c; int t = 0; for (int i = 0; i < a.size(); i++) { t += a[i] * b; c
2020-08-31 09:16:12
152
原创 高精度乘高精度
#include <bits/stdc++.h>using namespace std;const int DEMICAL = 10;void input(string s, vector<int> &bigNumber){ while (!s.empty()) { bigNumber.push_back(s.back() - '0'); s.pop_back(); }}vector<int> m
2020-08-30 16:36:03
212
原创 高精度减法
// a >= bvector<int> minus(vector<int>& a, vecotr<int>& b){ vector<int> c; int tmp; int i = 0; while (i < a.size()) { t += a[i]; if (i < b.size()) { t -= b[i];
2020-08-29 21:24:42
128
原创 C++ 使用lambda 排序
#include <bits/stdc++.h>using namespace std;int main(void){ int arr[10] = {1, 9, 4, 5, 2, 8, 3, 7, 6, 10}; sort(arr, arr + 10, [](int &a, int &b) { return a < b; }); for_each(arr, arr + 10, [](int &a) { cout << a
2020-08-27 23:39:57
1525
完美洗牌问题线性算法的论文.rar
2020-05-20
MSI 微星 SCM(System Control Manager)原装应用
2020-02-04
Nomad and next-generation application architectures Presentation.pdf
2019-07-09
系统编程 分布式应用的设计与开发
2018-12-17
构建跨平台APP HTML 5+PhoneGap移动应用实战_PDF电子书下载
2018-11-25
第三方JavaScript编程
2017-11-09
学习响应式设计
2017-11-09
HTML5与WebGL编程
2017-11-08
hadoop-lzo-0.4.20-SNAPSHOT.jar
2016-08-31
Java SE 8 for the Really Impatient 写给大忙人看的Java SE 8 源码
2016-07-14
《算法帝国》——《纽约时报》斯坦纳又一力作
2015-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人