[原文] Loop Recognition in C++ Java Go Scala
【摘要】C++ Java Go Scala 的环状认证
在该经验性的报告中我们对四种编程语言,即C++, Java, Go, 以及Scala定义了一个良好编码的,精致紧密的衡量准则。各个实现使用了其语言惯用的容器类(idiomatic container classes),循环构造(looping constructs), 以及内存/对象分配模式。它并不试图开发特定语言以及运行时特性以达到最大性能。该方法允许一个较公平的关于“语言特性,代码复杂度, 编译器以及编译时间, 二分大小, 运行时,以及内存足迹(memory footprint)”的比较。准则本身是简单以及紧密的,运用了许多语言特性, 特别的还是高层的数据结构(链表,映射, 列表,以及关于集合和链表的数组),少数的算法(联合/查找 union/find ,深度优先遍历 dfs / 深度递归 deep recursion, 以及基于Tarjan的环状认证),在集合类型上的迭代,一些面向对象特性,以及一些感兴趣的内存分配模式。我们不会对任何多线程的方面进行探索,或者由于语言的不同而有巨大差异的高层类型机制。基准点在所有被测试的语言实现范围内都有非常大的不同。在经过谷歌内部发行的该基准后,多个工程师产出了该基准的高度优化版本。我们描述了许多已经执行了的优化,大多针对运行时性能以及代码复杂性。该努力仅是轶闻趣事式的比较,该基准,以及后来的调优努力, 是各个语言典型的性能痛点的一个指示。
分享到:
相关推荐
深度学习(Python、C、C++、Java、Scala、Go)课程DBN深度信念网络CDBN具有连续值输入的深度信念网络RBM受限玻尔兹曼机CRBM具有连续值输入的受限玻尔兹曼机dA去噪自动编码器SdA堆叠去噪自动编码器LogisticRegression...
Scala是一种多范式编程语言,结合了面向对象和函数式编程的概念。它运行在Java虚拟机上,与Java代码完全兼容,但提供了更高级的语法和特性,如类型推断、高阶函数、模式匹配等。在SpringBoot项目中,Scala可以作为...
在现代软件开发中,Java和Scala是两种广泛使用的编程语言。它们各有特色,Java以其稳定性和广泛的社区支持而著名,Scala则以其强大的函数式编程特性及对Java虚拟机(JVM)的无缝集成受到青睐。当一个项目中同时包含...
基于java、scala、python、spark实现的图书推荐系统源码+项目说明.zip基于java、scala、python、spark实现的图书推荐系统源码+项目说明.zip基于java、scala、python、spark实现的图书推荐系统源码+项目说明.zip基于...
本文档由 Google 工程师 Robert Hundt 编写,旨在通过一种经验报告的形式,对 C++、Java、Go 和 Scala 四种编程语言进行性能比较。本研究关注于不同语言在容器类、循环结构以及内存/对象分配方案上的实现方式,并不...
Master the fundamentals of Scala and understand its emphasis on functional programming that sets it apart from Java. This book will help you translate what you already know in Java to Scala to start ...
《面向Java开发人员的Scala指南》是一本专为熟悉Java编程语言的开发者设计的书籍,旨在帮助他们理解和掌握Scala这门强大的多范式编程语言。Scala结合了面向对象和函数式编程的特点,提供了更高的代码抽象能力和性能...
Scala到Java 用Scala编写的简单工具,揭示了Scala编译器的奥秘。 从StdIn读取scala代码,并将其反编译的Java版本写入StdOut。 用法 确保您已安装Java 1.8和Maven 检出项目 在项目目录中调用mvn clean package 。 ...
标题中的“Scala Java相关开发工具”表明我们讨论的是与Java和Scala编程语言相关的开发环境和工具。Java和Scala都是在JVM(Java虚拟机)上运行的语言,它们有着紧密的联系,但各自拥有独特的特性和用途。 首先,...
Scala是一种强大的静态类型编程语言,它在语法上兼容Java,并且提供了函数式编程和面向对象编程的特性。通过Maven,我们可以轻松地在Java项目中引入Scala代码,反之亦然。 首先,要实现Java和Scala的互调用,我们...
本资源提供了一套基于Java、Scala和Spark的数据处理与分析设计源码,包含1381个文件,其中包括634个CRC文件,316个BK文件,35个Class字节码文件,20个XML配置文件,15个Java源代码文件,13个JAR打包文件,8个...
Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的特性,为Java开发者提供了一种更高效、更简洁的编程选择。在Java开发领域,Servlet是用于构建Web应用程序的标准API,广泛应用于服务器端编程。本...
功能:实现google的PageRank算法,带完整的测试数据和结果,java、scala语言版本 ********************************************************* 版本: scala2.10.4 spark 1.6.1 Scala IDE Build id: 4.4.1-vfinal...
Scala是一种多功能的编程语言,它可以在Java虚拟机(JVM)上运行。Scala的设计初衷是为了弥补Java的一些不足之处,并且充分利用函数式编程的优势。它既是一种静态类型的、强类型的语言,同时也具备动态语言的一些特性...
Java 和 Scala 并发性基础
JAVA+Scala语言开发基于机器学习的商品类目预测源码+文档说明.zip本资源中的源码都是经过本地编译过可运行的,评审分达到95分以上。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,...
该项目是一款面向大数据领域的儿童学习项目源码,采用Java和Scala语言编写,辅以HTML进行界面设计。整个项目包含987个文件,具体分布如下:727个Java源文件,134个Scala源文件,54个XML文件,21个文本文件,17个属性...
Java电商大数据项目-推荐系统(java和scala语言) Bump spark.version from 2.1.0 to 2.4.7 in /MySparkProject dependencies #6 by dependabot bot was merged 4 minutes ago Bump junit from 3.8.1 to 4.13.1 in /...
该系统是一款基于Java和Scala语言开发的深圳地铁大数据客流分析系统源码,总计包含106个文件,其中包括40个Java源文件、20个Scala源文件、35个PNG图片文件、4个XML配置文件、1个7z压缩文件、1个gitignore文件、1个...
赠送jar包:scala-java8-compat_2.11-0.7.0.jar; 赠送原API文档:scala-java8-compat_2.11-0.7.0-javadoc.jar; 赠送源代码:scala-java8-compat_2.11-0.7.0-sources.jar; 赠送Maven依赖信息文件:scala-java8-...