一起了解 .Net Foundation 项目 No.4
.Net 基金会中包含有很多优秀的项目,今天就和笔者一起了解一下其中的一些优秀作品吧。
中文介绍
中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。
BenchmarkDotNet
BenchmarkDotNet 是一款功能强大的.Net 基准测试类库。
概要说明
- 包含标准基准测试所需要的常规操作:为每个基准测试方法生成隔离的项目;自动选择迭代的次数;自动预热测试;运行开销评估;统计数据汇总等等
- 支持以下运行时环境:传统 .NET Framework、.NET Core (RTM) 和 Mono
- 支持以下编程语言: C#、 F# 和 Visual Basic
- 支持以下操作系统: Windows、 Linux 和 MacOS
- 能够轻松对比不同环境下的运行效果,例如:
x86
与x64
的对比,LegacyJit
与RyuJit
的对比。详细可以参看 Jobs - 支持以下报表类型: markdown, csv, html, 普通文本 和 png 格式的图表.
- 支持高级特性:设置测试基线(Baseline),参数化测试(Params)
- 基于 ETW 事件实现强大的程序诊断支持,详见 BenchmarkDotNet.Diagnostics.Windows
项目详情
- 官网地址
- 项目源码
- 项目许可证: MIT
- NuGet
- 项目联系人: Andrey Akinshin
相关链接
笔者简评
您的代码性能更高?来吧,Benchmark 跑一波!
BenchmarkDotNet 提供了进行小范围代码性能测试的基础框架。它已经成为当前 .NetCore 底层开发类库事实上的基准测试框架。
基于这样的框架,开发者可以对自己的函数代码进行基准测试。也可以完成一些有意思的小测试:
英文介绍
BenchmarkDotNet
BenchmarkDotNet is a powerful .NET library for benchmarking.
Summary
- Standard benchmarking routine: generating an isolated project per each benchmark method; auto-selection of iteration amount; warmup; overhead evaluation; statistics calculation; and so on.
- Supported runtimes: Full .NET Framework, .NET Core (RTM), Mono
- Supported languages: C#, F#, and Visual Basic
- Supported OS: Windows, Linux, MacOS
- Easy way to compare different environments (
x86
vsx64
,LegacyJit
vsRyuJit
, and so on; see: Jobs) - Reports: markdown, csv, html, plain text, png plots.
- Advanced features: Baseline, Params
- Powerful diagnostics based on ETW events (see BenchmarkDotNet.Diagnostics.Windows)
Project Details
- Website
- Source
- License: MIT
- NuGet
- Project Lead: Andrey Akinshin
Quicklinks
以上《英文介绍》摘录自 .NET Foundation 的项目介绍 。原文受原项目许可证保护。## 中文介绍
中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。
Cake
Cake 是一款支持多操作系统的自动化系统,其采用 Roslyn 和 Mono 编辑器进行构建,并采用 C# 作为自动化系统的脚本语言。
项目详情
- 官网地址
- 项目源码
- 项目许可证: MIT
- 项目联系人: Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, and , Jérémie Desautels.
相关链接
笔者简评
随着 DevOps 相关概念的深入,工程自动化方面的需求越来越多。
实践已经证明,自动化操作的快乐远远不止于一键操作的快意,采用自动化框架可以避免很多人工造成的错误。
Cake 是一款采用 C# 作为脚本语言的自动化框架。这很特殊,特殊到以至于有种过分耦合的感觉。但这并不妨碍它成为一款功能全面的自动化框架。
它本身是一套组织脚本的框架,因此它类似于 Gradle、Ant、Psake 等等,而并不是类似于 Jenkins、TeamCity 等等。
它很强大,因此如果笔者下一个.Net 项目还需要选型自动化框架的话,我愿意选择 psake 。
英文介绍
Cake
Cake is a cross platform build automation system,
built on top of Roslyn and the Mono Compiler, which uses C# as the scripting language.
Project Details
- Project Info Site
- Project Code Site
- Project License Type: MIT
- Project Main Contacts: Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, and , Jérémie Desautels.
Quicklinks
以上《英文介绍》摘录自 .NET Foundation 的项目介绍 。原文受原项目许可证保护。## 中文介绍
中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。
Chemistry Add-in for Word
Chem4Word 使您能够在 Microsoft Word 中创建化学分子结构。
您不仅能够绘制自己的分子结构,还能够从 PubChem 、Opsin 以及另外的 Word 中导入已有的结构。
在最新版本中,您可以在编辑界面上,将分子结构采用 CML 或者 MDL Molfile 格式进行导入或导出。这就使得您可以在其他的文档中编辑这些结构,方便地共享给其他的用户或者放入其他的应用程序中。
项目详情
- 官网地址
- V2 版本源码
- V3 版本源码
- V3.1 版本源码
- 项目许可证: Apache 2.0
- 项目联系人: Clyde Davies, Mike Williams
相关链接
笔者简评
这是一个基于 Microsoft Word 的插件项目,若开发者需要了解 Word 的插件开发,不妨以该项目作为蓝本进行学习。
可能由于过于小众,截至 2020 年 1 月 19 日 16:36:50 ,这个项目在 Github 上不超过 40 个 Star 。
英文介绍
Chemistry Add-in for Word
Chem4Word enables you to create chemical structures directly in
Microsoft Word. Not only can you draw your own structures, but you can import structures from
PubChem and Opsin as well as from your own files. With the latest version, inside the editor
form, you can export or import your structures as CML or MDL Molfile format.
This will allow you to copy your edited structures to other documents or share them with
other users or applications.
Project Details
- Website
- Version 2 Source Code
- Version 3 Source Code
- Version 3.1 Source Code
- Project License Type: Apache 2.0
- Project Main Contacts: Clyde Davies, Mike Williams
Quicklinks
以上《英文介绍》摘录自 .NET Foundation 的项目介绍 。原文受原项目许可证保护。