今日已更新 63 条资讯 | 累计 20533 条内容
关于我们

标签:#zen

找到 3 篇相关文章

开发者

How I Built My Own Programming Language from Scratch

I Built a Programming Language Called Zen Building a programming language had been something I wanted to do for a long time. What I didn't realize when I started was how much work exists beyond parsing a few tokens and generating some code. A language is not just a parser or a compiler backend. It is tooling, developer experience, documentation, installation, error handling, runtime support, and countless design decisions. After multiple attempts and many lessons learned, I'm excited to share Zen. Why a Third Attempt? Zen is not the first language project I started. My first attempts taught me a lot, but they never reached a stage where I felt comfortable sharing them publicly. The architecture was incomplete, important components were missing, and the overall developer experience wasn't where I wanted it to be. Instead of abandoning the idea, I kept iterating. Each attempt helped me better understand: Compiler architecture Language design LLVM Runtime integration Tooling and usability Error handling Project structure Zen is the result of those lessons. What Is Zen? Zen is a programming language with its own compiler pipeline and LLVM-based backend. The goal was not just to generate code, but to create a complete language ecosystem that developers can actually install and use. Zen currently includes: Lexer Parser AST generation LLVM IR generation Native executable generation through LLVM Runtime integration Standard library integration Command-line tooling Installation system Documentation website Compiler Pipeline The compilation process follows a traditional compiler architecture: Source Code ↓ Lexer ↓ Parser ↓ AST ↓ LLVM IR Generation ↓ LLVM Optimization ↓ Object Files ↓ Native Executable LLVM handles optimization and machine code generation, allowing Zen to produce native binaries. Command Line Interface Zen provides several commands for development and inspection: zen run zen build zen ir zen ast zen tokens zen clean This allows users to inspect different stage

2026-06-12 原文 →
开发者

50 Million Records in Under One Second — Inside ZenQL’s New Collection Engine

With the release of version 1.7.9, ZenQL’s Collection API, Thor, received substantial performance improvements, largely driven by a series of memory optimization enhancements. These changes reduced unnecessary allocations, improved data handling efficiency, and significantly accelerated query execution, particularly when working with large in-memory datasets. From the early stages of development, we established a baseline benchmark to measure both correctness and performance consistently: filtering a slice of 50 million items and validating the result. The original Collection API completed this benchmark in approximately 9 seconds. Later, we introduced Thor as a replacement for the default Collection API, reducing the benchmark time to around 4 seconds. With the latest round of memory optimizations and internal improvements, Thor now completes the same benchmark in less than one second. benchmark: goos: linux goarch: amd64 pkg: github.com/malikhan-dev/zenql/collections/Thor cpu: 12th Gen Intel(R) Core(TM) i7-12700H BenchmarkQueryEngine BenchmarkQueryEngine-20 88 13636313 ns/op 22727310 B/op 0 allocs/op at Thor_Engine__test . go func BenchmarkQueryEngine ( b * testing . B ) { result := From ( & items ) . Where ( func ( search ComplexObjectToSearch ) bool { return search . Name == "Jane" && search . Flag == false }) . Collect () result2 := From ( & result ) . Any ( func ( search ComplexObjectToSearch ) bool { return ( search . Name != "Jane" ) || ( search . Flag != false ) }) . Assert () if result2 { b . Error ( "result should be false" ) } } Join the Journey We are committed to making ZenQL the fastest and most developer-friendly query engine for Go. As we continue to grow and push the boundaries of performance, we need your support! If you find ZenQL useful, please star our repository on GitHub. Your support helps us reach more developers and keep the project moving forward. Thank you!

2026-06-07 原文 →