Skip to content

v0.7.0

Latest

Choose a tag to compare

@weiwenhao weiwenhao released this 21 Dec 11:56
· 31 commits to master since this release
502f6ea

nature v0.7 has achieved significant performance improvements through systematic optimizations of core modules including TCP/UDP/HTTP, CPU, string, GC, and closure. In benchmark tests, nature demonstrated unexpectedly strong performance, and there is still room for further optimization.

What's Changed

  • Closure implementation refactored, JIT mode closure removed
  • GC cleanup logic optimized, added needzero to distinguish whether a span needs cleanup
  • String constantization handling, string as vec will perform deep copy
  • HTTP server connection pool added
  • Memory allocator performance optimized
  • libuv usage refactored, removed multi-threading loop, using global loop
  • TCP library performance optimized, connection pool added
  • UDP removed libuv API, implemented using C API
  • LIR BCC instruction assembly implementation optimized
  • LIR safepoint instruction assembly implementation optimized, based on global flag to determine if GC is needed
  • LIR stack instruction assembly implementation optimized, using sp register instead of fp register
  • arm64/riscv64 added temporary variable elimination based on MOV instruction
  • Struct instantiation method changed, assignment symbol from = to : #174
  • Editor NLS module development experience optimized, added language configuration files, struct completion, auto import, module suggestions, etc. #178

Acknowledgments

Thanks to @arjendevos for code contributions to this release

Thanks to @mmachatschek @Angluca @nunu886 for financial support

Special thanks to @linky6565 for financial sponsorship, which has been a great help to the development of the nature programming language!