Click here to Skip to main content
14,491,404 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
 
GeneralRe: 53 Years Pin
Cp-Coder5-Feb-20 3:55
MemberCp-Coder5-Feb-20 3:55 
GeneralRe: 53 Years Pin
dbrenth5-Feb-20 7:25
Memberdbrenth5-Feb-20 7:25 
GeneralRe: 53 Years Pin
Cp-Coder5-Feb-20 8:36
MemberCp-Coder5-Feb-20 8:36 
GeneralRe: 53 Years Pin
Mycroft Holmes5-Feb-20 12:21
professionalMycroft Holmes5-Feb-20 12:21 
GeneralRe: 53 Years Pin
Cp-Coder5-Feb-20 12:29
MemberCp-Coder5-Feb-20 12:29 
GeneralRe: 53 Years Pin
charlieg5-Feb-20 23:56
Membercharlieg5-Feb-20 23:56 
GeneralRe: 53 Years Pin
Cp-Coder6-Feb-20 2:00
MemberCp-Coder6-Feb-20 2:00 
GeneralPerformance and various regex techniques Pin
honey the codewitch4-Feb-20 12:01
mvahoney the codewitch4-Feb-20 12:01 
NFA: Lexed in 0.713062 msec

*NFA+DFA (optimized): Lexed in 0.491195 msec

*DFA: Lexed in 0.493133 msec

NFA (raw): Lexed in 1.516519 msec

DFA (raw): Lexed in 0.147636 msec


I think this is interesting in that all but the (raw) are powered by my Pike VM, but the two Raw runs are just implemented using straight finite automata

The raw DFA is of course the fastest by far, but what's interesting about it is this is a special case of the raw NFA algorithm. However, the raw NFA algorithm is much slower than the pike vm! For the DFAs it's the opposite, because of the overhead of running a pike VM, but the pike VM does NFA very efficiently. That's a really interesting property of it.

I might be able to take advantage of that to create some kind of NFA based workflow engine powered by a pike VM

* same lexer program - the NFA+DFA optimized is pure DFA in this instance
Real programmers use butterflies

GeneralI knew it! Pin
OriginalGriff4-Feb-20 9:19
mveOriginalGriff4-Feb-20 9:19 
GeneralRe: I knew it! Pin
Marc Clifton4-Feb-20 11:58
mvaMarc Clifton4-Feb-20 11:58 
GeneralCanadians can't speak Pinyin. Pin
Gerry Schmitz4-Feb-20 7:41
mveGerry Schmitz4-Feb-20 7:41 
GeneralRe: Canadians can't speak Pinyin. Pin
k50544-Feb-20 7:49
Memberk50544-Feb-20 7:49 
GeneralRe: Canadians can't speak Pinyin. Pin
OriginalGriff4-Feb-20 8:03
mveOriginalGriff4-Feb-20 8:03 
GeneralRe: Canadians can't speak Pinyin. Pin
Gerry Schmitz4-Feb-20 8:19
mveGerry Schmitz4-Feb-20 8:19 
GeneralRe: Canadians can't speak Pinyin. Pin
DRHuff4-Feb-20 9:36
MemberDRHuff4-Feb-20 9:36 
GeneralNice! I got it perfect, and I learned something (that maybe should have been obvious) Pin
honey the codewitch4-Feb-20 6:24
mvahoney the codewitch4-Feb-20 6:24 
AnswerRe: Nice! I got it perfect, and I learned something (that maybe should have been obvious) Pin
lopatir4-Feb-20 6:40
Memberlopatir4-Feb-20 6:40 
GeneralRe: Nice! I got it perfect, and I learned something (that maybe should have been obvious) Pin
honey the codewitch4-Feb-20 6:43
mvahoney the codewitch4-Feb-20 6:43 
GeneralRe: Nice! I got it perfect, and I learned something (that maybe should have been obvious) Pin
Jörgen Andersson4-Feb-20 9:25
professionalJörgen Andersson4-Feb-20 9:25 
GeneralThought of the Day Pin
OriginalGriff4-Feb-20 4:39
mveOriginalGriff4-Feb-20 4:39 
GeneralRe: Thought of the Day Pin
Nicholas Marty4-Feb-20 4:57
professionalNicholas Marty4-Feb-20 4:57 
GeneralRe: Thought of the Day Pin
Mike Hankey4-Feb-20 5:01
professionalMike Hankey4-Feb-20 5:01 
QuestionRe: Thought of the Day Pin
lopatir4-Feb-20 6:30
Memberlopatir4-Feb-20 6:30 
GeneralRe: Thought of the Day Pin
W Balboos, GHB4-Feb-20 7:24
mveW Balboos, GHB4-Feb-20 7:24 
GeneralRe: Thought of the Day Pin
pkfox4-Feb-20 8:16
professionalpkfox4-Feb-20 8:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.