Check out my first novel, midnight's simulacra!

Interesting libraries: Difference between revisions

From dankwiki
No edit summary
No edit summary
Line 12: Line 12:
* [http://perfmon2.sourceforge.net/ libpfm] ([[Debian]] package: libpfm3) (Linux only)
* [http://perfmon2.sourceforge.net/ libpfm] ([[Debian]] package: libpfm3) (Linux only)
** An analogue to [[libpmc]] for Linux? "The goal of the project is to design and implement, on all major architectures, a standard Linux kernel interface, to access the hardware performance counters of modern processors. The project also developed a user library, libpfm, and a tool, pfmon." Appears to require a kernel patch, even against 2.6.25.
** An analogue to [[libpmc]] for Linux? "The goal of the project is to design and implement, on all major architectures, a standard Linux kernel interface, to access the hardware performance counters of modern processors. The project also developed a user library, libpfm, and a tool, pfmon." Appears to require a kernel patch, even against 2.6.25.
* [http://oss.sgi.com/projects/cpusets/ libcpusets] ([[Debian]] package: http://packages.debian.org/search?keywords=libcpuset)
* [http://oss.sgi.com/projects/cpusets/ libcpusets] ([[Debian]] package: [http://packages.debian.org/search?keywords=libcpuset libcpuset])
** [[cpuset]] management from userspace, courtesy of SGI (useful for [[NUMA]])
** [[cpuset]] management from userspace, courtesy of SGI (useful for [[NUMA]])
* [http://libhugetlbfs.ozlabs.org/ libhugetlbfs] (No Debian package) (Linux only) -- transparent [[Pages|hugetlbfs]]-backed allocation
* [http://libhugetlbfs.ozlabs.org/ libhugetlbfs] (No Debian package) (Linux only) -- transparent [[Pages|hugetlbfs]]-backed allocation

Revision as of 06:13, 4 October 2009

Libraries I ought check out, for possible use in my code (hopefully replacing bitrotting code I'm no longer interested in) or just to learn from (I've discovered most of these via aptitude's "New Packages" functionality):

  • ssdeep (Debian package: ssdeep)
    • Context-triggered hashing for fuzzy content matching. Could be used for ctxdiff.
  • liboil (Debian package: liboil-dev)
    • Simple functions optimized for various CPU's. Could replace libdank's magic.c.
  • cxxtools (Debian package: libcxxtools-dev)
    • Utility functionality for C++ beyond the standard libraries.
  • Pootle's python-Levenshtein (Debian package: python-levenshtein)
    • "The Levenshtein module computes Levenshtein distances, similarity ratios, generalized medians and set medians of Unicode or non-Unicode strings...The Levenshtein distance is the minimum number of single-character insertions, deletions, and substitutions to transform one string into another. It is useful for spell checking, or fuzzy matching of gettext messages."
  • libpmc (No Debian package) -- performance counter abstraction library
  • libpfm (Debian package: libpfm3) (Linux only)
    • An analogue to libpmc for Linux? "The goal of the project is to design and implement, on all major architectures, a standard Linux kernel interface, to access the hardware performance counters of modern processors. The project also developed a user library, libpfm, and a tool, pfmon." Appears to require a kernel patch, even against 2.6.25.
  • libcpusets (Debian package: libcpuset)
    • cpuset management from userspace, courtesy of SGI (useful for NUMA)
  • libhugetlbfs (No Debian package) (Linux only) -- transparent hugetlbfs-backed allocation
  • AMD's AMD Core Math Library (ACML) provides FORTRAN AMD64-optimized math routines
  • AMD's AMD String Library provides AMD64-optimized versions of libc string functions


See also