<br><br><div class="gmail_quote">On Tue, Dec 13, 2011 at 10:52 PM, Dave Taht <span dir="ltr"><<a href="mailto:dave.taht@gmail.com">dave.taht@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
One both good and horrible thing I did back in june...<br><br clear="all"><a href="http://lists.noise.gatech.edu/pipermail/bismark-devel/2011-July/000251.html" target="_blank">http://lists.noise.gatech.edu/pipermail/bismark-devel/2011-July/000251.html</a><br>

<br>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.<br>
<br>
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.<br><br>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...<br>

<br>and the only way to do that (or so I thought) was to write a shell script wrapper around 'bc'...<br><br>and to get bc, I needed to compile and install it on cerowrt.<br><br>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. <br>

<br>Then I realized that lua could do the job...<br><br>lua -e "print(math.sqrt(12))"<br><br>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.<br>

<br>and finally be able to do gui stuff, eventually.<br><br>It's an odd way to bite the bullet and decide to try to learn a new language, but, there it is.<span class="HOEnZb"><font color="#888888"><br></font></span></blockquote>
<div><br>translated the c into lua (t minus whenever I sent this message)<br><br>time ./htb-bt-qfq-red-4mbit > /dev/null<br><br>real    0m1.762s<br>user    0m0.180s<br>sys    0m0.330s<br><br>d@cruithne:~/git/deBloat/src$ time ./a.out > /dev/null<br>

<br>
real    0m0.025s<br>
user    0m0.020s<br>
sys    0m0.000s<br><br>d@cruithne:~/git/deBloat/src$ time ./test.lua > /dev/null<br><br>real    0m0.090s<br>user    0m0.083s<br>sys    0m0.007s<br><br>Moving to lua, I think, is wise.<br><br> <br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br><br>-- <br>Dave Täht<br>SKYPE: davetaht<br>US Tel: <a href="tel:1-239-829-5608" value="+12398295608" target="_blank">1-239-829-5608</a><br>
FR Tel: 0638645374<br><a href="http://www.bufferbloat.net" target="_blank">http://www.bufferbloat.net</a><br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br>Dave Täht<br>SKYPE: davetaht<br>US Tel: 1-239-829-5608<br>FR Tel: 0638645374<br><a href="http://www.bufferbloat.net" target="_blank">http://www.bufferbloat.net</a><br>