Speed up rendering of large gemini pages.
[elpher.git] / ISSUES.org
index 58fbe01..9923820 100644 (file)
@@ -1,4 +1,4 @@
-#+TITLE: Development notes/ideas
+#+TITLE: Issues and Dev Notes
 #+TODO: OPEN(o!) | CLOSED(c!) INVALID(i@)
 #+STARTUP: logdrawer
    
@@ -14,6 +14,15 @@ that contains path separators and probably other characters that I
 haven't thought of.  This is dangerously unacceptable and needs to be
 fixed right away.
 
+** OPEN Set timer after creating network process
+
+While the current order is necessary for synchronous socks
+connections, it is unecessary for regular connections which have the
+no-wait flag set.  Furthermore, for these connections, having the
+timer fire up early means that it interferes with requests for
+user interaction that may appear during the initial connection setup.
+E.g., asking for approval of uknown TLS certificates.
+
 * Closed Bugs
   
 ** CLOSED Org mode faces are not present in recent emacs versions
@@ -251,3 +260,20 @@ collapsable hierarchies.
 :LOGBOOK:
 - State "CLOSED"     from "OPEN"       [2021-07-23 Fri 10:09]
 :END:
+
+** CLOSED Improve gemeini rendering speed
+:LOGBOOK:
+- State "CLOSED"     from "OPEN"       [2021-07-31 Sat 00:18]
+:END:
+
+Currently pages with many links render extremely slowly.
+
+Example (>2000 links, 15s): gemini://rawtext.club/~sloum/geminilist/
+
+It turns out that by far the main contributor to this is the use of
+(url-port) in elpher-address-from-gemini-url.  I encountered this
+problem once before in elpher-remove-redundant-ports.  This function
+call is just incredibly slow for some bizarre reason.  Happily,
+(url-portspec) is functionally equivalent and is orders of magnitude
+faster.  With this replacement, loading the above page takes ~2s
+and there aren't any other hotspots.