You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This appears to be due to Julia compilation on the first time c"..." macro is encountered.
@time@evalusing CBinding
@time@evalc``@time@evalc""" struct Point1 { long long x; long long y; };"""j;
@time@evalc""" struct Point2 { long long x; long long y; };"""j;
$ time julia-ver init-time.jl
0.127416 seconds (366.37 k allocations: 23.747 MiB, 23.11% compilation time)
1.036880 seconds (3.39 M allocations: 204.519 MiB, 3.83% gc time, 2.10% compilation time)
4.584189 seconds (15.00 M allocations: 879.728 MiB, 7.24% gc time, 99.91% compilation time)
0.013201 seconds (9.30 k allocations: 347.551 KiB, 20.69% compilation time)
real 0m5.933s
user 0m5.953s
sys 0m0.467s
Since CBinding is using CBinding-generated bindings to interface libclang, this is most likely a manifestation of #98, and is definitely something that can be improved.
I have two versions of Julia and CBinding. All tests are done under Ubuntu 20.04, WSL2, Intel(R) Core(TM) i9-10940X CPU @ 3.30GHz.
There are two scripts that have close definitions.
Timing (real) of running of some configurations. I got these value by running
time julia-ver script.jl
The fastest version of CBinding is 0.9.4 with Julia 1.7.3. The current release is >6 times slower. Is it possible to speed up the upcoming releases?
The text was updated successfully, but these errors were encountered: