One is old and one is new.
exp/regexp in the "release" is a newer regexp package that wasn't
ready to be the main regexp pkg at the time of the release.
In the weeklies "exp/regexp" is now called just "regexp" and the old
one was moved to "old/regexp"
- jessta
--
=====================
http://jessta.id.au
Sorry, and I have another question:
Did "ext/xxxx" pkgs are newer/beta version? and will be merged to root of pkg tree?
Is there some inherent design which prevents Go from performing better?
The Go version which is used on the language shootout page is pretty old and Go isnow able to inline short functions. The heuristics for that are getting tuned constantly.
-christoph
That doesn't mean what you think it means.
>> I did some local benchmarks last week and the Go version just took about
>> 3x more time (not 24x as listed on the shootout page).
>
> Is the Go source code for that program the same as that shown on the
> benchmarks game web page?
Why don't you see for yourself? At the very least, the regexp package
has changed underfoot, even if the benchmark program is the same.
Andrew
I think it's pretty clear here that the author is not attempting in
any way, shape, or form, to spread 'fear', 'uncertainty', or 'doubt'.
He's simply incorrect, and basing his response on his prior knowledge
and experience. There's a world of difference between being mistaken
and responding based on a misunderstanding and purposely and what
you're suggesting here.
>> I did some local benchmarks last week and the Go version just took about
>> 3x more time (not 24x as listed on the shootout page).
>
> Is the Go source code for that program the same as that shown on the
> benchmarks game web page?
- Jim
I'm only guessing, but I suspect that the regex test used in the
shootout works well with backtracking implementations.
However, backtracking is worst case exponential. The very first
diagram in http://swtch.com/~rsc/regexp/regexp1.html shows that PCRE
performance can be many orders of magnitude worse than an NFA
implementation. Note that PCRE's time is measured in seconds, NFA's in
micros.
It would be trivial to construct a test case where PCRE would be 1000x
slower than Go's regexp, even though PCRE is written in C. "Biased"
may be too strong a word -- I don't think there is malicious intent --
but the regexp shootout does not contain such a test.
> - please tell me what "prior knowledge and experience" could give
> someone the impression that "the Go version which is used on the
> language shootout page is pretty old" when the fact of the matter is
> that the Go measurements have been updated 50 times in the 2 years 2
> months that Go has been included.
Again, for me, the term FUD connotates intentional deception, and I'd
presume that this was simply an honest mistake.
My real estate agent sent me a letter earlier this week with my name
misspelled. This was easily confirmable as false, yet I still believe
that it was an honest mistake.
I don't know anything about you, if I start publishing negativeinformation about you - information that I could easily confirm is
false if I bothered to check - would that be "simply an honest
mistake"?
You also claimed "The Go version which is used on the language
shootout page is pretty old" - that's not true, why did you claim that?