Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
  • Product Hunt
  • Visual Capitalist
  • Elon Musk
Menu

在 C# 中解析浮点数每秒超过 1 GB

Posted on 2024-11-22

几年前,我们编写了csFastFloat ,一个 C# 库,用于更快地解析浮点数。给定字符串“3.1416”,它计算出二进制值 3.1416。

该库的功能相当于 C# 函数Double.Parse 。除了它运行得更快之外。

我们向 .NET 贡献了该库的大部分内容,从 .NET 7 开始:csFastFloat 库实际上是 .NET 的一部分。然而,标准库(.NET)有额外的开销。

Microsoft C# 运行时有一个新版本:.NET 9。我在 Apple M2 处理器上使用 .NET9 运行了基准测试:

数据集 FastFloat.TryParseDouble 双重解析
加拿大.txt 1.1GB/秒 0.3GB/秒
网格.txt 0.9GB/秒 0.2GB/秒
合成.txt 1.0GB/秒 0.3GB/秒

我发现使用 csFastFloat 相对于 .NET 库仍然有一个显着的好处:它可以快大约 3 倍。在 .NET 出现之前,差距接近 9 倍,因此 .NET 库确实变得更快了。

csFastFloat 的好处取决于您的数据,可能比我报告的要少。然而,如果您正在解析许多浮点数,您可能想尝试一下 csFastFloat。

您可以在 nuget 上找到 csFastFloat。 Sep使用的 csFastFloat 库可能是世界上最快的 .NET CSV 解析器。

原文: https://lemire.me/blog/2024/11/21/parsing-floats-at-over-a-gigabyte-per-second-in-c/

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abdisalan Mohamud
  • Addy Osmani
  • Aeon
  • Ahoy There! on THT's den
  • Alec Muffett
  • Andreas
  • anhvn
  • Ankaph
  • Annie
  • Armin Ronacher
  • Ask Hacker News Weekly
  • Astro Blog
  • Austin White
  • Backlinko
  • Better Dev Link
  • Building Pika Out Loud
  • Caleb Hearth
  • Cédric Aellen
  • Chip Huyen
  • Colossal
  • Cooltools by KK
  • CoRecursive
  • Craig Mod
  • Curt Merrill
  • Dan Abramov's Overreacted Blog RSS Feed
  • Daniel Lemire
  • Daniel Stenberg
  • Daring Fireball
  • David H
  • David Heinemeier Hansson
  • Dayu | 大宇
  • Ed Zitron
  • Ersei
  • Ersei 'n Stuff
  • Evan Martin
  • First Page Sage
  • Founder Weekly
  • FuzzyGrim
  • Gabriel
  • Good Enough
  • Gregory Hammond
  • Habib
  • How They Make Money
  • I Love Charts
  • Ian Betteridge
  • Ivaylo Durmonski
  • Jason Kottke
  • Jason Kratz
  • Jeff Perry
  • John D. Cook
  • Jonas Hietala
  • Jonathan Snook
  • jwb
  • Kevin Kelly
  • Kevin Yank
  • Kirsty
  • Kush
  • Loris Cro
  • Maarten van Gompel
  • Manas J. Saloi
  • Mandy Brown
  • Matt Fantinel
  • Matt Mullenweg
  • Mere Civilian
  • Ness Labs
  • News Letter
  • Nicholas Carlini
  • Nicolas F. R. A. Prado
  • Niko
  • Nir Eyal
  • Noah Smith
  • Pedro Lopes
  • Positive News
  • Predrag Gruevski
  • Rachel Kroll
  • Recomendo by KK
  • rendezvous with cassidoo
  • Rest of World
  • Ruben Schade
  • Scott Galloway
  • Sébastien Etter
  • SEMrush Blog
  • Seth Godin
  • Shariq Raza Qadri
  • Simon Willison
  • Six Colors
  • Slashdot
  • Spectre Collie
  • Spyglass
  • storytelling with data
  • Streamline Blog
  • Tableau Blog
  • tekphloyd
  • The Alchemy of Money
  • The Independent Variable
  • The Marginalian
  • thriftmac
  • Tim Bray
  • Tim Ferriss
  • Tim Kellogg
  • TLDR
  • Topslakr
  • Track Awesome list
  • Trump
  • Victor Kropp
  • Vincent Ritter
  • Vox
  • Westenberg
  • Xe Iaso
  • xkcd
  • Yuri Cunha
  • Zarar
  • 未分类
  • 英文媒体
  • 英文推特
  • 英文独立博客
  • 读写错误
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme