Why using a self-made lisp here ? Why not using an existing one ? Is it because regular lisps use a VM ? But then what's the tradeoff ? On a side note, i really don't know if the savings will be worth it once the company starts growing and hiring. They'll spend a lot of time maintaining very custom code, running on a custom implementation of a language, alongside erlang codebase... Unless they open source everything…
Probably has something to do with this statement, repeated many times on the page: We are able to do this, because starting our LISP-VM and doing all these processes on every request, is still many times faster that having a VM (with a garbage collector) online all the time. Self-made LISPs usually aren't that complicated to write, and if you're taking shortcuts like preallocating chunks of memory rather than writing…
Using Erlang, C And Lisp To Fight The Tsunami Of Mobile Data
21–30 of 33 posts
Re: Using Erlang, C And Lisp To Fight The Tsunami Of Mobile Data
#22Earlier quoted context omitted.
Is there a specific process you follow? Lean/agile whatever buzzword that is closest to describe how you go from idea to delivery. How close do you work with your clients and how much is your system changing in response to feedback? What drawbacks (if any) the current tech stack choices had so far on your?
Having a small (but very strong) R&D team helps you eliminate most of these "processes". The buzzword here is "iterations". Lot's of them. Our clients were involved since day 0 (which I think is the key of our success btw). The first prototype (built in two days) was in Erlang using Mnesia. The drawbacks are: + not having lots of engineers knowing C and Erlang + Outsiders having problem with LISP (that's why we imple…
Re: Using Erlang, C And Lisp To Fight The Tsunami Of Mobile Data
#23Why using a self-made lisp here ? Why not using an existing one ? Is it because regular lisps use a VM ? But then what's the tradeoff ? On a side note, i really don't know if the savings will be worth it once the company starts growing and hiring. They'll spend a lot of time maintaining very custom code, running on a custom implementation of a language, alongside erlang codebase... Unless they open source everything…
Re: Using Erlang, C And Lisp To Fight The Tsunami Of Mobile Data
#24Earlier quoted context omitted.
Having a small (but very strong) R&D team helps you eliminate most of these "processes". The buzzword here is "iterations". Lot's of them. Our clients were involved since day 0 (which I think is the key of our success btw). The first prototype (built in two days) was in Erlang using Mnesia. The drawbacks are: + not having lots of engineers knowing C and Erlang + Outsiders having problem with LISP (that's why we imple…
This is a great write-up. Off-topic, but I'm wondering what bottlenecks you encountered with the straight Erlang + Mnesia prototype?
Re: Using Erlang, C And Lisp To Fight The Tsunami Of Mobile Data
#25Re: Using Erlang, C And Lisp To Fight The Tsunami Of Mobile Data
#26Earlier quoted context omitted.
Probably has something to do with this statement, repeated many times on the page: We are able to do this, because starting our LISP-VM and doing all these processes on every request, is still many times faster that having a VM (with a garbage collector) online all the time. Self-made LISPs usually aren't that complicated to write, and if you're taking shortcuts like preallocating chunks of memory rather than writing…
Since garbage collecting seems such a great issue, does anyone knows of an effort to have an objective-C-like language with automatic reference counting and memory retain/release (like with clang) on the server side ? PS : i'm speaking objective-c here because it's the only language i know that does it that way, not because of its features as a language.
EDIT: There's a downside to reference counting in that either you or the runtime does the retain/release calls very often, whereas a mark-and-sweep collector would just touch each object once per collection. So reference counting might not be faster overall, but typically avoids long pauses. What you probably really want is something like Azul's JVM, which has a kernel extension so they can collect memory concurrently, resulting in shorter pauses than sweeping and faster overall time than reference counting.
Re: Using Erlang, C And Lisp To Fight The Tsunami Of Mobile Data
#27Earlier quoted context omitted.
The question was not "how do you do it once you decide" but "how do you decide on such an arbitrary replacement". Also: "Do not be confused by the /proc/sys/net/ipv4/tcp_fin_timeout config item. The FIN TIMEOUT is not the same as the TIMEWAIT length." -- http://www.stolk.org/debian/timewait.html
The value was picked heuristically after measuring through Ganglia and a set of CLI tools the average TCP dialog duration between a set of mobile devices and our database and then performing a set of tests with varying TIMEWAIT lengths. The 20 second period is a sweet (and round :)) spot with - Panagiotis Papadomitsos, Head of Infrastructure @ BugSense
Re: Using Erlang, C And Lisp To Fight The Tsunami Of Mobile Data
#28Re: Using Erlang, C And Lisp To Fight The Tsunami Of Mobile Data
#29Re: Using Erlang, C And Lisp To Fight The Tsunami Of Mobile Data
#30I am interest in the missing part: what data structures/layouts are used inside LDB? Cause for In-Memory DB, CPU cache miss plays a key role in executing query. And how much data are touched to execute a single query in common case?