Erik

苹果 M1 芯片预示着 RISC-V 完全替代 ARM?

雨燕双飞 提交于 2021-01-16 12:15:02
来源 | CSDN(ID:CSDNnews) 作者 | Erik Engheim 已获作者翻译授权 译者 | 弯月 责编 | 张文 编者按:M1 芯片性能强劲的背后主要源自两个因素:第一,M1芯片使用了大量的解码器和乱序执行;第二,就是异构计算。本文着重讲解第二点。 在大家了解了 M1 芯片表现之后,你肯定想一探究竟其底层核心是什么,本文将从异构计算开始讲起。 苹果非常热衷于添加多个专用硬件单元的策略,在本文中,我将其称为协处理器(coprocessor): 图形处理单元(GPU),用于图形处理以及其他需要并行处理大量数据的任务(即同时对多个元素执行相同的操作)。 神经引擎,机器学习的专用硬件。 图像处理的数字信号处理硬件。 硬件中的视频编码。 苹果没有在解决方案中添加更多的通用处理器,而是添加了更多的协处理器。你可以称之为加速器。这种趋势并不是新出现的,我从 1985 年开始使用的老式 Amiga 1000 就使用协处理器来加快音频和图形处理的速度。现代 GPU 本质上就是协处理器。Google 的 Tensor 处理单元也是一种用于机器学习的协处理器。 图:Google TPU是专用集成电路(ASIC),我们称之为协处理器。 01 什么是协处理器? 与 CPU 不同,协处理器不能单独存在。只使用协处理器无法造出计算机。协处理器作为专用处理器,可以很好地完成某些特定的任务

今年最值得期待的JavaScript传奇绿皮书登场!

跟風遠走 提交于 2021-01-07 10:57:43
文末送书!!! “能用 JavaScript 实现的东西, 迟早会用 JavaScript 实现” 这句“狂妄”的话,如今正在实现着 …… 今天,博文菌带来一本JavaScript领域的经典之作, 介绍之前,我不得不感叹: 这本书的份量,实在是太重了! 它的厚重不仅体现在, 当你首次读完时 , 能明显感觉到自己对JS的理解有了质的飞跃, 更是体现在, 在你日后的每次翻阅中 , 这本书仍然总能让你有所收获! 它就是有着 JavaScript 传奇绿皮书美名的 《JavaScript语言精髓与编程实践》 ! 在经过了 两个版本的积累和三年的全面重写 后,我们迎来了它的第三版的问世—— ▊《JavaScript语言精髓与编程实践(第3版)》 周爱民 著 本书基于 ES6,并涵盖最新的 ES2019 规范,全面讲述 JavaScript 在五个方面的语言特性,以及将这些特性融会如一的方法。书中不但完整解析了 JavaScript 语言,还逐一剖析了相关特性在多个开源项目中的编程实践与应用,是难得的语言学习参考书。 扫码获取详情 广深共铸 JavaScript宏篇巨著 很多人在工作中,很少会和团队讨论语言相关的问题,大家的话题总是围绕着流行的框架、工具及应用开发实践。而当你审核各种项目的代码时,时常会发现对语言理解不够造成的各种实现问题。 理解自己使用的语言是对每个程序员的基本要求

今年最值得期待的JavaScript传奇绿皮书登场!

故事扮演 提交于 2021-01-07 10:36:11
今天,刀哥带来一本JavaScript领域的经典之作, 介绍之前,我不得不感叹: 这本书的份量,实在是太重了! 它的厚重不仅体现在, 当你首次读完时 , 能明显感觉到自己对JS的理解有了质的飞跃, 更是体现在, 在你日后的每次翻阅中 , 这本书仍然总能让你有所收获! 它就是有着 JavaScript 传奇绿皮书美名的 《JavaScript语言精髓与编程实践》 ! 在经过了 两个版本的积累和三年的全面重写 后,我们迎来了它的第三版的问世—— ▊《JavaScript语言精髓与编程实践(第3版)》 周爱民 著 本书基于 ES6,并涵盖最新的 ES2019 规范,全面讲述 JavaScript 在五个方面的语言特性,以及将这些特性融会如一的方法。书中不但完整解析了 JavaScript 语言,还逐一剖析了相关特性在多个开源项目中的编程实践与应用,是难得的语言学习参考书。 广深共铸 JavaScript宏篇巨著 很多人在工作中,很少会和团队讨论语言相关的问题,大家的话题总是围绕着流行的框架、工具及应用开发实践。而当你审核各种项目的代码时,时常会发现对语言理解不够造成的各种实现问题。 理解自己使用的语言是对每个程序员的基本要求,是实现靠谱应用的基石。 这本书能够帮助你真正理解JavaScript。论深,本书深究JS之所以然,举世无可出其右;论广,本书遍历语义之细部,看罢再无机理之惑

Go语言实战pdf

和自甴很熟 提交于 2020-11-14 11:59:17
下载地址: 网盘下载 内容简介 · · · · · · Go语言结合了底层系统语言的能力以及现代语言的高级特性,旨在降低构建简单、可靠、高效软件的门槛。本书向读者提供一个专注、全面且符合语言习惯的视角。Go语言实战同时关注语言的规范和实现,涉及的内容包括语法、类型系统、并发、管道、测试,以及其他一些主题。 作者简介 · · · · · · William Kennedy,是一位熟练的软件开发者,也是博客GoingGo.Net的作者。 Brian Ketelsen和Erik St. Martin是全球Go语言大会GopherCon的组织者,也是Go语言框架Skynet的联合作者。 李兆海,多年专注于后端分布式网络服务开发,曾使用过多个流行后端技术和相关架构实践,是Go语言和Docker的早期使用者和推广者,《第1本Docker书》的译者。作为项目技术负责人,成功开发了百万用户级直播系统。 目录 · · · · · · 第1章 关于Go语言的介绍 1 1.1 用Go解决现代编程难题 2 1.1.1 开发速度 2 1.1.2 并发 3 1.1.3 Go语言的类型系统 5 1.1.4 内存管理 7 1.2 你好,Go 7 1.3 小结 8 第2章 快速开始一个Go程序 9 2.1 程序架构 9 2.2 main包 11 2.3 search包 13 2.3.1 search.go 13 2

Android Retrofit2.0+RxJava3.0 基本使用

ぐ巨炮叔叔 提交于 2020-10-27 12:48:58
一,ReactiveX 要学习RxJava,那么不得不提他的由来ReactiveX,ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是LINQ的一个扩展,由微软的架构师Erik Meijer领导的团队开发; 二,Rx的发展 Rx这几年非常流行,以至于开发出多种语言版本,例如RxJava 、 RxGo 、RxJS、RxKotlin、 RxPY 、 Rx.NET 等等;Rx的大部分语言库由ReactiveX这个组织负责维护,社区网站是 reactivex.io 。 三,RxJava RxJava是响应式编程(Reactive Extensions)的java实现,它基于观察者模式的实现了异步编程接口。 Rxjava 3.x 的 github官网 ; Rxjava 3.0的一些改变: 官方Wiki ; Rxjava 3.x 文档可以在 官方javadoc 中找到 1,Retrofit + RxJava3组合使用 首先要引入依赖 implementation "io.reactivex.rxjava3:rxjava:3.0.0" implementation 'io.reactivex:rxandroid:1.2.1'

侦破一件谋杀案后,圣地亚哥能监控的智能路灯被告了

