亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? bench_pl.pro

?? 經(jīng)典的基于Context-Free_Grammer 的語(yǔ)法分析器。
?? PRO
字號(hào):
/* BENCH.PL : The classic Prolog benchmark

        Supplied by Quintus Computer Systems, Inc.
        April 30th 1984
*/

/* ======================================================================
   This benchmark gives the raw speed of a Prolog system.

   The measure of logical inferences per second (Lips) used here is taken to
   be procedure calls per second over an example with not very complex
   procedure calls. The example used is that of "naive reversing" a list,
   which is an expensive, and therefore stupid, way of reversing a list.  It
   does, however, produce a lot of procedure calls. (In theoretical terms,
   this algorithm is O(n^2) on the length of the list).

   The use of a single simple benchmark like this cannot, of course, be
   taken to signify a great deal. However, experience has shown that this
   benchmark does provide a very good measure of basic Prolog speed and
   produces figures which match more complex benchmarks. The reason for
   this is that the basic operations performed here: procedure calls with a
   certain amount of data structure access and construction; are absolutely
   fundamental to Prolog execution. If these are done right, then more
   complex benchmarks tend to scale accordingly. This particular benchmark
   has thus been used as a good rule of thumb by Prolog implementors for
   over a decade and forms a part of the unwritten Prolog folklore. So -
   use this benchmark, with this in mind, as a quick, but extremely useful,
   test of Prolog performance.

   In a complete evaluation of a Prolog system you should also be taking
   account speeds of asserting and compiling, tail recursion, memory
   utilisation, compactness of programs, storage management and garbage
   collection, debugging and editing facilities, program checking and help
   facilities, system provided predicates, interfaces to external
   capabilities, documentation and support, amongst other factors.

   ====================================================================== */


/* ----------------------------------------------------------------------
        get_cpu_time(T) -- T is the current cpu time.

        ** This bit will probably require changes to work on your Prolog
           system, since different systems provide this facility in
           different ways. See your Prolog manual for details.
        ** Also check the code for calculate_lips/4 below.
   ---------------------------------------------------------------------- */


get_cpu_time(T) :- statistics(runtime,[T,_]). /* Quintus Prolog version */

/*  get_cpu_time(T) :- T is cputime.     C-Prolog version       */


/* ----------------------------------------------------------------------
        nrev(L1,L2)      -- L2 is the list L1 reversed.
        append(L1,L2,L3) -- L1 appended to L2 is L3.
        data(L)          -- L is a thirty element list.

        This is the program executed by the benchmark.
        It is called "naive reverse" because it is a very expensive way
        of reversing a list. Its advantage, for our purposes, is that
        it generates a lot of procedure calls. To reverse a thirty element
        list requires 496 Prolog procedure calls.
   ---------------------------------------------------------------------- */

nrev([],[]).
nrev([X|Rest],Ans) :- nrev(Rest,L), append(L,[X],Ans).

append([],L,L).
append([X|L1],L2,[X|L3]) :- append(L1,L2,L3).


data([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
                           21,22,23,24,25,26,27,28,29,30]).


/* ----------------------------------------------------------------------
        lots -- Run benchmark with a variety of iteration counts.

        Call this to run the benchmark with increasing numbers
        of iterations. The figures produced should be about the same -
        except that there may be inaccuracies at low iteration numbers
        if the time these examples take to execute on your machine are
        too small to be very precise (because of the accuracy the
        operating system itself is capable of providing).
        If the time taken for these examples is too long or short then
        you should adjust the eg_count(_) facts.
   ---------------------------------------------------------------------- */

lots :-
        eg_count(Count),
        bench(Count),
        fail.
lots.

eg_count(10).
eg_count(20).
eg_count(50).
eg_count(100).
eg_count(200).
eg_count(500).
eg_count(1000).
eg_count(2000).
eg_count(5000).
eg_count(10000).


/* ----------------------------------------------------------------------
        bench(Count) -- Run the benchmark for Count iterations.

        bench provides a test harness for running the naive reverse
        benchmark. It is important to factor out the overhead of setting
        the test up and using repeat(_) to iterate the right number of
        times. This is done by running some dummy code as well to see how
        much time the extra operations take.
   ---------------------------------------------------------------------- */

bench(Count) :-
        get_cpu_time(T0),
        dodummy(Count),
        get_cpu_time(T1),
        dobench(Count),
        get_cpu_time(T2),
        report(Count,T0,T1,T2).


