Interesting libraries

From dankwiki
Jump to: navigation, search

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
  • Portable Hardware Locality library (Debian package: libhwloc)
    • Maintained by the OpenMPI team
  • LIBMAA (Debian package: libmaa2) provides memory-optimized data structures and algorithms useful to compiler authors
  • libprefetch seeks to eliminate...seeks

See also