- 博客(1698)
- 收藏
- 关注
原创 【转】林雪萍:中国机床的春天
林雪萍| 中国机床的春天2025年04月22日 00:02北京机床是工业母机,过去多年一直让人操心不少。中国机床是一个万亿产值的行业,但利润率只有百分之2.5。机床工具全行业企业数量超过1.6万家,而机床主机也近5000家。厂家数量太多,利润自然也差强人意。细节看过去,依然是窟窿百出。但这两年中国机床还是取得了不小的突破。中国制造增加值占比全球的1/3左右,而2024年中国机床产值则超过了全球的1/3,机床消费额也是全球1/3。“三个1/3”意味着机床就是中国制造水平的最精确指针。
2025-04-25 10:59:09
605
原创 【转】愚夫:Jane Street防抖动简明教程
• 猜错的代价:如果 CPU 猜错了(比如分支预测错误,或者等待的数据终于来了发现之前推测执行的基础是错的),它就必须扔掉所有推测执行的结果,清空一部分流水线,再从正确的地方重新开始。比如,买频率更高、时序更紧的“电竞内存条”(带 RGB 灯的那种),换个体质更好、可以超频的 CPU,再配上强大的水冷散热系统,把 CPU 超到一个更高的稳定频率。• 用在自旋等待循环里,告诉 CPU:“老兄,我这是在等东西呢,你先别瞎猜执行后面的指令了,也让我这个核心稍微歇歇,省点电,别影响隔壁超线程兄弟干活。
2025-04-22 13:57:03
915
原创 Rust: 从内存地址信息看内存布局
同时,56个字节的分配,从各字段看,第1部分,分配的是field3(24个字节,因其占用最大,排在第1个),其通过3个align结构(8+8+8)来进行安排;它的alignment是8。在最后4个字节中,field6,field7已经用掉了2个,还有2个空的(alignment padding)。内存布局其实有几个:address(地址)、size(大小)、alignment(对齐位数,2 的自然数次幂,2,4,8…(2)接下来是field1,field2,field4,field5,依次占了1个字节。
2025-04-21 17:16:12
581
原创 Rust : 关于*const () 与type erase
const () 可以替代泛型,更加灵活。下面举了两个完全不一样的数据结构Foo和Bar;以及不同的函数,来说明。
2025-04-16 17:14:56
423
转载 Rust: 十亿行数据挑战,从 5 分钟到 9 秒的历程
有趣的是,在查看 fast-float 的 GitHub 仓库时,我发现这个仓库中使用的技术现在已经合并到标准库核心的 parse 方法中了。read_to_string 在系统调用次数方面效率很高,但它有个缺点,就是会产生大量不必要的内存使用,并且每行都需要重复分配拥有所有权的 String,之后又将其丢弃。虽然对于中等长度的键,它的性能很有竞争力,但对于像整数这样的小键以及像长字符串这样的大键,其他哈希算法的性能会更优,不过那些算法通常无法防范诸如哈希拒绝服务攻击(HashDoS)之类的攻击。
2024-12-27 10:02:44
181
原创 Rust : tokio中select!
但这个选择是通过异步同时执行所有的”条件任务“PK出来的,就相当于共有3位运动员跑1000米,首先冲过终点的人,拥有”执行后续任务“的权利,并执行。当确认了首先冲过终点的人后,其它的人就不用跑了,被"抛弃"了,这些被”抛弃“的人,也没有权利完成其”执行后续任务“。中“抛弃”和“后续执行”策略。1、A和B条件任务均执行,但B任务提前完成,此时A任务未完成部分"抛弃"1、A和B条件任务均执行,但A任务提前完成,此时B任务未完成部分"抛弃"1、A和B条件任务均执行,但A任务提前完成,此时B任务未完成部分"抛弃"
2024-12-26 08:49:46
636
原创 Rust: offset祼指针操作
其实,你可以通过offset函数源码,可以了解更清楚,在offset内部,会再以bytes的倍数进行check_add。offset是偏移元素个数,不是字节数!
2024-12-24 08:54:02
491
原创 Rust : 生成日历管理markdown文件的小工具
可以输入任意时间段,运行后就可以生成以上的markdown文件。拟生成以下markdown管理小工具,这也是我日常工作日程表。
2024-12-02 16:40:24
884
原创 Rust : FnOnce、线程池与多策略执行
如果需要让每一个函数都分配一个线程来执行这些函数(任务),或者用一个线程池来执行函数,这个时侯就可以用上场了。在线程池中,FnOnce是一个其中的灵魂。他可以把所有的函数进行抽象统一,便一管理和执行。一、问题:mpsc如何发送各类不同的函数?二、线程池的应用:发送函数有什么用处?
2024-10-15 10:38:42
799
转载 Rust: 实现 async/await的详细代码【来源脚本之家】
实际上,Rust 选择将 executor 的实现交给第三方,自己只保留相关的交互接口(我在隔壁C++看了看,似乎也是一样的做法,并没有一个官方的 executor 实现,我唯一所知的在语言层面提供支持的只有Golang 的 goroutine)。值得注意的是,在第一种情况下,所有的 Future 都 poll 了一遍,FuturesUnordered 会调用一次 wake,告诉 executor FuturesUnordered 已经运行了一个轮回,wake 具体的实现则取决于 executor。
2024-09-18 13:27:25
632
原创 Rust : 从事量化的生态现状与前景
尽管做适不适合的评价,有点不太靠谱的。就象“黑神话:悟空”,你在设计之前,不同的技术选型,也一定是结合自身的特点和工具、平台自身的优劣来得出来的,可能有一些无奈,可能也有一些经验。回到最初的问题上:在策略开发上,是否适合,这个取决个人的水平,出活快就适合,出活快就算了;即使是一件确定的事呢,也会有不同的答案,因此不同的人,自然有不同的看法。角色和场景不同:有人做策略开发,有人做策略部署,有人做全栈,有人做风控或绩效评估等;语言精通水平不同:有人出神入化,有人只懂皮毛,出活有快有慢,自然会得出不同的结论。
2024-09-06 16:36:07
1728
原创 Rust :也谈Json与转换
serde_json常见方法是from_str()、from_value(),from_bytes()、from_reader()。Json类型是一种重要“可读”的数据类型,用到的地方很多,Rust在Json上各种处理还是很人性化,使用起来也很方便。不管是创建类似python dict类型,还是从字符类型来生成,都是很方便的。也就是说,可以从字符串,从文件,从字节都可以转换至特定或不特定的对象。2、分有类型与Struct的转化和无类型(Value)两种。1、Json如何创建?
2024-09-03 17:48:13
697
原创 Rust: Web框架Axum和Rest Client协同测试
在vscode中下载Rest Client插件后,通过创建以.http 或 .rest为结尾的文件,进行http请求测试。具体Rest Client功能很强大,这里只介绍,与Axum配合测试的方案。Axum作为Rust当红Web框架,值得了解一下。下面实例包括几个典型的常场场景。涉及到简单路由和提取器等,包括主要类型的文件形态的处理。二、Rest Client工具协同测试。
2024-08-29 17:55:53
833
原创 Rust : 数据分析利器polars用法
需要说明的是,在Rust中,不少的功能都需要对应features引入设置,这些需要特别注意,否则编译通不过。Polars虽牛刀小试,就显博大精深,在数据分析上,未来有重要一席。部分函数功能还没有完成,用todo标示,请大家注意。以下polars的版本是0.41.3。下面主要列举一些常见用法。
2024-08-16 13:24:42
945
4
转载 聚宽揭秘:为什么量化研究员喜欢在Kubernetes上使用Fluid简化数据管理 ?
我们以 Kubernetes 为底座,同时使用了阿里云 NAS,OSS,SLS,GPU 共享调度,HPA,Prometheus,Airflow, Prometheus 等云和云原生技术,得益于其计算成本和易于规模扩展的优势,以及容器化在高效部署和敏捷迭代方面的长处,囊括了越来越多的计算场景,例如海量金融历史数据驱动的因子计算、量化模型训练、投研策略回测等。通过应用预热和按照业务规律进行扩缩容操作,Fluid 帮助客户在高峰时快速扩展计算资源,同时通过维护自我管理的数据缓存,实现数据缓存吞吐的动态弹性控制。
2024-07-23 10:03:59
329
原创 Rust: 关于Pin以及move前后分析
(2)自引用结构move后,可以看见:尽管对象的struct内存地址发生变化后,但对象中的content的地址也发生了新的变化,但对象中的自引用对应指针并没有变化(还是指向move前的对象的content地址),并没指向新对象content所对应的内存地址。不知大家注意到没有,上面的代码,SelfRef对象被安排了2次move,但是经过2次move的对象,其自引用指针的内存还是指次第1次move前的对象的地址位置。UnPin是trait。需要说明的是,如果对象是unpin的,再如何Pin也是pin不住的。
2024-07-08 18:33:35
810
原创 Rust: 高性能序列化库Fury PK bincode
对于二进制库来讲,据Fury官网的介绍,Fury性能要远远好于protobuf,且不象protobuf还需要定义IDL(即写.proto文件),非常轻便,随取随用。3、从序列化的内容对比来看,对应的u8字列向量,Fury的长度为114;1、对于Fury库而言,大家可以比较一下,不同结构序列化和反序列化的性能。在序列化库中,传统的有Json,XML,性能好的有thrift,protobuf等。不管是序列化和反序列化。目前Rust Fury库,还是初期,还是建议在github官网中,下载到本地。
2024-07-05 17:07:36
910
原创 Rust: polars行遍历,从dataframe到struct及Bar设计比较
由于polars底层的arrow是列存储模式,行操作效率低下,官方也不推荐以行方式进行数据操作。场景:polars读取相应的关于历史股价的csv文件,其中有基本的行情信息,那么,如何对读取到的文件进行快速的行遍历?pandas提供了iterrows()、itertuples()、apply等行遍历的方式,还是比较方便的。polars对features的设置要求高,有些用到的特性需要准确打开,否则代码编译会通不过。此外,dataframe转bars的效率并不高,期待找到更高效的方式替代。
2024-07-02 11:20:33
1268
原创 Rust: duckdb和polars读csv文件比较
结论:从上面的样本来看,分别用duckdb和polars来读csv两个不同大小的文件,polars有较明显的优势。
2024-06-26 15:55:16
1087
原创 Rust : windows下protobuf和压缩传输方案
proto文件中主要模拟了一个dbpystream中一个get_price函数的输入和输出的格式,输入HistoryBarRequest ,输出HistoryBarResponse。HistoryBarResponse中,有代码名称,日期,开盘价,最高价等。上面polars,chrono,prost-types,prost-build,prost是关键库,其它暂时可以不看。可见,在src/目录下,创建了一个pb文件夹,存放未来生成的dbdata.proto文件。四、原始数据、main.rs。
2024-06-08 16:30:03
1398
1
转载 【转】Rust 解码 Protobuf 数据比 Go 慢五倍?记一次性能调优之旅
原本 WriteRequest 需要完整解析出来之后才会转换为 GreptimeDB 的 RowInsertRequest,我们去除了中间结构,直接在反序列化 WriteRequest 的过程中直接将 TimeSeries 结构转换为表维度的写入数据,从而减少了一次对所有时间线的遍历(#3425[13],#3478[14]),也降低了中间结构的内存开销。在本文中采取了一个折中的办法即通过 unsafe 方法绕过 Bytes 的引用计数机制,手动确保反序列化的输入 buffer 在输出的整个生命周期内有效。
2024-06-05 10:21:45
386
转载 【转】Protocol Buffers 编译器 (protoc)在 Windows 中怎么安装
Protocol Buffers(简称为 protobuf)是一种由 Google 开发的轻量级、高效、可扩展的数据交换格式。它的编译器(protoc)用于将.proto 文件编译成不同编程语言的源代码,以便在各种平台上使用。以下是在 Windows 上安装 Protocol Buffers 编译器的步骤。Protocol Buffers 编译器 (protoc)在 Windows 中怎么安装。2、找到win64-zip,下载。相关步骤见,很详细。
2024-06-05 09:08:00
936
原创 Rust : 声明宏在不同K线bar类型中的应用
Rust的宏功能博大精深。在K线bar中,往往有很多不同分时k线图,比如1,2,3,5,。60,120,250,300…我们先考虑,impl_single_bar接受单一的类型参数,比如Bar1,Bar3,Bar5,…如果不用宏,那么手写会比较麻烦。下面就试用一下宏来实现不同类型的bar.这里就需要用到rust宏的重复的写法。这里不特别展开,相关的资料很多。为了简单起见,我们把不同分时的Bar抽象成下面的结构。这样的确方便了一些,但是因为参数是一个个输入,需要。每一个类型,写一行函数,还是不太方便。
2024-05-04 14:08:15
873
原创 Rust : condvar中一对一和多对一模式初探
但其它典型的场景可能还有多对一,不断发送通知给一个接收者。假定一个员工收到一个任务,就是模拟是一个时间片,到时了,就会触发通知发出(notify_one)。要注意notify_one()到wait()这个过程,需要特别小心,否则可能会想象中不一样。condvar是不经常碰到的,但其实在tokio之类库中,还是非常核心的作用。通过Mutex中包裹一个Hashmap结构,来对多个通知的状态进行管理。想进一步体会condvar的使用,还是从场景出发。一、一个通知发送者,一个接收者。二、多个通知者,一个接收者。
2024-04-19 13:28:31
624
转载 陈果:日本软件行业衰败究竟是做错了什么?中国该如何吸取教训
日本软件行业衰败究竟是做错了什么?中国该如何吸取教训原创 GEORGE陈果 陈果George 2024-01-05 00:08 上海【陈果按】去年初我在《中欧商业评论》上发表的《企业管理软件的中国模式》文章,提出了中美日软件模式的比较,一年多来受到了国内业界广泛关注。今天我将加州大学伯克利分校哈斯商学院名誉教授、五十多年来一直研究日本产业和信息技术对组织影响的罗伯特·科尔以及日本学者中田喜文教授发表在《加州管理评论》2014 年 11 月刊上《日本软件行业:什么搞错了以及我们如何吸取教训The Japa
2024-04-15 17:26:18
508
原创 dbpystream:证券股票数据服务API开源
基于上面的痛点 ,dbpystream的目的是根据自身的业务需要,把企业内部的数据进行服务化,让企业内的员工能方便得到数据服务,而不再让数据服务只是一小部分人的特权,让数据可以在更广泛的层面得到充分的利用,并发挥数据驱动业务的价值。dbpystream只做整合部分,不能替代供应商API,是对供应商API服务包装,为了让服务更好的落地,而供应商API做的是一套完整的生产和质量管理流程。供应商的API的服务质量是dbpystream的天花板,没有优秀的供应商服务(源头),就不可能有好的内部服务。
2024-03-01 18:05:26
709
原创 Python:关于数据服务中的Web API的设计
需要说明的是,这里讨论的是web api前后端,当然还有其它方案,thrift,grpc等。在web api的基础上,可以提供封装sdk库,供前端函数式调用服务或纯手动写restful api 的方式,自己封装调用函数服务。可以考虑在前端提供不同的选择,比如,是python sdk模式(提供安装包),还是纯restful模式(手写post,get等),以及不同的语言选择,来指定特定后端的序列化和压缩库的选择,便于前端有更好的适用性和体验。不仅需要考虑性能,选择读写高效的库,而且还要考虑跨语言的问题。
2024-02-29 08:49:10
935
原创 Rust: reqwest库示例
主要看tokio和reqwest设置就可以了。其它是个人其它的库,没有删除。也可以处理中文字符的问题。cargo.toml文件,同上。二、异步处理多个任务。
2024-02-22 17:15:15
1159
转载 简评新《公司法》对基金公司治理等方面的影响——从公司章程修订的视角
新《公司法》调整了法定代表人的选任范围, 从原《公司法》规定的董事长/执行董事或经理担任, 调整为由“代表公司执行公司事务的董事或者经理”担任。对于此等规定, 同前文关于“不应删除监事会/监事设置”的分析, 根据《公募管理人管理办法》第二十九条、第三十四条等证监会相关监管规则的要求, 董事会同样是基金公司必备的内部治理机构, 且由于基金公司董事会中独立董事人数和比例的强制性监管要求在原《公司法》允许不设董事会的规定下即已存在, 在新《公司法》施行后基金公司仍应按证监会的监管要求保留董事会的设置。
2024-02-21 14:54:55
564
转载 幻化成风:Rust使用SMTP发邮件
当然,需要在QQ邮箱内,进行手机绑定后,生成相应的授权码,把授权码替代“ Email::new(“demo@qq.com”, “xxx”, “smtp.qq.com”),”中"xxx"。// 发信人邮件列表,要改成自己的(邮箱地址改成自己的;说明文章来源于:Rust使用SMTP发邮件 - 幻化成风的文章 - 知乎。password, // 邮箱的密码或者授权码。本人已经对QQ邮件进行了验证,是Ok的。一、Rust使用SMTP发邮件。下面的代码会用多线程发送邮件。以上的代码来自于知乎。
2024-02-20 09:48:30
672
转载 什么是信创?信创涉及哪些方面?如何申请成为信创产品?
N”则指的是汽车、物流等各行各业。硬件领域分为底层硬件和基础设施,其中底层硬件包括芯片、固件等,业界将鲲鹏、飞腾、海光、兆芯、龙芯、申威这六大国产芯片统称为“国产CPU六君子“,基础设施包括存储设备、整机和通讯设施等,代表公司有清华同方、晋华、紫晶存储等。信创未来发展空间巨大,也是大势所趋,信创产业将会蓬勃发展,随之而来的是,各信创产业链环节都将会出现强劲的信创产品,我国实现真正的自主创新,信创也将引领各行各业实现数字化升级浪潮,从而整体实现数据安全、网络安全、自主创新、数字经济的辉煌局面。
2024-01-16 09:44:41
4857
转载 私募量化的2023:依旧美好
从管理人维度中位数可以看到,2023年全年1000指增超额约15%,500指增超额约11%,300指增超额约7%,比私募指增指数的业绩稍微高一些。以500指增为例,2023年大多数头部管理人的超额都在10%以上,回撤都在2%以内,反映出2023年市场风格连续性较强,尤其是小微盘大行其道的行情下,超额稳定性较高。规模永远是它自身业绩的敌人,受制于市场交易量和策略容量,如果无法及时更新迭代策略,适应市场风格,提高交易能力,仅仅是放松风控,加大偏离博取风险收益,规模魔咒会对业绩形成反噬。
2024-01-12 09:56:20
270
转载 央行重磅发布!2022年度金融科技发展奖10家基金获奖
一位公募从业人员说道。促进创新和业务拓展方面,在永赢基金看来,随着金融科技的不断发展,特别是大数据、人工智能等新技术的应用,公募基金通过数据洞察可以更精准地挖掘客户的需求,通过人工智能的应用可以拓展包括智能服务、智能投顾、智能营销等业务场景,金融科技也推动跨行业的新的业务模式和服务的不断涌现。首先,金融科技在数据分析与处理方面的应用为投资研究领域带来了革命性的变化,利用大数据分析、人工智能等技术,资管机构能够获得更深入的市场洞察,识别投资机会,同时通过精准的风险控制策略,实现对市场的敏感响应。
2024-01-10 14:48:17
359
转载 李博杰:A100/H100 太贵,何不用 4090?
哦,只剩下 HBM 了,当前 DRAM 市场疲软得都快要死掉一家的鬼样了,即使是 HBM3 大抵都是亏本在卖,差不多只需要 $15/GB,嗯,80GB 的容量成本是 $1200。就如最开始说的,在这个世界的商业规则下,$2000 成本的东西卖 $30000,只有一家,销售量还很大,这是不符合逻辑的,这种金母鸡得有航母才守得住。封装和风扇这些东西,算它 $300。我在 LA 已经住了两周,公司租的房子使用面积是我北京房子的 4 倍,但售价只贵了 30%,还带个小院,相当于单位面积的房价是北京的 1/3。
2024-01-03 10:08:42
1265
转载 Rust性能优化指南:写出更快的代码
通过深入理解Rust的语言特性和工作原理,你可以写出更快、更高效的Rust代码。记住,最好的性能优化往往来自于对问题的深入理解和对可用工具的正确使用。Rust虽然以其高效性能闻名,但正确的优化技巧能够进一步提升代码的运行速度和资源利用率。今天我们就来详细探讨一些Rust性能优化的关键技巧,并为每种技巧提供具体的代码示例。不同的数据结构适用于不同的场景,正确的选择可以显著提高性能。Rust的迭代器和闭包是处理集合数据的强大工具,能够写出既简洁又高效的代码。Rust的并行处理能力是其性能优化的重要方面。
2023-12-06 13:50:50
636
转载 Atom Capital:大模型在金融领域落地,想说爱你不容易
梳理目前LLM与金融领域结合的项目时我们发现,保险领域是LLM应用最多的方向,在保险的销售、承保、出险等各个环节,都有创业公司在尝试,保险是个从业者众多,销售及售后服务流程复杂的行业,LLM的信息抽取整合能力、对用户意图的识别及沟通能力,能够很好地帮助提升保险行业的效率及客户体验。如营销、客服等,LLM技术的介入有助于提升客户体验与转化率,也有可能帮助金融机构开发出新的市场——当服务用户的成本进一步下降,新的增量市场就会出现,触达那些之前无法得到金融服务的人群,正如之前很多Fintech公司所做到的那样。
2023-10-04 09:40:34
649
原创 CTP:关于cc和bindgen库及rust工程组织
在这个目录下,建一个build.rs,用bindgen库生成cpp.h的头文件相应的rust绑定文件,生成的文件放在ctp-api目录下。这里去除了test,这里这样设置就可以了 .layout_tests(false),否则文件太长了,6-7万行。由ctp-sdk下的build.rs生成(在ctp-sdk下运行cargo build --release).。主要的目的是基于bindgen库生成与cpp的.h文件相对应一个binding.rs文件,后面供策略使用。主要是对ctp进行相关的组织。
2023-09-29 22:38:24
2543
1
原创 Rust :mod.rs和lib.rs中use的作用
在上面rusttoc库中,在src目录下,除了有lib.rs文件,还有一个bar文件夹,在这个文件夹下,还有3个.rs文件,其中包括一个mod.rs文件。当然,如果一个库中,包含若干个子库,那也会存在多个不同层次的lib.rs的文件。在每层mod.rs和lib.rs文件中,要通过use来约束对外开放的程度和范围。很显然,mod.rs是把data.rs和ffi.rs综合在一起对外开放的文件。而lib.rs是在rusttoc这个层次,综合起来的一个对外开放的文件。一、mod.rs和lib.rs。
2023-09-27 16:15:58
3108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人