C/C++'a göre çok hızlı büyük bir iddia. Merak ettim şimdi. Bir deneyeyim.Bence syntax'ı biraz zor ve daha popülerlik kazanması için çok yol alması lazım.Muhtemelen Bun.js ile olan desteği biterse hiç hatırlanmaz bile ama insanlar yine de C/C++'a göre çok hızlı olduğunu söylüyor.
Sığ bir değerlendirme olacak ama aşağıdaki iki kodu derledim ve çalıştırıp zaman kıyaslaması yaptım. Zig 1.5 kat yavaş. Yeterli bir kıyas değil fakat kodlar birbirlerine yakın olsun diye uğraştım.C/C++'a göre çok hızlı büyük bir iddia. Merak ettim şimdi. Bir deneyeyim.
const std = @import("std");
pub fn is_prime(n: usize) bool {
if (n == 2) {
return true;
}
if ((n < 2) or (@mod(n, 2) == 0)) {
return false;
}
var i: usize = 3;
while (i * i <= n) : (i += 2) {
if (@mod(n, i) == 0) {
return false;
}
}
return true;
}
pub fn main() !void {
const out = std.io.getStdOut().writer();
var ret: bool = true;
for(0..100000000) |i| {
ret = is_prime(i);
}
try out.print("{}", .{ret});
}
#include <stdio.h>
bool is_prime(int n) {
if(n == 2) {
return true;
}
if(n < 2 or n % 2 == 0) {
return false;
}
for(int i = 3; (i * i) <= n; i += 2) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main(void) {
bool ret = false;
for(int i = 0; i < 100000000; i++) {
ret = is_prime(i);
}
printf("%d", ret);
return 0;
}
&&
ve ||
'i devre dışı bırakmışlar. Bunlar yerine kelimeyle yazmanız lazım Python'daki gibi. Python'da bu operatörlerin bu karakterlere kullanılması syntax dizayn prensipleriyle çelişiyordu, dolayısıyla kaldırıldığını anlayabiliyorum. Fakat gördüğüm kadarıyla Zig'in syntax'ı tam olarak kod okunurluğu konusunda python gibi bir takıntıya da sahip değil. test <test_name> { ... }
yazarak direkt testleri belirleyebiliyorsunuz ve zig test dediğinizde test olarak belirlenmiş kısımları sırayla çalıştırıyor. Amacı C'nin type-safety problemleri olmadan işletim sistemleri seviyesinde bir dil olmaya çalışmak, aynı Rust gibi yani. Kötü durmuyor. Üşenmediğim bir ara TCP local http server denerim. Deneyimlerimi paylaşırım.Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.