Releases: weld-project/weld
Weld v0.4.0
Changes
- Deprecates the old
constructors
API in lieu of theNewExpr
trait onExpr
- Adds a new SIR pass that allows for improved performance in some cases
Weld v0.3.1
This release is equivalent to the tagged v0.3.0 release, but it increments the Cargo.toml version number. This allows the version of Weld published on Cargo to be in sync with the version tagged in releases on GitHub from now on.
Weld v0.3.0
This is the first tagged release of Weld. See the release notes below.
v0.3.0
This release brings a new, optimized LLVM backend and updates to the core Weld APIs. It also removes multi-threading support for the time being, beause the old multi-threading design imposed undue overhead on single-threaded programs. In the future, threading will be re-introduced.
Detailed Notes
-
Introduces the
WeldContext
API, which provides a context for Weld runs to allocate their memory and to reuse objects allocated by other Weld runs. See the [WeldContext
documentation]({{ site.url }}/docs/latest/weld/struct.WeldContext.html) for more details on how this is used. -
Adds an
optlookup
operator that performskeyexists
andlookup
with a single hash operation. The operation returns a value and a boolean indicating whether the value was found. This operator will replacelookup
on dictionaries eventually. See the language docs for more detail. -
Changes the
sort
API to take a comparator function similar tolibc
qsort
. -
Adds an
assert
operator, which crashes the program if the assertion fails and evaluates totrue
otherwise. -
Removes support for the
nditer
iterator. This will be added back in a future release. -
Adds new options for dumping code. See the [new configuration options]({{ site.url }}/docs/latest/weld/#constants) for details.
-
Adds the ability to make type aliases:
type mytuple = {i32,i32};
-
Internally, the backend now uses LLVM's C builder API. This improves both compilation times and execution time (since LLVM's optimizer does a better job overall)
-
Change the hash function to CRC32. This is only supported on x86/x64.
-
Implements common subexpression elimination.
-
Bug fixes (see the PRs on the Weld repository).