Difference between revisions of "Interesting libraries"

From dankwiki
(add link to libprefetch)
 
(5 intermediate revisions by the same user not shown)
Line 9: Line 9:
 
* [https://sourceforge.net/projects/translate/ Pootle's python-Levenshtein] ([[Debian]] package: python-levenshtein)
 
* [https://sourceforge.net/projects/translate/ 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."
 
** "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."
 +
* [http://www.scl.ameslab.gov/Projects/Rabbit/ libpmc] (No Debian package) -- [[Performance Counters|performance counter]] abstraction library
 
* [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
* [http://www.scl.ameslab.gov/Projects/Rabbit/ libpmc] (No Debian package) -- [[performance counters|performance counter]] abstraction library
+
* AMD's [http://developer.amd.com/cpu/libraries/acml/pages/default.aspx AMD Core Math Library] (ACML) provides FORTRAN AMD64-optimized math routines
 
+
* AMD's [http://developer.amd.com/cpu/Libraries/AMDStringLibrary/Pages/default.aspx AMD String Library] provides AMD64-optimized versions of [[Glibc|libc]] string functions
 +
* [http://www.open-mpi.org/projects/hwloc/ Portable Hardware Locality] library ([[Debian]] package: [http://packages.debian.org/unstable/libhwloc-dev libhwloc])
 +
** Maintained by the OpenMPI team
 +
* [http://www.ohloh.net/p/dict LIBMAA] ([[Debian]] package: libmaa2) provides memory-optimized data structures and algorithms useful to compiler authors
 +
* [http://libprefetch.cs.ucla.edu/ libprefetch] seeks to eliminate...seeks
 
==See also==
 
==See also==
 
* [[Working with libraries]]
 
* [[Working with libraries]]
 
* The [[Network servers]] page lists event libraries
 
* The [[Network servers]] page lists event libraries

Latest revision as of 02:08, 28 January 2010

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