Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
* [Cerowrt-devel] Adopting lua
@ 2011-12-13 21:52 Dave Taht
  2011-12-13 22:52 ` Dave Taht
  0 siblings, 1 reply; 2+ messages in thread
From: Dave Taht @ 2011-12-13 21:52 UTC (permalink / raw)
  To: cerowrt-devel

[-- Attachment #1: Type: text/plain, Size: 1776 bytes --]

One both good and horrible thing I did back in june...

http://lists.noise.gatech.edu/pipermail/bismark-devel/2011-July/000251.html

was to swap the default gui from xwrt to luci. Good, in that that GUI keeps
getting better and better. Bad, because neither jim, nor I, know lua the
language at all, and can't add features nor fix gui issues.

I've learned  a lot of languages in my life, but can write shell and C and
SQL in my sleep. In olden days I could count LISP among those, too, and a
dozen others, but not of late.

Recently I shot myself in the foot, trying to scale kleinrock up and down
by doing a simple lookup table for 'sqrt' for various amounts of flows in
the various AQM attempts I have going using 'tc' in the deBloat.git repo.
The numbers were so off from correct, that I realized that I really needed
to take a sqrt directly...

and the only way to do that (or so I thought) was to write a shell script
wrapper around 'bc'...

and to get bc, I needed to compile and install it on cerowrt.

Not only that, but the shell script was horribly slow, taking 2 minutes in
one version, to create the tc rules. I rewrote it in C, cutting that time
down to 6 ms (and getting my !@! sqrt function for free), but that lacks
the run time flexibility of an interpreter.

Then I realized that lua could do the job...

lua -e "print(math.sqrt(12))"

and then I realized, why not try writing the AQM stuff entirely in lua and
see if I got a good compromise between shell and C.

and finally be able to do gui stuff, eventually.

It's an odd way to bite the bullet and decide to try to learn a new
language, but, there it is.


-- 
Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
FR Tel: 0638645374
http://www.bufferbloat.net

[-- Attachment #2: Type: text/html, Size: 2048 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Cerowrt-devel] Adopting lua
  2011-12-13 21:52 [Cerowrt-devel] Adopting lua Dave Taht
@ 2011-12-13 22:52 ` Dave Taht
  0 siblings, 0 replies; 2+ messages in thread
From: Dave Taht @ 2011-12-13 22:52 UTC (permalink / raw)
  To: cerowrt-devel

[-- Attachment #1: Type: text/plain, Size: 2485 bytes --]

On Tue, Dec 13, 2011 at 10:52 PM, Dave Taht <dave.taht@gmail.com> wrote:

> One both good and horrible thing I did back in june...
>
> http://lists.noise.gatech.edu/pipermail/bismark-devel/2011-July/000251.html
>
> was to swap the default gui from xwrt to luci. Good, in that that GUI
> keeps getting better and better. Bad, because neither jim, nor I, know lua
> the language at all, and can't add features nor fix gui issues.
>
> I've learned  a lot of languages in my life, but can write shell and C and
> SQL in my sleep. In olden days I could count LISP among those, too, and a
> dozen others, but not of late.
>
> Recently I shot myself in the foot, trying to scale kleinrock up and down
> by doing a simple lookup table for 'sqrt' for various amounts of flows in
> the various AQM attempts I have going using 'tc' in the deBloat.git repo.
> The numbers were so off from correct, that I realized that I really needed
> to take a sqrt directly...
>
> and the only way to do that (or so I thought) was to write a shell script
> wrapper around 'bc'...
>
> and to get bc, I needed to compile and install it on cerowrt.
>
> Not only that, but the shell script was horribly slow, taking 2 minutes in
> one version, to create the tc rules. I rewrote it in C, cutting that time
> down to 6 ms (and getting my !@! sqrt function for free), but that lacks
> the run time flexibility of an interpreter.
>
> Then I realized that lua could do the job...
>
> lua -e "print(math.sqrt(12))"
>
> and then I realized, why not try writing the AQM stuff entirely in lua and
> see if I got a good compromise between shell and C.
>
> and finally be able to do gui stuff, eventually.
>
> It's an odd way to bite the bullet and decide to try to learn a new
> language, but, there it is.
>

translated the c into lua (t minus whenever I sent this message)

time ./htb-bt-qfq-red-4mbit > /dev/null

real    0m1.762s
user    0m0.180s
sys    0m0.330s

d@cruithne:~/git/deBloat/src$ time ./a.out > /dev/null

real    0m0.025s
user    0m0.020s
sys    0m0.000s

d@cruithne:~/git/deBloat/src$ time ./test.lua > /dev/null

real    0m0.090s
user    0m0.083s
sys    0m0.007s

Moving to lua, I think, is wise.



>
>
> --
> Dave Täht
> SKYPE: davetaht
> US Tel: 1-239-829-5608
> FR Tel: 0638645374
> http://www.bufferbloat.net
>



-- 
Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
FR Tel: 0638645374
http://www.bufferbloat.net

[-- Attachment #2: Type: text/html, Size: 3414 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-12-13 22:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-13 21:52 [Cerowrt-devel] Adopting lua Dave Taht
2011-12-13 22:52 ` Dave Taht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox