Another option is to use Clojure's built-in socket server (requires Clojure
1.8) it is really nothing more than a TCP socket attached to a normal
Clojure repl, so you'll be loading no extra middleware or really anything
at all that could slow it down.
http://clojure.org/reference/repl_and_main#_launching_a_socket_server

On your local box you can use netcat to connect this all to inferior-lisp.
It's a stripped down experience for sure, but it's also going to be about
the lightest remote repl you can get.


On Wed, Aug 31, 2016 at 11:39 AM, Sean Corfield <s...@corfield.org> wrote:

> My understanding is that, by default, CIDER loads quite a bit of
> middleware when it connects so that’s likely the cause of the slowdown. You
> can override the middleware to provide a more stripped-down experience (but
> you’ll lose a lot of CIDER’s functionality) – check the CIDER docs for that.
>
>
>
> Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
> An Architect's View -- http://corfield.org/
>
> "If you're not annoying somebody, you're not really alive."
> -- Margaret Atwood
>
>
>
> On 8/31/16, 10:28 AM, "Gregg Reynolds" <clojure@googlegroups.com on
> behalf of d...@mobileink.com> wrote:
>
>
>
> Hi,
>
>
>
> I'm having some trouble connecting from a Mac to an nREPL running on an
> Intel Edison.  I'm using boot to launch the nREPL on the Edison; it's
> *very* slow to launch (~2 minutes 15 seconds), which is not too surprising
> since the Edison is a relatively constrained device (1 Mb RAM, Atom CPU at
> 500 MHz).  But connecting to the nREPL with cider-connect is also painfully
> slow (~75 seconds).  By contrast, connecting via ssh is quite fast.
>
>
>
> Does it make sense that connecting is so slow?  I would think that once
> the JVM and Clojure are up and running connecting should not be so sluggish.
>
>
>
> I'm not sure where to direct this question which is why I'm posting to the
> general list.  At first I thought is was a Cider problem but now I'm not so
> sure.  Maybe its an nREPL issue?  Any suggestions?
>
>
>
> I'm using Clojure 1.7.  Would upgrading make any difference?
>
>
>
> Note that there are three ways to connect to an Edison. It has two USB
> ports; one functions as a serial line you can use to connect using screen,
> the other functions as an IP-over-USB line (192.168.2.15 on if usb0; this
> works out-of-the-box on OS X, might need some configuration on other
> platforms).  If you connect it to a WiFI network you get a third IP on
> interface wlan0.
>
>
>
> If I cider-connect to edison2.local (I named my device 'edison2'), cider
> tries to establish a direct connection.  If I cider-connect to 192.168.2.15
> it tries direct connection; using WiFi IP (e.g. 192.168.1.206), cider tries
> to establish an ssh tunnel.  In all cases I get the spinning beachball for
> well over a minute.
>
>
>
> I can cancel the spinning beachball so it isn't totally hung.
>
>
>
> Once a connection is established, the nREPL is quite snappy.
>
>
>
> ## Steps to reproduce the problem
>
>
>
> Connect to the Edison via the serial line (i.e. screen -L
> /dev/cu.usbserial... 115200 -l) and launch the nREPL using boot (details
> below).
>
>
>
> On the Mac host, open a simple clj file in Emacs, cider-connect (C-c M-c)
> using any of the hosts mentioned above.
>
>
>
> Thanks,
>
>
>
> Gregg
>
>
>
> ## Environment & Version information
>
>
>
> ### CIDER version information
>
>
>
> ```
>
> ;; Connected to nREPL server - nrepl://localhost:8088
>
> ;; CIDER 0.13.0 (California), nREPL 0.2.12
>
> ;; Clojure 1.7.0, Java 1.8.0-internal
>
> ```
>
>
>
> ### Boot version
>
>
>
> ~/.boot/profile.boot:
>
>
>
> (deftask cider "CIDER profile"
>
>   []
>
>   (require 'boot.repl)
>
>   (swap! @(resolve 'boot.repl/*default-dependencies*)
>
>          concat '[[org.clojure/tools.nrepl "0.2.12"]
>
>                   [cider/cider-nrepl "0.13.0"]
>
>                   #_[refactor-nrepl "2.2.0"]])
>
>   (swap! @(resolve 'boot.repl/*default-middleware*)
>
>          concat '[cider.nrepl/cider-middleware
>
>                   #_refactor-nrepl.middleware/wrap-refactor])
>
>   identity)
>
>
>
> Launch cmd:  `$ boot cider repl`  (this takes a long time, like a couple
> of minutes)
>
>
>
> nREPL startup msg:
>
>
>
> nREPL server started on port 8088 on host 127.0.0.1 - nrepl://
> 127.0.0.1:8088
>
> REPL-y 0.3.7, nREPL 0.2.12
>
> Clojure 1.7.0
>
> OpenJDK Server VM 1.8.0-internal-neck_2016_06_06_15_38-b00
>
>
>
> ### Emacs version
>
>
>
> Emacs 24.5.1 (x86_64-apple-darwin13.4.0, NS apple-appkit-1265.21)
>
>
>
> clojure-mode-display-version:  clojure-mode (version 5.5.2)
>
>
>
> ### Operating system
>
>
>
> Emacs running on OS X 10.11.5
>
>
>
> nREPL running on Intel Edison:
>
>
>
> edison2:~/nrepl$ uname -a
>
> Linux edison2 3.10.98-poky-edison+ #1 SMP PREEMPT Mon Jun 6 14:32:08 PDT
> 2016 i686 GNU/Linux
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
“One of the main causes of the fall of the Roman Empire was that–lacking
zero–they had no way to indicate successful termination of their C
programs.”
(Robert Firth)

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to