/* ----------------------------------------------------------------------
        dobench(Count) -- nrev a 30 element list Count times.
        dodummy(Count) -- Perform the overhead operations Count times.
        repeat(Count)  -- Predicate which succeeds Count times

        This is the supporting code, which is reasonably clear.
   ---------------------------------------------------------------------- */

dobench(Count) :-
        data(List),
        repeat(Count),
        nrev(List,_),
        fail.
dobench(_).


dodummy(Count) :-
        data(List),
        repeat(Count),
        dummy(List,_),
        fail.
dodummy(_).

dummy(_,_).

repeat(_N).
repeat(N) :- N >1, N1 is N-1, repeat(N1).


/* ----------------------------------------------------------------------
        report(Count,T0,T1,T2) -- Report the results of the benchmark.
        calculate_lips(Count,Time,Lips,Units) --
                Doing Count interations in Time implies Lips lips assuming
                that time is given in Units.

        This calculates the logical inferences per second (lips) figure.
        Remember that it takes 496 procedure calls to naive reverse a
        thirty element list once. Lips, under this benchmark, thus means
        "Prolog procedure calls per second, where the procedure calls
        are not too complex (i.e. those for nrev and append)".

        ** This version of the code assumes that the times (T0.. etc)
           are integers giving the time in milliseconds. This is true for
           Quintus Prolog.  Your Prolog system may use some other
           representation.  If so, you will need to adjust the Lips
           calculation.  There is a C-Prolog version below for the case
           where times are floating point numbers giving the time in
           seconds.
   ---------------------------------------------------------------------- */

report(Count,T0,T1,T2) :-
        Time1 is T1-T0,
        Time2 is T2-T1,
        Time  is Time2-Time1,           /* Time spent on nreving lists */
        calculate_lips(Count,Time,Lips,Units),
        nl,
        write(Lips), write(' lips for '), write(Count),
        write(' iterations taking '), write(Time),
        write(' '), write(Units), write(' ('),
        write(Time2-Time1), write(')'),
        nl.



calculate_lips(_Count,Time,Lips,'msecs') :-     /* Time can be 0 for small */
        Time is 0, !, Lips is 0.                /* values of Count!        */
calculate_lips(Count,Time,Lips,'msecs') :-
        Lips  is (496*float(Count)*1000)/Time.

