Big update!Introducing GitHub Bot Commands. Learn more
Socket
Log inBook a demo

@protobufjs/float

Package Overview
Dependencies
0
Maintainers
2
Versions
3
Issues
File Explorer

Advanced tools

@protobufjs/float

Reads / writes floats / doubles from / to buffers in both modern and ancient browsers.

    1.0.2latest

Version published
Maintainers
2
Weekly downloads
6,587,959
decreased by-11.06%

Weekly downloads

Readme

Source

@protobufjs/float

npm

Reads / writes floats / doubles from / to buffers in both modern and ancient browsers. Fast.

API

  • writeFloatLE(val: number, buf: Uint8Array, pos: number)
    Writes a 32 bit float to a buffer using little endian byte order.

  • writeFloatBE(val: number, buf: Uint8Array, pos: number)
    Writes a 32 bit float to a buffer using big endian byte order.

  • readFloatLE(buf: Uint8Array, pos: number): number
    Reads a 32 bit float from a buffer using little endian byte order.

  • readFloatBE(buf: Uint8Array, pos: number): number
    Reads a 32 bit float from a buffer using big endian byte order.

  • writeDoubleLE(val: number, buf: Uint8Array, pos: number)
    Writes a 64 bit double to a buffer using little endian byte order.

  • writeDoubleBE(val: number, buf: Uint8Array, pos: number)
    Writes a 64 bit double to a buffer using big endian byte order.

  • readDoubleLE(buf: Uint8Array, pos: number): number
    Reads a 64 bit double from a buffer using little endian byte order.

  • readDoubleBE(buf: Uint8Array, pos: number): number
    Reads a 64 bit double from a buffer using big endian byte order.

Performance

There is a simple benchmark included comparing raw read/write performance of this library (float), float's fallback for old browsers, the ieee754 module and node's buffer. On an i7-2600k running node 6.9.1 it yields:

benchmarking writeFloat performance ... float x 42,741,625 ops/sec ±1.75% (81 runs sampled) float (fallback) x 11,272,532 ops/sec ±1.12% (85 runs sampled) ieee754 x 8,653,337 ops/sec ±1.18% (84 runs sampled) buffer x 12,412,414 ops/sec ±1.41% (83 runs sampled) buffer (noAssert) x 13,471,149 ops/sec ±1.09% (84 runs sampled) float was fastest float (fallback) was 73.5% slower ieee754 was 79.6% slower buffer was 70.9% slower buffer (noAssert) was 68.3% slower benchmarking readFloat performance ... float x 44,382,729 ops/sec ±1.70% (84 runs sampled) float (fallback) x 20,925,938 ops/sec ±0.86% (87 runs sampled) ieee754 x 17,189,009 ops/sec ±1.01% (87 runs sampled) buffer x 10,518,437 ops/sec ±1.04% (83 runs sampled) buffer (noAssert) x 11,031,636 ops/sec ±1.15% (87 runs sampled) float was fastest float (fallback) was 52.5% slower ieee754 was 61.0% slower buffer was 76.1% slower buffer (noAssert) was 75.0% slower benchmarking writeDouble performance ... float x 38,624,906 ops/sec ±0.93% (83 runs sampled) float (fallback) x 10,457,811 ops/sec ±1.54% (85 runs sampled) ieee754 x 7,681,130 ops/sec ±1.11% (83 runs sampled) buffer x 12,657,876 ops/sec ±1.03% (83 runs sampled) buffer (noAssert) x 13,372,795 ops/sec ±0.84% (85 runs sampled) float was fastest float (fallback) was 73.1% slower ieee754 was 80.1% slower buffer was 67.3% slower buffer (noAssert) was 65.3% slower benchmarking readDouble performance ... float x 40,527,888 ops/sec ±1.05% (84 runs sampled) float (fallback) x 18,696,480 ops/sec ±0.84% (86 runs sampled) ieee754 x 14,074,028 ops/sec ±1.04% (87 runs sampled) buffer x 10,092,367 ops/sec ±1.15% (84 runs sampled) buffer (noAssert) x 10,623,793 ops/sec ±0.96% (84 runs sampled) float was fastest float (fallback) was 53.8% slower ieee754 was 65.3% slower buffer was 75.1% slower buffer (noAssert) was 73.8% slower

To run it yourself:

$> npm run bench

License: BSD 3-Clause License

FAQs

What is @protobufjs/float?

Reads / writes floats / doubles from / to buffers in both modern and ancient browsers.

Is @protobufjs/float popular?

The npm package @protobufjs/float receives a total of 6,282,955 weekly downloads. As such, @protobufjs/float popularity was classified as popular.

Is @protobufjs/float well maintained?

We found that @protobufjs/float demonstrated a not healthy version release cadence and project activity because the last version was released a year ago.It has 2 open source maintainers collaborating on the project.

Last updated on 02 Apr 2017

Did you know?

Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install Socket
Socket

Product

Subscribe to our newsletter

Get open source security insights delivered straight into your inbox. Be the first to learn about new features and product updates.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc