objeck / objeck-lang

Objeck is a modern object-oriented programming language with functional features tailored for machine learning. It emphasizes expression, simplicity, portability, and scalability. The programming environment consists of a compiler, virtual machine, REPL shell, and command line debugger with IDE plugins.
https://objeck.org
Other
154 stars 11 forks source link

Optimized builds #496

Closed ghost closed 4 months ago

ghost commented 4 months ago

For example, AVX2 builds, like https://github.com/zufuliu/notepad2/releases

objeck commented 4 months ago

I do not understand: faster builds or a new build systems?

ghost commented 4 months ago

I do not understand: faster builds or a new build systems?

Faster binaries.

Please at least search before posting. The keyword is AVX2.

https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2

Compilers have switches to enable advanced optimizations. AVX2 is only mentioned as one of the possible optimizations.

objeck commented 4 months ago

I need help understanding the context. On Intel, Objeck uses advanced instruction sets like SSE3. Costly floating point vector operations (i.e., transpose, dot product, etc.) are delegated to the Eignen C++ library, which leverages local hardware like APUs and GPUs. The same goes for ARM64 support.

ghost commented 4 months ago

No. This is not about how the JIT compiler of Objeck compiles bytecode into machine code. It's more simple. It's about building the Objeck binaries themselves (e.g: obc, obr,...) with advanced instruction sets like AVX2. It's a compiler switch just like -O3.

objeck commented 4 months ago

Added to AMD64 builds for Windows and Linux.