'''June 20, 2002''' - obsolete and confusing info from this page has been removed -[jcw] Performance of wiki markup rendering used to be pretty bad (see comment further down). The [kiwi] project includes a new renderer which is probably 10x faster (but only HTML so far, no Tk version). It's all largely irrelevant for CGI use, now that wiki uses a static page cache. Things are more than fast enough now. Having just converted to new hyperlink tracking code in wikit, I decided to collect a bit of stats. First the output: ---- 3551 pages 1176 pages have never been filled in 497 archive entries 11320 hyperlinks 2025 pages have hyperlinks to others 2129 pages are being hyperlinked from others 273 leaves (pages not referencing any others wiki pages): 12 33 45 80 87 94 98 110 111 112 113 114 115 116 117 118 119 120 122 124 126 130 133 134 135 142 143 148 157 158 160 169 171 205 225 287 288 289 292 293 295 306 307 310 311 315 316 318 319 326 330 331 352 368 370 372 373 374 377 381 408 416 422 424 426 429 431 433 474 475 476 558 568 570 574 575 587 589 615 616 629 636 644 651 670 673 675 678 679 680 681 684 687 710 716 730 762 767 785 790 809 811 813 816 832 842 857 858 863 865 890 891 896 905 928 939 946 950 965 1087 1095 1098 1135 1142 1144 1165 1172 1173 1174 1190 1192 1193 1201 1210 1219 1244 1274 1285 1289 1290 1301 1320 1342 1350 1357 1359 1366 1521 1524 1528 1540 1541 1543 1544 1545 1557 1564 1565 1566 1567 1610 1629 1634 1641 1649 1650 1654 1747 1761 1804 1825 1826 1828 1831 1833 1842 1861 1863 1864 1872 1885 1891 1895 1932 1937 2040 2059 2063 2111 2124 2125 2127 2128 2132 2133 2134 2152 2156 2168 2194 2209 2247 2270 2346 2360 2374 2385 2386 2387 2416 2458 2497 2515 2526 2539 2558 2606 2661 2701 2764 2815 2939 2940 2975 3001 3019 3033 3038 3043 3050 3064 3066 3075 3082 3083 3102 3104 3115 3144 3182 3185 3207 3214 3282 3288 3289 3298 3317 3323 3340 3373 3381 3400 3405 3406 3435 3438 3444 3450 3458 3461 3470 3472 3473 3475 3476 3482 3513 3518 3538 3543 3545 3547 236 orphans (pages not referenced from any others): 22 23 47 65 66 151 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 328 329 384 385 386 387 388 389 390 394 412 415 419 438 439 449 452 455 456 461 464 465 466 467 499 520 521 522 536 538 545 554 566 572 577 578 579 580 581 582 597 598 599 601 605 641 655 658 664 665 695 700 705 711 725 726 742 745 746 753 754 789 798 802 806 807 810 817 818 845 854 862 868 892 893 914 925 1005 1076 1127 1131 1138 1139 1160 1164 1169 1170 1209 1216 1221 1226 1231 1235 1238 1250 1257 1282 1284 1311 1319 1326 1338 1341 1349 1352 1370 1371 1376 1377 1382 1523 1617 1676 1706 1732 1768 1774 1795 1814 1839 1843 1858 1876 1894 1902 1904 1907 1920 1928 1929 1930 2121 2163 2167 2182 2184 2219 2225 2388 2405 2410 2412 2438 2454 2474 2481 2505 2521 2522 2534 2568 2625 2644 2654 2700 2733 2742 2800 2834 2840 2847 2861 2873 2880 2892 2893 2934 2938 2966 2971 2972 2974 2998 3017 3029 3045 3046 3049 3059 3168 3199 3230 3247 3248 3335 3434 3436 3437 3442 ---- ''The code that generated the above:'' ---- #! /usr/bin/env tclkit mk::file open db wikit.tkd -readonly puts "[mk::view size db.pages] pages" puts "[llength [mk::select db.pages date 0]] pages have never been filled in" puts "[mk::view size db.archive] archive entries" puts "[mk::view size db.refs] hyperlinks" mk::loop c db.refs { lassign [mk::get $c from to] f t if {$f < 10 || $t < 10 || [mk::get db.pages!$t date] == 0} continue if {![info exists froms($f)]} { set froms($f) 0 } incr froms($f) if {![info exists tos($t)]} { set tos($t) 0 } incr tos($t) } puts "[array size froms] pages have hyperlinks to others" puts "[array size tos] pages are being hyperlinked from others" set leaves {} foreach {k v} [array get tos] { if {![info exists froms($k)]} { lappend leaves $k } } puts "[llength $leaves] leaves (pages not referencing any others wiki pages):" puts [join [lsort -integer $leaves] "\t "] set orphans {} mk::loop c db.pages 10 { set i [mk::cursor pos c] if {[mk::get $c date] != 0 && ![info exists tos($i)]} { lappend orphans $i } } puts "[llength $orphans] orphans (pages not referenced from any others):" puts [join [lsort -integer $orphans] "\t "] ---- 06oct02 [jcw] - Wikit has been modified to enhance its performance when rendering pages with lots of embedded page references, including pages such as [Recent Changes]. This has a more-than-order-of-magnitude effect. This is especially noticeable in local mode, but CGI also benefits. ---- [Category Wikit] - [Category Tcler's Wiki]