minification-benchmarks
zig
minification-benchmarks | zig | |
---|---|---|
15 | 816 | |
1,208 | 30,631 | |
- | 2.7% | |
9.1 | 10.0 | |
4 days ago | 7 days ago | |
TypeScript | Zig | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
minification-benchmarks
-
Extremely reducing the size of NPM package
Minifiers are used to reduce the size of the bundle. They can remove unused code, shorten expressions, and so on. And Now there are already several popular minifiers, and they continue to appear: more familiar ones - written in JavaScript - Terser and UglifyJS, even Babel has its own version of the minifier, there are also more modern SWC (written in Rust) and ESBuild (written in Go), and a bunch of other lesser-known minifiers. And I recommend you to look at this repository. It contains up-to-date test results of various popular minifiers.
-
Minify and Gzip (2022)
This minify/gzip size effect is a well known quirk to developers of javascript minifiers. The minifier's symbol mangling algorithm often has a more pronounced effect than does advanced AST optimization.
This website has real life data on the matter for popular libraries:
* https://github.com/privatenumber/minification-benchmarks
Compare the trophies indicating smallest size for Minified versus Minzipped (gzip). Generally the smallest minified size yields the smallest minified+gzip size, but there are some notable anomolies outside the range of statistical noise. It is not practical for a javascript minifier to take a compression algorithm into account - it would blow up the minify timings exponentially.
-
Bun v0.6.0 β Bun's new JavaScript bundler and minifier
It would be helpful to see how Bun's minifier compares to the others with popular libraries:
https://github.com/privatenumber/minification-benchmarks
-
JS Uglify/Minify Gems?
JavaScript
-
Overview of the next-gen frontend dev tools
There are many minifiers such as terser and uglify. But, because minifying also require to parse the JS, it is actually possible to use esbuild and SWC to minify the code. Here's a benchmark of the main minifiers.
-
Overworld 1.0 is Live
Here's a comparison showing the major players with comparable stats at first glance. https://github.com/privatenumber/minification-benchmarks
-
Is anyone using Google Closure Compiler? And why not?
https://esbuild.github.io/ https://github.com/privatenumber/minification-benchmarks
- Parcel v2
- I never need webpack or babel anymore
-
π§’ Stefan's Web Weekly #6
privatenumber/minification-benchmarks β JS minification benchmarks: babel-minify, esbuild, terser, uglify-js
zig
-
Memory-mapped IO registers in Zig. (2021)
There is an issue proposing this approach: https://github.com/ziglang/zig/issues/4284
- Zig Programming Language
- Zig Language 0.12 Release
-
Zig 0.12.0 Release Notes
https://github.com/ziglang/zig/issues/224
e.g.:
> > When debugging/prototyping, it's useful to comment out a line without having to refactor, e.g.
-
How to Write a PHP Extension with Zig?
When writing code in a scripting language, sometimes you need that extra bit of performance (or maybe an async feature from Zig).
-
Bun - The One Tool for All Your JavaScript/Typescript Project's Needs?
NodeJS is by no means a slow runtime, it wouldnβt be so popular if it was. But compared to Bun, itβs slow. Bun was built from the ground up with speed in mind, using both JavascriptCore and Zig. The Bun team spent an enormous amount of time and energy trying to make Bun fast, including lots of profiling, benchmarking, and optimizations.
-
Bun 1.1
ntdll.dll!RtlUserThreadStart()
There are valid reasons to use APIs from NTDLL. Where I disagree with zig#1840 is the idea that it is always better to use NTDLL versions of API. Every other software ecosystem uses the standard Win32 APIs and diverging from that without a good reason seems like a good way to have unexpected behavior. One concrete example is most users and programmers expect Windows to redirect some file system paths when running on WOW64. But this is implemented in Kernel32, not ntdll.
https://github.com/ziglang/zig/issues/11894
- Zig, Rust, and Other Languages
-
Nanos β A Unikernel
Zig also has an IRC channel on libera (#zig) that is moderated by Andrew Kelley.[1]
[1] https://github.com/ziglang/zig/wiki/Community
- Ask HN: What Underrated Open Source Project Deserves More Recognition?
What are some alternatives?
vite - Next generation frontend tooling. It's fast!
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
esbuild - An extremely fast bundler for the web
Odin - Odin Programming Language
terser - π JavaScript parser, mangler and compressor toolkit for ES6+
v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
mocha-esbuild - Run tests with mocha compiled by esbuild
rust - Empowering everyone to build reliable and efficient software.
fjb - fast javascript bundler :package:
go - The Go programming language
source-map-explorer - Analyze and debug space usage through source maps
ssr-proxy-js - A Server-Side Rendering Proxy focused on customization and flexibility!