I have evaluated the performance of the .ctags based Forth parser with https://github.com/universal-ctags/codebase.

[yamato@dev64]~/var/codebase% ./codebase ctags --ctags ~/bin/ctags Forth  
version: db9fe7e0
features: +wildcards +regex +iconv +debug +option-directory +xpath +json +interactive +sandbox +yaml +packcc +optscript +pcre2
log: results/db9fe7e0,Forth...............,..........,time......,default...,2023-09-13-00:41:19.log
tagsoutput: /dev/null
cmdline: + /home/yamato/bin/ctags --quiet --options=NONE --sort=no --options=profile.d/maps --totals=yes --languages=Forth -o - -R code/4th code/duskos code/gforth code/ueforth code/uf
ctags: Warning: cannot open input file "code/gforth/arch/arm/android/libs/x86" : No such file or directory
ctags: Warning: cannot open input file "code/gforth/arch/arm/android/libs/arm64-v8a" : No such file or directory
ctags: Warning: cannot open input file "code/gforth/arch/arm/android/libs/x86_64" : No such file or directory
1621 files, 211549 lines (6278 kB) scanned in 0.5 seconds (13218 kB/s)

See the last line 13218 kB/s.

For Go:

[yamato@dev64]~/var/codebase% ./codebase ctags --ctags ~/bin/ctags Go   
version: db9fe7e0
features: +wildcards +regex +iconv +debug +option-directory +xpath +json +interactive +sandbox +yaml +packcc +optscript +pcre2
log: results/db9fe7e0,Go..................,..........,time......,default...,2023-09-13-00:41:40.log
tagsoutput: /dev/null
cmdline: + /home/yamato/bin/ctags --quiet --options=NONE --sort=no --options=profile.d/maps --totals=yes --languages=Go -o - -R code/buildah code/go code/kubernetes code/podman
28378 files, 8449364 lines (265525 kB) scanned in 11.3 seconds (23434 kB/s)

For C:

[yamato@dev64]~/var/codebase% ./codebase ctags --ctags ~/bin/ctags C
version: db9fe7e0
features: +wildcards +regex +iconv +debug +option-directory +xpath +json +interactive +sandbox +yaml +packcc +optscript +pcre2
log: results/db9fe7e0,C...................,..........,time......,default...,2023-09-13-01:27:03.log
tagsoutput: /dev/null
cmdline: + /home/yamato/bin/ctags --quiet --options=NONE --sort=no --options=profile.d/maps --totals=yes --languages=C -o - -R code/gforth code/linux code/mysql-server code/perl5 code/php-src code/postgresql code/qemu code/r-source code/ruby code/ueforth
ctags: Warning: cannot open input file "code/gforth/arch/arm/android/libs/x86" : No such file or directory
ctags: Warning: cannot open input file "code/gforth/arch/arm/android/libs/arm64-v8a" : No such file or directory
ctags: Warning: cannot open input file "code/gforth/arch/arm/android/libs/x86_64" : No such file or directory
ctags: Warning: cannot open input file "code/qemu/roms/edk2/EmulatorPkg/Unix/Host/X11IncludeHack" : No such file or directory
ctags: Warning: cannot open input file "code/qemu/roms/skiboot/ccan/heap/LICENSE" : No such file or directory
47673 files, 28992400 lines (827018 kB) scanned in 57.2 seconds (14469 kB/s)

The Forth parser is a bit slower than the C parser. But I think this is acceptable.
NOTE: The ctags executable used in the performance test is built with --enable-debugging.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <geany/geany/issues/3557/1716060713@github.com>