• last updated 29 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- added editor hints

ad_proc reform:

- use nsf::proc for defining ad_procs, when nsf::proc is available

- nsf::proc is part of the environment of XOTcl2 and provides

an efficient, C-implemented argument parser that can replace

the scripted *__arg_parser of OpenACS.

- The benefits are performance and reduced memory consumption.

* Simple functions (where the calling overhead was a large

part of the execution times can become several times faster

(e.g. db_name is 3x faster, cookie handling is 2x faster),

for functions with much db-activities the percentage will

be less.

* The memory consumption (RSS) of a site like OpenACS.org

is reduced by about 15%.

NEW (with nsf::proc)

::ad_get_cookie x: 10.93 microseconds per iteration

::ad_get_cookie ad_session_id: 21.95 microseconds per iteration

::dt_systime: 24.89 microseconds per iteration

::db_name: 8.70 microseconds per iteration

::db_string dbqd.null.g "select version() from dual": 316.66 microseconds per iteration

::ad_convert_to_html "hello world": 102.29 microseconds per iteration

OLD (without nsf::proc)

::ad_get_cookie x: 19.42 microseconds per iteration

::ad_get_cookie ad_session_id: 30.10 microseconds per iteration

::dt_systime: 27.55 microseconds per iteration

::db_name: 32.28 microseconds per iteration

::db_string dbqd.null.g "select version() from dual": 366.69 microseconds per iteration

::ad_convert_to_html "hello world": 160.51 microseconds per iteration

======================================================================

proc mtime cmd {set c 5000

set t [time [list time $cmd $c]];

regexp {^(-?[0-9]+) +} $t _ mS1;

set ms [expr {$mS1*1.0/$c}];

return "[format %6.2f $ms] microseconds per iteration"

}

set tests {

{::ad_get_cookie x} {::ad_get_cookie ad_session_id} {::dt_systime}

{::db_name} {::db_string dbqd.null.g "select version() from dual"}

{::ad_convert_to_html "hello world"}

}

foreach t $tests {append ::_ $t ": " [mtime $t] \n}

set ::_

======================================================================

  1. … 9 more files in changeset.
Merging back to HEAD branch oacs-5-8 (using tag vg-merge-oacs-5-8-from-20141027).

  1. … 2546 more files in changeset.
minor cleanup:

- prefer namespace path over "global" statement

- don't abbreviate tcl subcommands

- add commented line for preferdbi

- don't activate dbi per default

- don't depend on dbi_foreach, since this is deprecated

- added stub for defining ::acs::preferdbi for early adaptors

- replace "foreach ... break" idiom by "lassign"

- use global variable ::acs::rootdir similar to ::acs::libdir or ::acs::pageroot

  1. … 1 more file in changeset.
Moving handling NaviServer deprecated ns_info subcommands to 0-acs-init.tcl.

  1. … 1 more file in changeset.
Normalizing string comparison operations into tcl 8.4 operations, enabling byte-code compilation for expressions and many conditionals

  1. … 367 more files in changeset.
don't rename away __is_xql

merge of changes on oacs-5-0 branch to oacs-5-0-0b4 tag

  1. … 598 more files in changeset.
Added Jeff's tDom check and a couple of related and unrelated changes to config.tcl.

  1. … 1 more file in changeset.
Fix paths to ETP templates which are now outside the pageroot.

Adding openacs.org specific init tcl files.

file openacsorg-init.tcl was initially added on branch openacs-org.

file polyxena-procs.tcl was initially added on branch openacs-org.

merge of 4.6.3b1 to HEAD

  1. … 29 more files in changeset.
merge fix for bug 193 to HEAD

  1. … 3 more files in changeset.
traverse the tcl and www trees and parse the .xql files found. No longer necessary to provide fully qualified query names in the .xql files. fixes bug 193

  1. … 3 more files in changeset.

A bunch of "ACS"->"OpenACS" and similar changes

  1. … 28 more files in changeset.

added query dispatcher code to zz-postload to load queries for default pages in /www

added query for front page

now the congratulations page is there!

  1. … 4 more files in changeset.

Oops - forgot to commit a file when making my big commit creating

acs-bootstrap-installer.

bootstrapper can now load either the Oracle or PostgreSQL acs-kernel

datamodel. It checks on-the-fly for which db is configured in the OpenNSD

database pools allocated to OpenACS. Only acs-kernel is correctly self-

configured at this point.

  1. … 113 more files in changeset.
OpenACS 4.x

  1. … 1320 more files in changeset.
Initial revision

  1. … 1320 more files in changeset.