牧云@^-^@ 提交于 2020-08-20 06:54:20
      大数据文摘出品    来源:IEEE    编译:lin   2017年,圣地亚哥开始安装智能街灯时,城市管理人员设想他们收集的数据将有助于改善城市运营,比如为自行车道选择道路,识别需要特别注意的危险十字路口,以及找出城市需要更多停车的地方。   他们认为,这可能还能激发一些科技初创公司开发应用程序,用以引导视障人士、指引司机停车,为慢跑者推荐最安静的路线。   市政府对此非常自豪,把这视为节约成本的方式,因为LED灯比他们所取代的钠蒸汽灯的效率高得多。      然而,这个耗资3000万美元的项目却让圣地亚哥陷入了执法部门如何使用这些系统的争论中。   从最初的构想上看,这个项目很有可能让圣地亚哥一跃成为美国“最聪明”的城市之一。但随之而来的却是,这些看上去很有希望的独立应用程序未能实现价值,同时,随着能源成本下降,这项技术本身就能收回成本的想法也没有实现预期效果。   圣地亚哥的智能“CityIQ”街灯灵感来自GE Current,这家公司最初是通用电气的子公司,但去年被私募股权公司美国工业合作伙伴收购。   迄今为止,圣地亚哥的智能路灯已安装了大约3300个,已收到但尚未安装的还有1000个。作为协议的一部分,市政府与Current签约,在CityIQ平台上运行传感器数据的云分析。作为合同的一部分,云运营商,而不是城市,拥有从数据中提取的任何算法。   另外

全民检测新冠病毒或将来临?麻省理工教授:这可能是摆脱危机的更划算方法

ⅰ亾dé卋堺 提交于 2020-04-21 19:08:18
   【编者按】 近日,有这样一则消息备受人们关注: 美国马萨诸塞州麻省总医院的研究人员在一个人口只有 4 万人的小城切尔西随机挑选了 200 人进行检测,却有 30%(64 名)的人体内存在新冠病毒抗体。 这一数据表明,新冠病毒的传播范围可能要比人们想象的大得多。 “这 200 人中有 30% 的人已经被感染了,而且没有表现出任何症状,这有点令人警醒。 “ 该研究机构驻切尔西城市经理托马斯·安布罗西诺(Thomas Ambrosino)表示。   此外,一项在硅谷进行的最新调查研究也暗示,新冠病毒的感染人数可能远超实际数字。 在美国斯坦福大学、南加州大学和多个生物医疗机构的合作下,研究人员针对加州圣克拉拉县进行了 COVID-19 病毒流行度估算。 最终结果显示,该县约有 2.5% 到 4.2% 的人可能已有病毒抗体,如果将这一比例换算到人口数量,当地实际患病数量可能是当时确诊数字的 50 到 85 倍。   究竟有多少人被感染了新冠病毒,这个底数目前根本搞不清楚。 面对新冠疫情的持续蔓延和企业复工复产的巨大压力,企业家和基因学者正在策划用于全民新冠病毒检测的方案,全民大规模检测势在必行。 哪些人感染了新冠病毒? 哪些人可以复工复产? 唯有简单、准确、价格低廉的全民检测,才能告诉我们准确的答案。    如今,一批产业界和学术界的人士,正在全力以赴试图解决上述问题。   

MySQL 8 的 Hash Join

无人久伴 提交于 2020-02-28 06:25:28
导读 作者:Erik Frøseth 译:徐轶韬 本文转载自:MySQL解决方案工程师 想要看更多技术型文章,那就点个关注吧! 想要讨论MySQL相关问题,那就加我吧! 来源: oschina 链接: https://my.oschina.net/lv96/blog/3158045

查找项目是否在JavaScript数组中的最佳方法? [重复]

牧云@^-^@ 提交于 2019-12-20 19:13:47
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 这个问题已经在这里有了答案: 如何检查数组是否在JavaScript中包含对象? 47个答案 查找对象是否在数组中的最佳方法是什么? 这是我知道的最好方法: function include(arr, obj) { for(var i=0; i<arr.length; i++) { if (arr[i] == obj) return true; } } include([1,2,3,4], 3); // true include([1,2,3,4], 6); // undefined #1楼 从ECMAScript 2016开始,您可以使用 includes() arr.includes(obj); 如果要支持IE或其他较旧的浏览器: function include(arr,obj) { return (arr.indexOf(obj) != -1); } 编辑:这将无法在IE6、7或8上运行。 最好的解决方法是自行定义它(如果不存在): Mozilla (ECMA-262)版本: if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(searchElement /*, fromIndex */) { "use strict";