• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp190
r3wp3717
total:3907

results window for this page: [start: 3901 end: 3907]

world-name: r3wp

Group: Core ... Discuss core issues [web-public]
Maxim:
9-Feb-2012
Our datasets are huge and we optimise for performance by unfolding 
and indexing a lot of stuff into rules... for example instead of 
parsing by a list of words, I parse by a hierarchical tree of characters. 
 its much faster since the speed is linear to the length of the word 
instead of to the number of items in the table. i.e.  the typical 
 O*n   vs.   O*O*n  type of scenario .  just switching to parse already 
was 10 times faster than using  hash! tables and using find on them.... 


In the end, we had a 100 time speed improvement from before parse 
to compiled parse datasets.  this means going from 30 minutes to 
less than 20 seconds....but this comes at a huge cost in RAM... a 
400MB Overhead to be precise.
Maxim:
9-Feb-2012
O*O*n
  == a typo  :-)

I guess I really meant  something like O(n*n) 


Its the kind of dramatic  linear vs logarithmic scaling difference 
when we unfold our datasets into parse.


but its not exactly that kind of scaling, since the average topology 
of the sort tree will have a lot of impact on the end-result.  for 
example in my system, when I try to index more than the first 5 characters, 
the speed gain is so insignificant that the ratio is quickly skewed, 
when compared to the difference which the first 3 letters give.  


Its 100% related to the actual dataset I use.  in some, going past 
2 is already almost useless, in others I will have to go beyond 5 
for sure.  in some other datasets we unfold them using hand-picked 
algorythms per branch of data, and others its a pure, brute force 
huge RAM gobler.
Group: REBOL Syntax ... Discussions about REBOL syntax [web-public]
Endo:
14-Feb-2012
Well.. may be silly question, but can I use those parse magics in 
my projects? I didn't see license information.
Maxim:
17-Feb-2012
Steve are you aware of the R3 parse AND operator?  maybe that is 
throwing you off?
Steeve:
6-Mar-2012
About short Date syntax .
A valid month is taken from system/locale/months:
== ["January" "February" "March" "April" "May" "June"
    "July" "August" "September" "October" "November" "December"
]

The month must be 3 letters a least, but longer sub-strings are valid 
forms as well:

eg. 1-Jan-2000, 1-Janu-2000, 1-Janua-2000,1-Januar-2000,1-January-2000.


One can do a simple rebol function to pick-up a valid month from 
system/locale/months.

Doing this only with plain formal static parse rules would be painfull 
because it should include all the valid sub-strings.
eg. ["Jan" | "Janu" | "Janua" | ...]

What do you think ?
Steeve:
6-Mar-2012
Even something like that ?


months: {-January-February-March-April-May-June-July-August-September-October-November-December}
check-month: use [sav *month][
	[copy *month [#"-" 3 20 letters] sav: :months to *month :sav]
]

probe parse "1-Marc-2000" [1 2 digits check-month #"-" 1 4 digits]
Andreas:
6-Mar-2012
(Ah, and no "advanced" parse constructs. Trying to stay PEG compatible.)
3901 / 390712345...36373839[40]