I just checked, and ns_base64encode is also faster than [binary encode 
base64] by about a factor of 2.

-J

Gustaf Neumann wrote:
> Dear friends,
>
> Maybe, someone finds this information useful:
>
> just now, i did a quick comparison of the various
> options for base64 codecs. It shows that NaviServer's
> built-in ns_base64encode  is very fast:
> it is up to a factor of 1.000 faster than the Tcl-only
> version of base64::encode, and even a factor of 10
> faster than base64::encode based on Trf (Trf 2.1.4).
> While a big difference relative to the plain Tcl version
> is expected, the improvement over the C-based Trf
> is remarkable.
>
> The results are measured with the latest version of
> NaviServer from bitbucket under Mac OS X 10.9.5
>
> Using ns_base64encode reduces the external
> dependencies and is by far the fastest version.
>
> all the best
> -g
>
>
>
> size=100
>               tcllib:       134.713824 microseconds
>               tcllib+trf:     4.561536 microseconds
>               ns:             0.541651 microseconds
>
> size=1000
>               tcllib:      1281.819696 microseconds
>               tcllib+trf:    16.93683  microseconds
>               ns:             1.517516 microseconds
>                       
> size=10000
>               tcllib:     12638.85578 microseconds
>               tcllib+trf:   143.11120 microseconds            
>               ns:            11.08016 microseconds
>
> size=100000
>               tcllib:    127344.794553 microseconds
>               tcllib+trf:  1423.021879 microseconds
>               ns:           113.504248 microseconds
>
> ------
>
> foreach i {10 100 1000 10000} {
>     set s [string repeat 0123456789 $i]
>     lappend _ size=[string length $s]
>     lappend _ tcllib:[time {base64::encode $s} 1000]
>     lappend _ ns:[time {ns_base64encode $s} 1000]
> }
> join $_ \n
>
>
>
> ------------------------------------------------------------------------------
> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
> from Actuate! Instantly Supercharge Your Business Reports and Dashboards
> with Interactivity, Sharing, Native Excel Exports, App Integration & more
> Get technology previously reserved for billion-dollar corporations, FREE
> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
>
>
>
> _______________________________________________
> naviserver-devel mailing list
> naviserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/naviserver-devel
>


------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to