[tor-commits] [stem/master] Compare descriptor parsing libraries

atagar at torproject.org atagar at torproject.org
Sun Oct 18 21:38:47 UTC 2015


commit d6985eeec6d42ddcf043f898e4a0a2026a56dd48
Author: Damian Johnson <atagar at torproject.org>
Date:   Sun Oct 18 14:34:46 2015 -0700

    Compare descriptor parsing libraries
    
    First step for the scheme Karsten and I hatched to comparing our libraries...
    
      https://lists.torproject.org/pipermail/tor-dev/2015-October/009606.html
    
    This is the easy part. Next up need to write some metrics-lib scripts to get
    some performance benchmarks...
---
 docs/_static/style.css                       |   10 ++++++
 docs/tutorials/mirror_mirror_on_the_wall.rst |   42 ++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)

diff --git a/docs/_static/style.css b/docs/_static/style.css
index 098529d..fe9db20 100644
--- a/docs/_static/style.css
+++ b/docs/_static/style.css
@@ -5,3 +5,13 @@ div.literal-block-wrapper {
 span.caption-text {
     float: right;
 }
+
+span.red {
+    color: red;
+    font-weight: bold;
+}
+
+span.green {
+    color: green;
+    font-weight: bold;
+}
diff --git a/docs/tutorials/mirror_mirror_on_the_wall.rst b/docs/tutorials/mirror_mirror_on_the_wall.rst
index 2677aeb..1e6aadc 100644
--- a/docs/tutorials/mirror_mirror_on_the_wall.rst
+++ b/docs/tutorials/mirror_mirror_on_the_wall.rst
@@ -12,6 +12,7 @@ with what they are and where to get them then you may want to skip to the end.
 * :ref:`validating-the-descriptors-content`
 * :ref:`saving-and-loading-descriptors`
 * :ref:`putting-it-together`
+* :ref:`are-there-any-other-parsing-libraries`
 
 .. _what-is-a-descriptor:
 
@@ -248,3 +249,44 @@ could use any of the methods above, but for this example we'll use
   14. politkovskaja2 (24.93 MB/s)
   15. wau (24.72 MB/s)
 
+.. _are-there-any-other-parsing-libraries:
+
+Are there any other parsing libraries?
+--------------------------------------
+
+Yup! Stem isn't the only game in town when it comes to parsing. `Metrics-lib
+<https://gitweb.torproject.org/metrics-lib.git/>`_ is a highly mature parsing
+library for Java, and `Zoossh
+<https://gitweb.torproject.org/user/phw/zoossh.git/>`_ is available for Go.
+Each library has its own capabilities...
+
+.. role:: red
+.. role:: green
+
+=========================== ================= =============== ==============
+Capability                  Stem              Metrics-lib     Zoossh
+=========================== ================= =============== ==============
+Language                    :green:`Python`   :green:`Java`   :green:`Go`
+Checks signatures           :green:`Mostly`   :red:`No`       :red:`No`
+Create new descriptors      :red:`No`         :red:`No`       :red:`No`
+Lazy parsing                :green:`Yes`      :red:`No`       :green:`Yes`
+Type detection by @type     :green:`Yes`      :green:`Yes`    :red:`No`
+Type detection by filename  :green:`Yes`      :red:`No`       :red:`No`
+Packages                    :green:`Several`  :red:`None`     :red:`None`
+**Can Read/Download From**
+Files                       :green:`Yes`      :green:`Yes`    :green:`Yes`
+Tarballs                    :green:`Yes`      :green:`Yes`    :red:`No`
+Directory Authorities       :green:`Yes`      :green:`Yes`    :red:`No`
+CollecTor                   :red:`No`         :green:`Yes`    :red:`No`
+**Supported Types**
+Server Descriptors          :green:`Yes`      :green:`Yes`    :green:`Partly`
+Extrainfo Descriptors       :green:`Yes`      :green:`Yes`    :red:`No`
+Microdescriptors            :green:`Yes`      :green:`Yes`    :red:`No`
+Consensus                   :green:`Yes`      :green:`Yes`    :green:`Partly`
+Bridge Descriptors          :green:`Yes`      :green:`Yes`    :red:`No`
+Hidden Service Descriptors  :green:`Yes`      :red:`No`       :red:`No`
+Bridge Pool Assignments     :red:`No`         :green:`Yes`    :red:`No`
+Torperf                     :red:`No`         :green:`Yes`    :red:`No`
+Tordnsel                    :green:`Yes`      :green:`Yes`    :red:`No`
+=========================== ================= =============== ==============
+



More information about the tor-commits mailing list