I was working on solving project euler problems in zig 0.15.2
this problem where i had to find the first 1000 digit fib. so this is the code that i could come up with, (i dont know any optimisations yet)
Even the building time is greater than 1min.
(I use Nushell)
These are the benchmarks.(sorry if its a little vague)
~/Desktop/Programming/zig/Project-Euler> zig build-exe 1000-digit_fib.zig ; mv 1000-digit_fib fib_n_digit
~/Desktop/Programming/zig/Project-Euler> timeit {./fib_n_digit 3}
first 3 digit fib: 144
1ms 664µs 348ns
~/Desktop/Programming/zig/Project-Euler> timeit {./fib_n_digit 100}
first 100 digit fib: 1344719667586153181419716641724567886890850696275767987106294472017884974410332069524504824747437757
87ms 551µs 749ns
~/Desktop/Programming/zig/Project-Euler> zig build-exe -OReleaseFast 1000-digit_fib.zig ; mv 1000-digit_fib fib_n_digit
~/Desktop/Programming/zig/Project-Euler> timeit {./fib_n_digit 3}
first 3 digit fib: 144
1ms 747µs 496ns
~/Desktop/Programming/zig/Project-Euler> timeit {./fib_n_digit 100}
first 100 digit fib: 1344719667586153181419716641724567886890850696275767987106294472017884974410332069524504824747437757
8sec 687ms 467µs 890ns
~/Desktop/Programming/zig/Project-Euler> zig build-exe -OReleaseSafe 1000-digit_fib.zig ; mv 1000-digit_fib fib_n_digit
~/Desktop/Programming/zig/Project-Euler> timeit {./fib_n_digit 3}
first 3 digit fib: 144
3ms 377µs 501ns
~/Desktop/Programming/zig/Project-Euler> timeit {./fib_n_digit 100}
first 100 digit fib: 1344719667586153181419716641724567886890850696275767987106294472017884974410332069524504824747437757
8sec 843ms 478µs 807ns