|
From: | suzuki toshiya |
Subject: | [ft-devel] FreeType2 API popularity investigation |
Date: | Tue, 04 Sep 2012 19:11:39 +0900 |
User-agent: | Mozilla-Thunderbird 2.0.0.12 (X11/20080406) |
Hi, Just I did a preliminary investigation of FreeType2 API popularity. What I did was following: 1) Get the catalogs of the binary packages of Linux distributions. Debian: mirror site's dists/{unstable,stable,testing}/{main,contrib,non-free}/binary-i386/Packages.bz2 Fedora: mirror site's linux/releases/[0-9][0-9]/Fedora/i386/os/repodata/XXX-primary.xml.gz In my case, Debian sid and FedoraCore 17 were checked. 2) Get the binary packages that the catalog shows the direct dependency from the binary package to libfreetype.so.6. Parsing the catalog files are done by attached Ruby scripts (parseAptPackages.rb for Debian, parseYumPrimary.rb for Fedora) 3) Extract the package content and execute "nm" on the binary executable, shared object, and archive files. Then pick the symbols looking like FreeType2. Scanning is done by attached shell scripts (mkDebListUsingFT.sh for .deb package, mkRpmListUsingFT.sh for .rpm package). 4) Result Also I attached the list of package (pkglist), the list of APIs used by the packages (per-package counting) (usedfunc), and the frequency list (freqlist). The unit of the frequency is the number of the package (how many package uses the function), not the number of the reference (how many times the function is referred). -- One of the interesting point is that the frequencies of FT_Init_FreeType() and FT_Done_FreeType() are different. I guess that some applications allocate FT_Library object but finishes without freeing it. Regards, mpsuzuki Werner LEMBERG wrote: >> I think FreeType3 should have some distinction of APIs between the >> APIs bound to real single font file, and APIs not bound to. Maybe I >> should investigate the existing software and make a list of referred >> APIs and their popularity. > > Please do so! > > > Werner
mkDebListUsingFT.sh
Description: Bourne shell script
freqlist-sid.txt.xz
Description: Binary data
usedfunc-sid.txt.xz
Description: Binary data
pkglist-sid.txt.xz
Description: Binary data
parseAptPackages.rb
Description: application/ruby
mkRpmListUsingFT.sh
Description: Bourne shell script
pkglist-fc17.txt.xz
Description: Binary data
usedfunc-fc17.txt.xz
Description: Binary data
freqlist-fc17.txt.xz
Description: Binary data
parseYumPrimary.rb
Description: application/ruby
[Prev in Thread] | Current Thread | [Next in Thread] |