22 天前 / Yourtion
译者 | 卢鑫旺、云昭策划 | Ethan 编程语言各有各的“大能”,但如果谈到内存管理,Rust 的话语权不是一般的高。GC(垃圾回收)?手动分配?对于掌握了 Rust 奥义的开发者而言,这些词汇简直弱爆了。 众所周知,Rust 编程语言的主要卖点之一是它的内存安全性。Rust 对待内存,非常有自己的个性。 与使用垃圾收集器的编程语言 ( 如 Haskell、Ruby 和 Python)不同,Rust 为开发人员提供了快速功能,能够以一种独特的方式高效地使用和管理内存。
23 天前 / Ken_Fang
Wasm Machine Learning Platform整合 "WebAssembly"、 "深度学习"、"图形支持机器学习"、"云原生微服务"、"区块链" 打造更开心、更健康、更有价值的产品开发生态系统
57 天前 / Aceyclee~
今年一月,开源高性能深度学习推理引擎OpenPPL 正式支持 RISC-V。随着夏天的到来,OpenPPL 继续在 RISC-V 上发力,并取得了较为显著的性能优势,欢迎体验! PPLNN 第二期新增算子 / 网络支持 1. 语义分割算子:Exp2. MMCV 算子:NonMaxSuppression GripSample RoiAlign 3. 目标检测算子:4. 语义分割网络: 5. 目标分割网络: 6. 第二期网络性能数据: PPLCV 算子支持 本次 PPLCV 新增了对 RISC-V 平台的支持,具体如下:使用了新版本的intrinsic,版本兼容性更强,支持了动态向量长度; 在算子实现上,考虑到cv算子多通道格式、多数据类型等的灵活性...
63 天前 / hyper0x
IOC(inversion of control)即控制反转,是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。IOC-golang 是一款服务于 Go 语言开发者的依赖注入框架,基于控制反转思路,方便开发人员搭建任何 Go 应用。在本文中,我不会罗列这个项目的种种功能与实现,而是站在开发者的角度,谈一谈我认为 Go 应用开发的“理想姿态”。 项目背景 在面向对象编程的思路下,开发者需要直接关心对象之间的依赖关系、对象的加载模型、对象的生命周期等等问题。
71 天前 / 高性能架构探索
你好,我是雨乐! 最近在知乎上看了篇帖子,题目是为什么 C++ 没有 C 语言快,如下图: 恰好之前研究过这块,所以借助本文,分析下这个问题(无意于语言之争,单纯是从技术角度)。 众所周知,C++ 兼容了 C 的所有功能,显然从所有角度去对比分析是不现实的,所以本文从我们常用的输入输出即标准流(iostream 和 stdio)的角度来分析讲解。 示例为了更加直观地来对比分析,写了个示例,通过 scanf 和 cin 读文件,然后分析两种方式的性能高低,代码如下: #include #include #include #include constintnum=1000000; voidtime_report(conststd::function&f...
75 天前 / reesunhuang
cLoki 是一个构建在 ClickHouse 之上的比较灵活的 Loki 兼容 LogQL API。 内置 Explore UI 和 LogQL CLI 用于查询和提取数据用于查询、处理、摄取、跟踪和报警的原生 Grafana 和 LogQL API 强大的管道,可从日志、事件等进行动态搜索、过滤和提取数据摄取和推送 API 与 LogQL、PromQL、InfluxDB、Elastic 等兼容可与 Promtail、Grafana-Agent、Vector、Logstash、Telegraf 等代理一起使用云原生、无状态的设计 Loki API 及其 Grafana 原生集成非常出色、简单易用 - 但我们更喜欢 ClickHouse。
110 天前 / hyper0x
编译|核子可乐、燕珊 Hare 原意为野兔,它的开发者希望这种编程语言能够如野兔般拥有顽强的生命力。 本周,软件开发者 Drew DeVault 公布了一种名为 Hare 的全新系统编程语言,并用“简单、稳定和健壮”作为核心形容词。那它有什么特别的吗?这回可能还真有。 世界上先后涌现 300 多种编程语言,而 Hare 偏偏把矛头指向了最强大的那个——C 语言。没错,Hare 的目标就是取代过去 50 年来最重要的编程语言。 Hare 的价值主张 DeVault 和大约 30 名项目贡献者已经在 Hare 身上投入了两年半时间。如今成果终于出炉,Hare 面向开发者正式开放。
132 天前 / CoderZh
最近用上了 MacBookPro M1,使用 dotfile 配置好基本环境后,发现我的 vscode 里 C/C++ 开发环境还没配置好。一直以来,vscode 都是我的主力 C/C++ 开发环境,这其中离不开 cquery 插件。2018 年我曾写过一篇文章:《神器:VSCode 的 cquery 插件》。 cquery 在头文件搜索,符号跳转,代码提示和补全等方面都令人满意。甚至在 V8 这样的大型仓库上,官方也有说明如何配合 cquery 进行开发 V8(https://v8.dev/docs/ide-setup#visual-studio-code-and-cquery)。
137 天前 / 浪客书心
问题描述昨天下午,旁边的同事在学习 Linux 系统中的虚拟地址映射 ( 经典书籍《程序员的自我修养 - 链接、装载与库》),在看到 6.4 章节的时候,对于一个可执行的 ELF 文件中,虚拟地址的值百思不得其解! 例如下面这段 C 代码: 首先编译出 32 位的可执行程序 ( 为了避开一些与主题无关的干扰因素,采用了静态链接): gcc -m32 -static test.c -o test 编译得到 ELF 格式的可执行文件:test。 这个时候,使用 readelf 工具来查看这个可执行文件中的段信息 (segment): 上图中的红色矩形框中...
148 天前 / gyreg
“APT”(高级持续性攻击)是一种针对性、隐蔽性、持续性极强的网络攻击行为。现已发现的绝大多数 APT 组织都具有国家或政府背景,相关攻击行为通常由某个与特定国家政府关联的实体机构具体实施。 APT 攻击的主要目标不是普通个体,而是特定的组织机构,包括政府、大学、医疗、企业、科研甚至重要信息基础设施运维单位等不同类型的重要机构。 360 云端安全大脑持续跟踪世界现存诸多 APT 组织及其活动情况,率先发现并公开披露来自美国的世界顶尖 APT 组织对中国境内目标所发起的持续性攻击行动,并将该组织命名为“APT-C-40”。
155 天前 / 白露未晞
导 语 事情是这样子的,前段时间发现自己的代码被 CSDN 上一个备注自己是西南交通大学的学生通过付费专栏的形式售卖,在 CSDN 客服承诺调查之后几个月仍然了无音讯的情况下,我决定自己动手来吐槽一下。 不知道读者里有没有 CSDN 的客服或者西南交通大学的学生,如果有,希望你们理解一下,我的吐槽只针对事件当事人。 吐 槽 一 下 前不久我在 CSDN 上偶然看到了这么一个付费专栏 ( 看到这个专栏的原因是因为专栏作者在知乎上的文章和回答有些就是抄的我的代码,然后他抄袭的内容知乎又推送给我了): 链接在这: https://blog.csdn.net/weixin_42350212/ca...
156 天前 / reesunhuang
作为接触 C++ 开发十年的老鸟,我用两个案例来介绍下如何调试大型 C++ 项目吧。 一、调试 Redis 将 Redis 源码从官网下载下来以后,使用喜欢的代码阅读器进行管理(例如 VSCode、CLion、XCode 等)。我这里使用的是 Visual Studio,如下图所示: 在大致了解了 Redis 有哪些代码模块以后,我们把代码拷贝到 Linux 平台,然后编译并使用 GDB 调试器跑起来。如下图所示: 然后按 CTRL+C 将 GDB 中断下来,输入 info threads 查看当前程序的所有线程: 接着挨个使用 thread + 线程编号 和 bt 命令去查看每个线程的上下文调用堆栈: 对照每个线程的上下文堆栈...
172 天前 / 逗逗
分享嘉宾:王志勇 贝壳 架构师 编辑整理:戴稚晖 陆金所 出品平台:DataFunTalk 导读:贝壳从房产领域的产业互联网角度介绍智能广告投放的挑战、实践和思考。房产互联网是典型的高价值、长周期转化领域,本次分享重点介绍了贝壳 CVR 转化率预估模型在延时反馈问题上的实战经验;贝壳设计了一套实验机制评估 RTA 策略算法带来的增量价值,通过优化出价系数预估模型,转化率相对直投提升 10%+,产业互联网广告主可以借鉴相关经验。
173 天前 / kafeidou
整理 | 于轩 出品 | CSDN(ID:CSDNnews)近日,人工智能非营利组织 OpenAI 的 CTO 格雷格·布劳克曼(Greg Brockman)在推特上发表了他对编程中的一些错误信息的看法。他表示,编程中最不被重视的技能之一就是写出不令人沮丧的错误信息。一个好的错误信息应该是显而易见的,包括:1.用户做了什么;2.可接受的输入是什么;3.如何解决这个问题。这可以决定你对库的爱或恨。 随后,“网络冲浪达人”马斯克在评论区表示了对布劳克曼的认可,甚至还讨论起了编译器的性能。马斯克说:编译器也可以做得更好,但在这方面花费的精力还不够多。
177 天前 / 一日思考
阅读到《深入理解计算机系统》,对 C 指针的理解这一部分内容感觉写的特别好,摘录出来加深理解并作为分享。 指针是 C 语言的一个核心特色,以一种统一的方式,对不同数据结构中的元素产生引用。下面重点介绍一些指针和它们映射到机器代码的关键原则。 每个指针都对应一个类型。这个类型表明该指针指向的是哪一类对象。以下面的指针声明为例:int *ip;,变量 ip 是一个指向 int 类型对象的指针,通常如果对象类型为 T,那么指针的类型为 T*。特殊的 void *类型代表通用指针。