perfnow.js - 0.14 kb window.performance.now high resolution timer polyfill with Date fallback

  •        22

perfnow.js is a micro-library written in both CoffeeScript and JavaScript. Safely use microsecond precision timing using this 0.1 kb performance.now polyfill with Date fallback.

https://github.com/daniellmb/perfnow.js

Tags
Implementation
License
Platform

   




Related Projects

marky - High-resolution JavaScript timer based on performance.mark/measure (461 bytes min+gz)

  •    Javascript

JavaScript timer based on performance.mark() and performance.measure(), providing high-resolution timings as well as nice Dev Tools visualizations. For browsers that don't support performance.mark(), it falls back to performance.now() or Date.now(). In Node, it uses process.hrtime().

bezier-easing - cubic-bezier implementation for your JavaScript animation easings – MIT License

  •    Javascript

BezierEasing provides Cubic Bezier Curve easing which generalizes easing functions (ease-in, ease-out, ease-in-out, ...any other custom curve) exactly like in CSS Transitions. Implementing efficient lookup is not easy because it implies projecting the X coordinate to a Bezier Curve. This micro library uses fast heuristics (involving dichotomic search, newton-raphson, sampling) to focus on performance and precision.

MutationObserver.js - ES3 Shim for the MutationObserver interface via DOM diffing.

  •    Javascript

A polyfill for the MutationObserver API (can I use?). The polyfill is more cause we can than should (with subtree at any rate)... It's async and uses a recursive timeout fallback (default checks changes every 30ms + runtime) instead of using the deprecated DOM3 MutationEvents so theoretically can support virtually any environment. By default, the polyfill will check observed nodes about 25 times per second (30 ms interval) for mutations. Try running these jsperf.com tests and the JSLitmus tests in the test suite for usage performance tests. It may be worthwile to adapt MutationObserver._period based on UA or heuristics (todo).

performance-bookmarklet - Performance-Bookmarklet helps to analyze the current page through the Resource Timing API, Navigation Timing API and User-Timing - requests by type, domain, load times, marks and more

  •    Javascript

Bookmarklet, Chrome Extension and Firefox add-on to analyze the current page through the Resource Timing API, Navigation Timing API and User-Timing - requests by type, domain, load times, marks and more - sort of a light live WebPageTest. You can use the Performance-Bookmarklet (renamed as Performance-Analyser since it's not a Bookmarklet) as Chrome Extension or Firefox add-on.

decimal - A high-performance, arbitrary-precision, floating-point decimal library.

  •    Go

decimal is a high-performance, arbitrary precision, floating-point decimal library implementing the General Decimal Arithmetic specification. decimal uses Semantic Versioning. The current version is 3.3.1.


micron - a [μ] microInteraction library built with CSS Animations and controlled by JavaScript Power

  •    CSS

Micron.JS is a micro interaction library which can be used to add Interactions to different DOM Elements. Micron.JS animates an element using CSS power and the interactive behaviours are controlled by JavaScript. Micron.JS is easy to adapt and can bring interactions to life using html5 data attributes or a chain of JavaScript methods.

core-estimator - Cross-browser polyfill for navigator.hardwareConcurrency

  •    Javascript

Core Estimator is a cross-browser polyfill for navigator.hardwareConcurrency. The estimator works by performing a timing attack that runs different numbers of simultaneous web workers. It measures the time it takes to run a single worker and compares this to the time it takes to run an increasing number of workers. As soon as this measurement starts to increase excessively, it has found the maximum number of web workers which can be run simultaneously without degrading performance.

openfl - Interactive game and app development library for TS, Haxe, JS and AS3

  •    Haxe

Interactive application and game developers need access to productive tools for forging bitmap, vector, text, sound and video together. The modern-day web browser provides many of these features, but performance for animated content, and support for hardware graphics (while still supporting software caching and fallback) is not readily available. OpenFL combines a proven set of tools for development of games and rich interactive content, going back to the first renaissance innovators on the web. There are two versions of OpenFL, the first is primarily distributed using haxelib, and blends native support for Windows, macOS, Linux, iOS, Android, Flash, HTML5 and WebAssembly. You can read more about the haxelib distributed version of OpenFL, here.

smoothscroll - Scroll Behavior polyfill

  •    HTML

The Scroll Behavior specification has been introduced as an extension of the Window interface to allow for the developer to opt in to native smooth scrolling. To date this has only been implemented in Firefox. Download the distribution file from this repository and include it in your project.

respimage - respimage is a responsive images polyfill, that loads your images fast and responsibly

  •    Javascript

#respimage respimage is a fast, lightweight and robust responsive images polyfill, that saves the users bandwidth by utilizing smart resource selection algorithm. It implements the srcset/sizes attributes as also the picture element. Unlike other responsive images polyfills respimage plays nicely with your graceful degradation / progressive enhancement and image SEO strategy. ##Download and Embed Simply download the respimage.min.js script and add it to your website or bundle it in your normal JS.

Schedule - Schedule timing task in Swift using a fluent API. (A friendly alternative to Timer)

  •    Swift

Schedule is a timing tasks scheduler written in Swift. It allows you run timing tasks with elegant and intuitive syntax. The running mechanism of Schedule is based on Plan, and Plan is actually a sequence of Interval.

asm-dom - A minimal WebAssembly virtual DOM to build C++ SPA (Single page applications)

  •    C++

asm-dom is a minimal WebAssembly virtual DOM to build C++ SPA (Single page applications). You can write an entire SPA in C++ and compile it to WebAssembly (or asmjs as fallback) using Emscripten, asm-dom will call DOM APIs for you. This will produce an app that aims to execute at native speed by taking advantage of common hardware capabilities, also, you can use your C/C++ code without any change, you haven't to create a binding layer to use it (as we have to do if we want to use a C++ lib from JS). Basically we are creating an app in C++ that call javascript if needed instead of the opposite. You can write only once in C++ and share as much code as possible with desktop/mobile apps and web site. If you want to learn more about performance, please see this. asm-dom is a low-level virtual DOM library. It is unopinionated with regards to how you should structure your application.

css-element-queries - CSS-Element-Queries Polyfill

  •    Javascript

Element Queries is a polyfill adding support for element based media-queries to all new browsers (incl. IE7+). It allows not only to define media-queries based on window-size but also adds 'media-queries' functionality depending on element (any selector supported) size while not causing performance lags due to event based implementation. It's a proof-of-concept event-based CSS element dimension query with valid CSS selector syntax.

fpsmeter - Sexy, fast, and themable FPS meter.

  •    Javascript

FPSMeter uses performance.now() to more accurately measure rendering timing, with a fallback to +new Date(). None.

web-animations-js - JavaScript implementation of the Web Animations API

  •    Javascript

A new JavaScript API for driving animated content on the web. By unifying the animation features of SVG and CSS, Web Animations unlocks features previously only usable declaratively, and exposes powerful, high-performance animation capabilities to developers. A JavaScript implementation of the Web Animations API that provides Web Animation features in browsers that do not support it natively. The polyfill falls back to the native implementation when one is available.

six-speed - ES6 polyfill vs. feature performance tests

  •    Javascript

ES6 polyfill vs. feature performance tests. Test against all registered Sauce Labs browsers.

Toastmaster Timer

  •    

This timing tool is for Toastmaster speech. It runs in cell phone acting as an automatic timer. It follows the Toastmaster timing rules.

touchpoint-js - A vanilla JavaScript library that visually shows taps/clicks for HTML prototypes using CSS3 transitions on desktop and mobile

  •    Javascript

A tiny (3.86 kb minified) vanilla JavaScript library made for in-browser HTML prototyping (as part of the UX process) that visually shows where the user clicks/taps on-screen using CSS3 transforms and transitions. TouchPoint is highly customizable, mobile ready and great for screencasting, screen recording, user testing and presentations. Library now built for ES6 and ES5. Same instructions as above, but you will need a polyfill to run in-browser. I use babel-polyfill which can be installed on your machine by using NPM from your command line.