Minor but fun changes today

Alan DeKok aland at deployingradius.com
Tue Feb 10 23:05:23 CET 2015

  After some discussion, I moved the REQUESTs to using a talloc pool.  i.e. it allocates a 32K chunk of memory for reach request, and then allocates REQUEST, RADIUS_PACKET, VALUE_PAIR, etc. within that.  If the pool runs out of memory, talloc() will fall back to using malloc.  So there’s no downside to this.  We’ve made a few other minor changes, too.

  Preliminary performance tests show a 35% decrease in time (clock cycles, via valgrind) to process the default configuration, with one user:

bob	Cleartext-Password := “bob”

  I don’t expect the server to get 35% faster for everything.  Once it hits a database or uses EAP-TLS, all bets are off.  Those things are *slow*.

  But the changes today were ~600 LoC, for a 35% decrease in processing time.  That’s not bad.

  Alan DeKok.

More information about the Freeradius-Devel mailing list