📄 readme
字号:
This directory contains some examples illustrating techniques for extractinghigh-performance from flex scanners. Each program implements a simplifiedversion of the Unix "wc" tool: read text from stdin and print the number ofcharacters, words, and lines present in the text. All programs were compiledusing gcc (version unavailable, sorry) with the -O flag, and run on aSPARCstation 1+. The input used was a PostScript file, mainly containingfigures, with the following "wc" counts: lines words characters 214217 635954 2592172The basic principles illustrated by these programs are: - match as much text with each rule as possible - adding rules does not slow you down! - avoid backing upand the big caveat that comes with them is: - you buy performance with decreased maintainability; make sure you really need it before applying the above techniques.See the "Performance Considerations" section of flexdoc for moredetails regarding these principles.The different versions of "wc": mywc.c a simple but fairly efficient C version wc1.l a naive flex "wc" implementation wc2.l somewhat faster; adds rules to match multiple tokens at once wc3.l faster still; adds more rules to match longer runs of tokens wc4.l fastest; still more rules added; hard to do much better using flex (or, I suspect, hand-coding) wc5.l identical to wc3.l except one rule has been slightly shortened, introducing backing-upTiming results (all times in user CPU seconds): program time notes ------- ---- ----- wc1 16.4 default flex table compression (= -Cem) wc1 6.7 -Cf compression option /bin/wc 5.8 Sun's standard "wc" tool mywc 4.6 simple but better C implementation! wc2 4.6 as good as C implementation; built using -Cf wc3 3.8 -Cf wc4 3.3 -Cf wc5 5.7 -Cf; ouch, backing up is expensive
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -