Skip to content
/ zap Public

An asynchronous runtime with a focus on performance and resource efficiency.

License

Notifications You must be signed in to change notification settings

kprotty/zap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zap License Zig

A collection of resource efficient tools for writing scalable software.

Design Goals

This project explicitly makes an effort to optimize for resource efficiency and customizability when possible as opposed to the more standard goal of performance and ease of use. This has two simultaneous, but sometimes conflicting, meanings:

  • In order to achieve resource efficiency, maximum performance or ease of use may be sacrificed when reasonable.
  • Optimizing for resource efficiency should not completely neglect performance and ease of use as these are practically important.

The term "resource efficiency" here refers to using the least amount of system resources (i.e. Compute, Memory, IO, etc.) to achieve similar functionality. This often includes tricks such as caching computed values, using special CPU instructions, favoring intrusively provided memory and amortizing synchronization or syscalls.

Aligning with the Zen of Ziglang, this should aid in easing the ability to program software which utilizes the hardware better on average than before.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.