r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!Cheyenne] Discussions about the Cheyenne Web Server

Dockimbel
25-May-2009
[4984]
Wouldn't that break most of JS/AJAX frameworks?
Maxim
25-May-2009
[4985x4]
not if you edit the code so the urls match your site's separators. 
 I have come across some sites with strange separators.
but as written in the php docs... obfuscation isn't a replacement 
for real security.
so most people put their time on tackling the real problems like 
sql injection and https use properly
and use https properly.
Maxim
29-May-2009
[4989x2]
doc, I have noticed a usage in your mods which you might want to 
change for speed reasons.


you use the word return a lot... and in my tests, it causes a BIG 
performance hit on function calling... I really mean noticeable when 
you do loop profiling ... a minimum of 20% slow down IIRC.

so instead of:

    phase: func [svc req conf][
        if declined? [return none]
        ...
        if let-others [return false]
        ...
        true
    ]

you really should be doing 

phase: func [svc req conf][
        if accept? req [
              ...
             true =  let-others? req
       ]
] 

just my two cents.
oops... reversed the emaning of that last return value...  this is 
better

phase: func [svc req conf][
        if accept? req [
              ...
             end-phase? req
       ]
]
Graham
29-May-2009
[4991]
so just drop off the end?
Janko
29-May-2009
[4992]
Doc.. just a tiny bug report.. when I am working with latest version 
in debug mode firebug reports me javascript warning: I haven't been 
digging into if this is supposed to be a bug or intentional...
>> test for equality (==) mistyped as assignment (=)?

>> [Break on this error] if (node = document.getElementById('menu' 
+ id)) {\n
Maxim
29-May-2009
[4993]
yes graham, all functions return a value, a rare few return unset!.

'IF, for example,  returns none when the condition isn't true.
Graham
29-May-2009
[4994]
well, I wasn't aware of a hit using 'return.
Maxim
29-May-2009
[4995]
returns enables the catch/throw as does break IIRC, so there is overhead 
in the function's calling.
Graham
29-May-2009
[4996]
so 20% of what?
Maxim
29-May-2009
[4997x3]
let me do an example
>> s: now/precise a: func [][return none] loop 1000000 [a]  difference 
now s
== 0:00:01.032

>> s: now/precise a: func [][none] loop 1000000 [a]  difference now 
s
== -0:00:00.296
in this case the difference is 70%
Graham
29-May-2009
[5000]
now if I have a 1000 line function that either teminates in a return 
or just the value .. how much does it affect it?
Maxim
29-May-2009
[5001x2]
the larger the func, the less hit, you can see that each function 
call is taking more time to initialise because of the return.
its just a question of maximising performance, and I know dockimbel 
is very serious about improving cheyenne's .
Graham
29-May-2009
[5003]
so, in reality it may matter very little
Maxim
29-May-2009
[5004x2]
he is using return everywhere, without possibly realising that it 
might be affecting the whole by 5% overall.
in all processing loops I've measure a resonably high latency, to 
actualy ban it from all of my code.
Graham
29-May-2009
[5006]
so how do you break out of a loop ?
Maxim
29-May-2009
[5007x5]
I rarely need to do so... I implement the loop conditions properly, 
usually.


obviously there are cases where you really can't live without out 
it... but as a general rule, I rarelly ever need break.
isn't there a way to set the verbose level in the httpd.cfg file?


  I want no arguments to running cheyenne, only config... using args 
  for persistent app is the first point of failure in panic maintenance.
my god cheyenne needs docs.
don't read the above as multiple instances of Doc (although that 
might be the real answer  ;-)
help! cheyenne has no trace.log file in logs, and I can't get the 
verbosity to work without using command-line args which isn't an 
option in my current setup.
Graham
29-May-2009
[5012x5]
what do you mean no trace.log ?
How many instances of Cheyenne are you running?
The log will go to the first instance of Cheyenne started.
the trace.log appears in the chyenne directory if there is an error.
It doesn't appear in the logs/ directory
BrianH
29-May-2009
[5017]
You can set verbosity in the config file - check the comments in 
the file for how.
Maxim
29-May-2009
[5018x3]
no comments of verbosity in my config file.... no trace.log in my 
main cheyenne dir  ' : -/
I've tried to write that line SEVEN times before altme finally didn't 
eat it up or drop connection.
>: - (
Graham
29-May-2009
[5021x4]
It's really bad at present...
Never seen it like this before .....
I only get a trace.log when I get a RSP error.
What is your situation Max?
Maxim
29-May-2009
[5025x2]
my cheyenne was crashing (no replies client close connection)  with 
no log, no verbosity.
but I finaly conceded victory to cheyenne and managed to setup args 
for my startup...
Graham
29-May-2009
[5027]
and exactly why can't you run it in verbose mode?
Maxim
29-May-2009
[5028]
but I find it strange that cheyenne doesn't have a trace log for 
all of its accesses/errors.
Graham
29-May-2009
[5029]
there is an access.log
Maxim
29-May-2009
[5030x2]
I have no .log file of any kind being created in any of the cheyenne 
dirs.
(or uniserve for hat matter)
Graham
29-May-2009
[5032]
including the log directory?
Maxim
29-May-2009
[5033]
this is the latest release. from the web site.