/* --- C-Prolog version

calculate_lips(Count,Time,Lips,'secs') :- Lips  is (496*Count)/Time.

   --- */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品日韩一| 国产成人综合亚洲网站| 国产一区二区影院| 3d动漫精品啪啪一区二区竹菊| 亚洲色图另类专区| a亚洲天堂av| 中文久久乱码一区二区| 国产成人啪免费观看软件| 一区二区三区四区av| 欧美三级在线播放| 亚洲国产裸拍裸体视频在线观看乱了 | 国产成人啪免费观看软件| 亚洲在线视频免费观看| 在线观看视频91| 亚洲午夜久久久久久久久久久| 久久精品一区蜜桃臀影院| 本田岬高潮一区二区三区| 蜜桃传媒麻豆第一区在线观看| 欧美一级片在线观看| 精品在线视频一区| 国产精品毛片高清在线完整版| 欧美一区二区三区四区视频| 色妹子一区二区| 自拍av一区二区三区| 久久老女人爱爱| 99久久国产综合色|国产精品| 亚洲第一主播视频| 亚洲精品一区在线观看| 国产99久久久久| 亚洲一级二级三级| 一区二区三区在线视频观看58| 国产精品女上位| 欧美国产日产图区| 欧美午夜影院一区| 成人手机电影网| 性欧美大战久久久久久久久| 一区二区三区影院| 一区二区三区中文在线观看| 亚洲人成在线观看一区二区| 欧美xxxxxxxx| 国产午夜三级一区二区三| 884aa四虎影成人精品一区| 欧美日韩在线三级| 欧美日韩电影在线播放| 国产成人av影院| 风流少妇一区二区| 成人激情小说网站| 久久丁香综合五月国产三级网站| ...中文天堂在线一区| 欧美zozozo| 国产亚洲女人久久久久毛片| 国产欧美一区二区三区鸳鸯浴| 8x福利精品第一导航| 欧美一区二区三区不卡| 精品免费国产一区二区三区四区| 精品国产一区二区在线观看| 久久午夜羞羞影院免费观看| 欧美精品高清视频| 色综合一个色综合亚洲| 激情av综合网| 青青草97国产精品免费观看无弹窗版 | 成人免费观看av| 97久久人人超碰| 欧美日韩国产在线观看| 欧美成人a在线| 亚洲国产精品激情在线观看| 日韩一区欧美一区| 亚洲成人免费观看| 麻豆精品久久精品色综合| 国产精品影视在线| 国模娜娜一区二区三区| 福利一区二区在线观看| 日本道在线观看一区二区| 91精品国产手机| 久久久高清一区二区三区| 亚洲色图欧洲色图| 免费一区二区视频| 成+人+亚洲+综合天堂| 宅男在线国产精品| 日本一区二区三区四区在线视频| 一区二区三区四区在线| 国产制服丝袜一区| 91片在线免费观看| 日本道色综合久久| 精品少妇一区二区三区日产乱码 | 91麻豆6部合集magnet| 制服丝袜亚洲色图| 久久嫩草精品久久久精品| 亚洲日本在线观看| 久久国产精品色婷婷| 99久久精品国产一区| 日韩欧美国产三级| 精品国产亚洲在线| 亚洲精品国产第一综合99久久| 九九视频精品免费| 欧美在线观看一区| 国产三区在线成人av| 天天综合色天天综合| 美女视频一区在线观看| 色综合天天综合网国产成人综合天 | 国产色一区二区| 日本人妖一区二区| gogogo免费视频观看亚洲一| 中文字幕精品三区| 国产一区二区0| 国产一区二区精品久久| av毛片久久久久**hd| 精品99999| 日韩激情在线观看| 亚洲电影中文字幕在线观看| 国产成人av电影在线观看| 欧美日韩免费不卡视频一区二区三区| 欧美国产精品一区二区| 久久99国产精品免费网站| 欧美日韩亚洲国产综合| 亚洲欧美视频一区| 大胆亚洲人体视频| 精品少妇一区二区三区| 日韩中文字幕亚洲一区二区va在线 | 色婷婷综合久久久久中文| 亚洲国产高清不卡| 国产剧情一区二区三区| 欧美成人vps| 91一区在线观看| 欧美国产成人在线| 国产高清不卡二三区| 久久亚洲二区三区| 国内精品伊人久久久久影院对白| 欧美一区日本一区韩国一区| 午夜视频在线观看一区二区三区| 91福利小视频| 亚洲一线二线三线视频| 色香蕉成人二区免费| 亚洲色图视频网| 99re视频这里只有精品| 日韩一区有码在线| caoporen国产精品视频| 亚洲欧洲制服丝袜| 在线视频综合导航| 亚洲国产cao| 制服丝袜激情欧洲亚洲| 热久久一区二区| 精品理论电影在线观看| 激情小说欧美图片| 久久久久97国产精华液好用吗| 国产一区二区精品久久91| 欧美激情中文不卡| av激情亚洲男人天堂| 亚洲免费色视频| 欧美日本国产视频| 免费久久精品视频| 26uuu精品一区二区| 国产精品66部| 国产精品久久久久毛片软件| 欧美aaaaaa午夜精品| 日韩精品最新网址| 国产精品一级在线| 国产精品的网站| 欧美自拍丝袜亚洲| 日韩国产欧美在线视频| 久久婷婷色综合| 波多野结衣在线一区| 一区二区三区美女视频| 91精品国产综合久久久蜜臀粉嫩| 久久精品国产亚洲a| 久久久99久久精品欧美| 色综合天天综合网国产成人综合天 | 亚洲欧美在线aaa| 欧美亚洲丝袜传媒另类| 裸体一区二区三区| 国产欧美精品一区aⅴ影院| 色综合咪咪久久| 天天综合色天天| 国产日韩精品一区| 欧美体内she精高潮| 极品少妇xxxx精品少妇| 国产精品电影一区二区三区| 91精品国产aⅴ一区二区| 国产精品乡下勾搭老头1| 亚洲人成在线观看一区二区| 欧美一卡在线观看| 99久久久国产精品| 奇米影视7777精品一区二区| 国产精品免费视频网站| 欧美乱熟臀69xxxxxx| 国产成人精品免费在线| 午夜久久福利影院| 欧美激情一区在线观看| 6080午夜不卡| 99视频有精品| 国内外成人在线| 一区二区三区四区不卡视频| 久久精品网站免费观看| 欧美日韩成人高清| 成人高清视频免费观看| 久久超碰97人人做人人爱| 一区二区三区欧美| 中文一区在线播放| 亚洲精品一区在线观看| 56国语精品自产拍在线观看|