This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-01-08
Channels
- # announcements (6)
- # aws (1)
- # beginners (64)
- # boot (22)
- # calva (9)
- # cider (109)
- # clara (4)
- # cljs-dev (29)
- # clojure (112)
- # clojure-europe (2)
- # clojure-italy (6)
- # clojure-nl (3)
- # clojure-russia (215)
- # clojure-spec (80)
- # clojure-uk (13)
- # clojurescript (150)
- # code-reviews (3)
- # core-async (7)
- # cursive (37)
- # data-science (11)
- # datomic (76)
- # figwheel-main (6)
- # fulcro (56)
- # jobs (3)
- # jobs-discuss (22)
- # juxt (4)
- # off-topic (11)
- # pathom (16)
- # planck (5)
- # portkey (63)
- # re-frame (22)
- # reagent (3)
- # remote-jobs (1)
- # ring-swagger (5)
- # shadow-cljs (3)
- # testing (2)
- # tools-deps (6)
thing with Lumo (needs a maintainer btw.) that it is more self-contained for dev time use
@anmonteiro was quite enthusiastic about portkey after our original demo
I looked in V8, and JavaScriotCore at the time and found nothing that could help make portkey-like state serialization possible (I found no public debug api for example)
A wild idea was to use a metainterpreter (like Narcissus) locally to be able to capture ad serialize state
this state serialization is interesting thing, but am I too depressed in thinking on how to avoid it? 🙂
the killer as in “the hairy stuff that no one wants to work on and that keeps the project from moving forward”?
https://zeit.co/ without pushing code even
not a killer feature but something different enough to open new use cases (offload compute to AWS)
lambda layers are zip packages (5 at max) that are extracted onto the Lambda runtime, each ontop of each other (edit: layers)
custom runtime is a way to expose a cross platform api for running a lambda https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html
what was the thing in common lisp where your make the process exit and serialize its state to create an executable
Lumo uses V8 snapshotting, JVM has some form of snapshotting mechanism too (class sharing thing, I forget the canonical name/link to it’s documentation)
Given https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html it may be possible to restore a on Lambda a process checkpointed on the client
Class data sharing was the thing: https://docs.oracle.com/javase/9/vm/class-data-sharing.htm#JSJVM-GUID-7EAA3411-8CF0-4D19-BD05-DF5E1780AA91
> When the JRE is installed using the installer, the installer loads a set of classes from the system Java Archive (JAR) file into a private internal representation, and dumps that representation to a file called a shared archive. If JRE installer is not being used, then you can generate the shared archive manually. > > When the JVM starts, the shared archive is memory-mapped to allow sharing of read-only JVM metadata for these classes among multiple JVM processes. The startup time is reduced thus saving the cost because restoring the shared archive is faster than loading the classes.
but this seems not to make a big impact: https://mjg123.github.io/2017/10/04/AppCDS-and-Clojure.html
> The benefit of regular CDS is going to be greater when your app loads fewer classes - ie when the core Java classes make a large proportion of your app. So for a larger app we need to look beyond regular CDS.
Re: pull the coprocessor state from the cloud. Misunderstood “restore a on Lambda a process checkpointed on the client”, but yeah
great read !