HH-Parse / profile.lisp

(defpackage :hh-parse-profile
  (:use :cl :asdf :hh-utils :hh-parse))

(in-package :hh-parse-profile)

;; Note this file is not presently used by the package, but is included for 

(sb-profile:profile "HH-PARSE")

(sb-profile:reset)

;; TODO: Need to rethink how we profile, since grammars are now constructed at load time,
;; and that was the most expensive part of this code

(defgrammar html-grammar document
  ( tag-name ()   (= name identifier) )
  
  ( attribute-name ()  (identifier) )

  (integer-term () 
	   (digit)
	   (integer-term digit))
  (numeric-value () ( (? (^ plus minus)) integer-term (? decimal integer-term)))
  (number-term () (numeric-value))

  (es () (? ws))

  ( quantity-value ()  (^ number-term
		       ( number-term pct-symbol)
		       ( number-term pct)
		       ( number-term px) ) )

  ( attribute-value () (^ quantity-value
			string-value))

  ( attribute ()  (attribute-name es equal-sign es attribute-value))

  ( attribute-list ()  ( attribute (* ws attribute)))

  ( start-tag ()  (lt es tag-name (? ws attribute-list) es gt))

  ( end-tag (reduction #'ignore-terms)  (lt es forward-slash es tag-name  gt))

  ( single-tag ()  (lt es tag-name (? ws attribute-list) es forward-slash es gt))

  ( tag ()  (^ single-tag
	    (start-tag es (* (^ tag html-text)) es end-tag)))
  (document () (tag)))

(deflexer html-lexer (:text)
  (:tag #'digit-char-p digit)
  (:tag #'alpha-char-p identifier :accumulate #'(lambda (nc)
						  (and nc
						       (or (digit-char-p nc) 
							   (alpha-char-p nc)
							   (equal #\_ nc)))))
  (:text #\< lt :state :tag)
  (:tag #\> gt :state :text)
  (:tag #\+ plus)
  (:tag #\- minus)
  (:tag #\. decimal)
  (:tag #\/ forward-slash)
  (:tag #\% percent-symbol)
  (:tag #\= equal-sign)
  (:tag #'whitespace-p ws :accumulate #'whitespace-p)
  (:text t html-text :accumulate #'(lambda (nc) (char/= #\< nc))))


(let* ((grammar (html-grammar))
       (source (make-source "<foo bar=1>borp whaple</foo>"))
       (lexer (make-instance 'html-lexer :source source))
       (parser (make-parser lexer grammar))) 
  (parse-token parser (next-token lexer)))

(sb-profile:report)

(sb-profile:unprofile)

#|
LATEST : Changes after reducing the # of times productions are generated via RULE-PRODUCTIONS.
  Actual elapsed time is less than prior version, although profiling doesn't necessary suggest
  an improvement.

  seconds  |     gc     |     consed    |    calls   |  sec/call  |  name  
----------------------------------------------------------------
    37.786 |      0.551 | 1,189,346,064 |    992,924 |   0.000038 | HH-PARSE::RULE-PRODUCTIONS-IN-GRAMMAR
    33.705 |      0.000 |             0 | 70,497,604 |  0.0000005 | HH-PARSE::RULE-NAME
    14.100 |      0.017 |    65,015,200 | 17,210,741 |   0.000001 | HH-PARSE::EQUAL-ITEMS
     2.253 |      0.021 |    20,541,424 |  1,310,879 |   0.000002 | HH-PARSE::NEXT-TERM-AND-LOOKAHEAD-FOR-ITEM
     1.273 |      0.000 |         4,080 |  1,343,241 |   0.000001 | HH-PARSE::ITEM-FINISHED-P
     0.368 |      0.000 |             0 |    385,143 |   0.000001 | HH-PARSE::ITEMS
     0.359 |      0.000 |             0 |    101,345 |   0.000004 | HH-PARSE::EXITS
     0.252 |      0.005 |    21,136,576 |    255,703 |   0.000001 | HH-PARSE::INITIAL-LR1-ITEM-FOR-PRODUCTION
     0.236 |      0.000 |             0 |    226,982 |   0.000001 | HH-PARSE::ITEM<
     0.057 |      0.000 |             0 |     21,127 |   0.000003 | HH-PARSE::ENTRIES
     0.054 |      0.005 |     2,806,272 |     28,265 |   0.000002 | HH-PARSE::INCREMENT-LR1-ITEM-POSITION
     0.036 |      0.021 |     1,048,336 |          1 |   0.035545 | MAKE-SOURCE
     0.018 |      0.000 |        69,632 |      4,097 |   0.000004 | HH-PARSE::NEXT-TERM-FOR-ITEM
     0.018 |      0.000 |     1,713,280 |          1 |   0.017995 | (SETF CURRENT-COLUMN-POSITION)
     0.010 |      0.000 |       923,520 |         23 |   0.000433 | HH-PARSE::RULE-PRODUCTIONS
     0.007 |      0.000 |       651,360 |          1 |   0.006988 | MAKE-PARSER
     0.007 |      0.000 |       639,952 |         29 |   0.000239 | HH-PARSE::INSERT-INTO
     0.007 |      0.000 |       543,520 |         28 |   0.000235 | HH-PARSE::INSERT-CHARACTER
     0.002 |      0.000 |       322,320 |         18 |   0.000102 | HH-PARSE::FOR-EACH-RULE
     0.001 |      0.000 |             0 |        341 |   0.000004 | HH-PARSE::RULE-SPEC-RULE-NAME
     0.001 |      0.000 |         4,096 |          1 |   0.000998 | HH-PARSE::SYMBOLS-IN-GRAMMAR
     0.001 |      0.000 |             0 |          5 |   0.000198 | HH-PARSE::STACK
     0.001 |      0.000 |        46,304 |         16 |   0.000060 | HH-PARSE::GENRULESYM
     0.001 |      0.000 |             0 |         28 |   0.000033 | (SETF HH-PARSE::TEXT-OF)
     0.001 |      0.000 |             0 |         58 |   0.000015 | HH-PARSE::COLUMN-AT
     0.001 |      0.000 |             0 |        169 |   0.000004 | CURRENT-POSITION
     0.001 |      0.000 |        24,432 |          1 |   0.000550 | (SETF SOURCE-TEXT)
    0.0004 |      0.000 |             0 |         28 |   0.000016 | HH-PARSE::FLUSH-PARSERS
    0.0003 |      0.000 |             0 |      2,128 |  0.0000001 | HH-PARSE::RULE-SPEC-RULE-RHSS
     0.000 |      0.000 |         4,080 |          1 |   0.000000 | HH-PARSE::NEXT-LEX-CHARACTER
     0.000 |      0.000 |             0 |         16 |   0.000000 | HH-PARSE::NONCAPTURE-COMPOUNDTERMP
     0.000 |      0.000 |             0 |          1 |   0.000000 | HH-PARSE::PRODUCTIONS-IN-GRAMMAR
     0.000 |      0.000 |             0 |          1 |   0.000000 | HH-PARSE::INCF-LEX-POSITION
     0.000 |      0.000 |         4,096 |         29 |   0.000000 | (SETF HH-PARSE::COLUMN-AT)
     0.000 |      0.000 |             0 |          1 |   0.000000 | HH-PARSE::CURRENT-LEX-CHARACTER
     0.000 |      0.000 |        16,384 |          1 |   0.000000 | HH-PARSE::TRANSFORM-FOR-NIL
     0.000 |      0.000 |         4,096 |          9 |   0.000000 | HH-PARSE::FOR-EACH-RHS
     0.000 |      0.003 |    12,686,656 |          1 |   0.000000 | HH-PARSE::LR1-STATES-FOR-GRAMMAR
     0.000 |      0.006 |    36,632,880 |    839,638 |   0.000000 | HH-PARSE::FIRST-OF-SYMBOL
     0.000 |      0.067 |   228,666,416 |     64,107 |   0.000000 | HH-PARSE::CLOSURE-OF-LR1-ITEMS
     0.000 |      0.000 |             0 |          1 |   0.000000 | HH-PARSE::ACTIONS
     0.000 |      0.000 |             0 |         17 |   0.000000 | HH-PARSE::COMPOUNDTERMP
     0.000 |      0.000 |             0 |          1 |   0.000000 | HH-PARSE::GRAMMAR
     0.000 |      0.000 |             0 |          1 |   0.000000 | HH-PARSE::AUGMENT-GRAMMAR
     0.000 |      0.000 |             0 |         16 |   0.000000 | HH-PARSE::RULE-SPEC-RULE-SLOTS
     0.000 |      0.000 |         4,096 |         15 |   0.000000 | HH-PARSE::MAKE-NEW-NAMED-RULE
     0.000 |      0.000 |             0 |          2 |   0.000000 | HH-PARSE::CURRENT-PARSER-CONTEXT
     0.000 |      0.000 |         8,160 |          2 |   0.000000 | HH-PARSE::MAKE-LINES
     0.000 |      0.000 |             0 |         17 |   0.000000 | HH-PARSE::CAPTURE-COMPOUNDTERMP
     0.000 |      0.000 |         4,096 |        117 |   0.000000 | HH-PARSE::LINE-AT
     0.000 |      0.000 |             0 |         17 |   0.000000 | HH-PARSE::TRANSFORM-RHS
     0.000 |      0.000 |             0 |          2 |   0.000000 | HH-PARSE::PUSH-PARSER-CONTEXT
     0.000 |      0.000 |             0 |          1 |   0.000000 | HH-PARSE::CURRENT-PARSER-STATE
     0.000 |      0.000 |             0 |        101 |   0.000000 | HH-PARSE::TRANSFORM-TERM
     0.000 |      0.009 |     4,315,648 |          1 |   0.000000 | HH-PARSE::MAKE-GRAMMAR
     0.000 |      0.000 |       534,816 |          1 |   0.000000 | HH-PARSE::INITIAL-LR1-STATE-FOR-GRAMMAR
     0.000 |      0.000 |             0 |          1 |   0.000000 | HH-PARSE::START
     0.000 |      0.000 |         4,096 |         56 |   0.000000 | HH-PARSE::NEXT-COLUMN
     0.000 |      0.000 |             0 |          1 |   0.000000 | HH-PARSE::TRANSFORM-EXTENDED-GRAMMAR-TO-FUNDAMENTAL
     0.000 |      0.000 |         4,096 |          2 |   0.000000 | (SETF HH-PARSE::STACK)
     0.000 |      0.000 |         4,096 |          2 |   0.000000 | HH-PARSE::NON-TERMINALS-IN-GRAMMAR
     0.000 |      0.000 |             0 |          1 |   0.000000 | HH-PARSE::TRANSFORM-FOR-CAPTURES
     0.000 |      0.000 |         4,064 |         27 |   0.000000 | (SETF HH-PARSE::PARSER-OF)
     0.000 |      0.000 |             0 |         39 |   0.000000 | HH-PARSE::RULE-SPEC-RULE-OPTIONS
     0.000 |      0.004 |    22,167,584 |     64,106 |   0.000000 | HH-PARSE::LR1-GOTO-FOR-SYMBOL
     0.000 |      0.000 |             0 |         30 |   0.000000 | HH-PARSE::TEXT-OF
     0.000 |      0.000 |         8,112 |          2 |   0.000000 | CURRENT-COLUMN-POSITION
     0.000 |      0.000 |             0 |        143 |   0.000000 | LINES-OF
     0.000 |      0.000 |         4,096 |          1 |   0.000000 | (SETF LINES-OF)
     0.000 |      0.000 |         8,192 |         56 |   0.000000 | CURRENT-LINE
     0.000 |      0.000 |             0 |          1 |   0.000000 | INSERT-TEXT
     0.000 |      0.000 |         8,192 |        172 |   0.000000 | CURRENT-LINE-POSITION
     0.000 |      0.000 |         4,080 |          1 |   0.000000 | PARSE-TOKEN
----------------------------------------------------------------
    90.554 |      0.709 | 1,609,934,400 | 93,349,685 |            | Total

estimated total profiling overhead: 446.96 seconds
overhead estimation parameters:
  1.e-8s/call, 4.788e-6s total profiling, 2.23e-6s internal profiling

These functions were not called:
 (SETF HH-PARSE::ACTIONS) HH-PARSE::APPEND-CAPTURED-VALUE
 HH-PARSE::ASSIMILATE-CAPTURES AST-NODE-TYPE AST-NODE-VALUE
 (SETF HH-PARSE::AUGMENTED-START) HH-PARSE::AUGMENTED-START
 (SETF HH-PARSE::CAPTURES) HH-PARSE::CAPTURES (SETF HH-PARSE::CHILDREN)
 HH-PARSE::CHILDREN COPY-LEXER (SETF CURRENT-LINE)
 (SETF CURRENT-LINE-POSITION) HH-PARSE::CURRENT-PARSER-NODE
 (SETF CURRENT-POSITION) (SETF HH-PARSE::ENTRIES) HH-PARSE::EQUAL-CORES
 (SETF HH-PARSE::EXITS) EXPECTED-NEXT-SYMBOLS GET-PARSE-RESULT
 (SETF HH-PARSE::GOTOS) HH-PARSE::GOTOS (SETF HH-PARSE::GRAMMAR)
 IGNORE-TERMS INSERT-LINE (SETF HH-PARSE::ITEMS) (SETF HH-PARSE::LEXER)
 HH-PARSE::LEXER (SETF HH-PARSE::LINE-AT) LIST-TERMS HH-PARSE::NEXT-LINE
 NEXT-TOKEN (SETF HH-PARSE::NUMBER-OF-STATES) HH-PARSE::NUMBER-OF-STATES
 PARSE-INPUT (SETF HH-PARSE::PARSE-POSITION) HH-PARSE::PARSE-POSITION
 HH-PARSE::PARSER-OF HH-PARSE::POP-PARSER-CONTEXT HH-PARSE::POP-PARSER-NODE
 HH-PARSE::POSITIONS-EQUAL HH-PARSE::PRINT-RULE-SLOTS
 HH-PARSE::REDUCE-PRODUCTION (SETF REDUCTION) REDUCTION HH-PARSE::REPARSE
 (SETF HH-PARSE::RULE-NAME) HH-PARSE::SET-CAPTURED-VALUE (SETF SOURCE)
 SOURCE SOURCE-TEXT (SETF SPECIFICATION) SPECIFICATION HH-PARSE::SPLIT-LINE
 (SETF HH-PARSE::START) (SETF STATE) STATE (SETF HH-PARSE::STATES)
 HH-PARSE::STATES (SETF HH-PARSE::UNEXPECTED-CHARACTER)
 HH-PARSE::UNEXPECTED-CHARACTER (SETF HH-PARSE::VALUE-OF)
 HH-PARSE::VALUE-OF

OLDER : measuring PROFILE overhead..done
  seconds  |     gc     |    consed   |    calls   |  sec/call  |  name  
--------------------------------------------------------------
     5.922 |      0.005 |  67,385,104 | 17,097,550 |  0.0000003 | EQUAL-ITEMS
     0.672 |      0.016 |  19,591,280 |  1,254,854 |   0.000001 | NEXT-TERM-AND-LOOKAHEAD-FOR-ITEM
     0.616 |      0.158 | 232,306,832 |    438,723 |   0.000001 | RULE-PRODUCTIONS
     0.465 |      0.000 |   5,782,080 |    973,502 |  0.0000005 | RULE-PRODUCTIONS-IN-GRAMMAR
     0.460 |      0.000 |           0 |  1,286,874 |  0.0000004 | ITEM-FINISHED-P
     0.133 |      0.000 |  22,047,408 |    248,857 |   0.000001 | INITIAL-LR1-ITEM-FOR-PRODUCTION
     0.124 |      0.000 |           0 |    224,836 |   0.000001 | ITEM<
     0.075 |      0.000 |           0 |    371,931 |  0.0000002 | ITEMS
     0.028 |      0.000 |           0 |     92,097 |  0.0000003 | EXITS
     0.023 |      0.005 |   2,163,488 |     27,964 |   0.000001 | INCREMENT-LR1-ITEM-POSITION
     0.015 |      0.000 |   1,686,640 |          1 |   0.014592 | (SETF SOURCE-TEXT)
     0.008 |      0.000 |           0 |     20,048 |  0.0000004 | ENTRIES
     0.006 |      0.000 |     618,736 |         29 |   0.000205 | INSERT-INTO
     0.005 |      0.000 |     553,856 |          1 |   0.004993 | MAKE-PARSER
     0.003 |      0.000 |     490,048 |         28 |   0.000093 | INSERT-CHARACTER
     0.001 |      0.000 |       4,080 |          1 |   0.000945 | NEXT-LEX-CHARACTER
     0.001 |      0.000 |       4,064 |         29 |   0.000032 | (SETF COLUMN-AT)
     0.001 |      0.000 |      16,352 |        172 |   0.000004 | CURRENT-LINE-POSITION
    0.0005 |      0.000 |           0 |         28 |   0.000016 | FLUSH-PARSERS
    0.0002 |      0.000 |       8,192 |         56 |   0.000003 | CURRENT-LINE
     0.000 |      0.000 |           0 |          1 |   0.000000 | GRAMMAR
     0.000 |      0.000 |           0 |          1 |   0.000000 | NEXT-TOKEN
     0.000 |      0.000 |           0 |          1 |   0.000000 | NON-TERMINALS-IN-GRAMMAR
     0.000 |      0.000 |  12,137,360 |          1 |   0.000000 | LR1-STATES-FOR-GRAMMAR
     0.000 |      0.000 |           0 |          1 |   0.000000 | CURRENT-LEX-CHARACTER
     0.000 |      0.000 |           0 |          1 |   0.000000 | HTML-GRAMMAR
     0.000 |      0.000 |      77,824 |      4,056 |   0.000000 | NEXT-TERM-FOR-ITEM
     0.000 |      0.000 |       4,080 |          1 |   0.000000 | INITIAL-LR1-STATE-FOR-GRAMMAR
     0.000 |      0.000 |           0 |          1 |   0.000000 | PARSE-TOKEN
     0.000 |      0.027 |  39,510,560 |    832,792 |   0.000000 | FIRST-OF-SYMBOL
     0.000 |      0.000 |           0 |         58 |   0.000000 | COLUMN-AT
     0.000 |      0.000 |           0 |         30 |   0.000000 | TEXT-OF
     0.000 |      0.000 |           0 |         28 |   0.000000 | (SETF TEXT-OF)
     0.000 |      0.000 |       4,080 |          1 |   0.000000 | ACTIONS
     0.000 |      0.000 |   3,730,176 |          1 |   0.000000 | MAKE-GRAMMAR
     0.000 |      0.005 |  21,696,944 |     61,716 |   0.000000 | LR1-GOTO-FOR-SYMBOL
     0.000 |      0.000 |           0 |        117 |   0.000000 | LINE-AT
     0.000 |      0.000 |       4,096 |          2 |   0.000000 | MAKE-LINES
     0.000 |      0.000 |           0 |         27 |   0.000000 | (SETF PARSER-OF)
     0.000 |      0.000 |           0 |          1 |   0.000000 | INCF-LEX-POSITION
     0.000 |      0.000 |           0 |          1 |   0.000000 | PRODUCTIONS-IN-GRAMMAR
     0.000 |      0.079 | 220,378,512 |     61,717 |   0.000000 | CLOSURE-OF-LR1-ITEMS
     0.000 |      0.000 |           0 |          4 |   0.000000 | STACK
     0.000 |      0.000 |       4,096 |          2 |   0.000000 | (SETF STACK)
     0.000 |      0.000 |       4,064 |         56 |   0.000000 | NEXT-COLUMN
     0.000 |      0.000 |           0 |          1 |   0.000000 | SYMBOLS-IN-GRAMMAR
     0.000 |      0.000 |           0 |        169 |   0.000000 | CURRENT-POSITION
     0.000 |      0.000 |           0 |        143 |   0.000000 | LINES-OF
     0.000 |      0.000 |           0 |          1 |   0.000000 | (SETF LINES-OF)
     0.000 |      0.000 |           0 |          1 |   0.000000 | INSERT-TEXT
     0.000 |      0.000 |       8,176 |          2 |   0.000000 | CURRENT-COLUMN-POSITION
     0.000 |      0.000 |           0 |          1 |   0.000000 | (SETF CURRENT-COLUMN-POSITION)
--------------------------------------------------------------
     8.555 |      0.295 | 650,218,128 | 22,998,516 |            | Total

estimated total profiling overhead: 108.78 seconds
overhead estimation parameters:
  8.000001e-9s/call, 4.73e-6s total profiling, 2.216e-6s internal profiling

These functions were not called:
 (SETF ACTIONS) COMPOUNDTERMP COPY-LEXER (SETF CURRENT-LINE)
 (SETF CURRENT-LINE-POSITION) (SETF CURRENT-POSITION) (SETF ENTRIES)
 EQUAL-CORES (SETF EXITS) FOR-EACH-RHS FOR-EACH-RULE GET-PARSE-RESULT
 (SETF GOTOS) GOTOS (SETF GRAMMAR) GRAMMAR-419 GRAMMAR-420 INSERT-LINE
 (SETF ITEMS) (SETF LEXER) LEXER (SETF LINE-AT) MAKE-NEW-NAMED-RULE
 NEXT-LINE (SETF NUMBER-OF-STATES) NUMBER-OF-STATES NUMBERS-GRAMMAR
 PARSE-INPUT (SETF PARSE-POSITION) PARSE-POSITION PARSER-OF POSITIONS-EQUAL
 REPARSE (SETF SOURCE) SOURCE SOURCE-TEXT (SETF SPECIFICATION)
 SPECIFICATION SPLIT-LINE (SETF STATE) STATE (SETF STATES) STATES
 TERMINALS-IN-GRAMMAR TRANSFORM-EXTENDED-GRAMMAR-TO-FUNDAMENTAL
 TRANSFORM-FOR-NIL TRANSFORM-RHS TRANSFORM-TERM (SETF UNEXPECTED-CHARACTER)
 UNEXPECTED-CHARACTER

ORIGINAL : With states as just lists of items:

measuring PROFILE overhead..done
  seconds  |     gc     |     consed    |    calls    |  sec/call  |  name  
-----------------------------------------------------------------
   130.061 |      0.345 |   901,604,240 | 244,373,918 |   0.000001 | EQUAL-ITEMS
     9.573 |      0.013 |    81,127,376 |  12,662,419 |   0.000001 | RULE-PRODUCTIONS-IN-GRAMMAR
     8.690 |      1.041 | 3,168,389,728 |   5,787,254 |   0.000002 | RULE-PRODUCTIONS
     8.141 |      0.047 |   143,667,408 |   9,230,162 |   0.000001 | NEXT-TERM-AND-LOOKAHEAD-FOR-ITEM
     3.850 |      0.000 |             0 |   9,502,265 |  0.0000004 | ITEM-FINISHED-P
     2.107 |      0.000 |             0 |   2,634,401 |   0.000001 | ITEM<
     1.859 |      0.045 |   263,900,208 |   3,031,051 |   0.000001 | INITIAL-LR1-ITEM-FOR-PRODUCTION
     0.183 |      0.007 |    21,801,936 |     268,047 |   0.000001 | INCREMENT-LR1-ITEM-POSITION
     0.015 |      0.000 |             0 |      20,048 |   0.000001 | ENTRIES
     0.008 |      0.000 |        77,824 |       4,056 |   0.000002 | NEXT-TERM-FOR-ITEM
     0.003 |      0.000 |         4,096 |          56 |   0.000057 | CURRENT-LINE
     0.001 |      0.000 |             0 |           1 |   0.000993 | MAKE-PARSER
     0.001 |      0.000 |             0 |         143 |   0.000005 | LINES-OF
     0.000 |      0.000 |         4,096 |          28 |   0.000000 | INSERT-CHARACTER
     0.000 |      0.000 |             0 |          28 |   0.000000 | FLUSH-PARSERS
     0.000 |      0.000 |             0 |           1 |   0.000000 | GRAMMAR
     0.000 |      0.000 |             0 |           1 |   0.000000 | NEXT-LEX-CHARACTER
     0.000 |      0.000 |             0 |           1 |   0.000000 | NEXT-TOKEN
     0.000 |      0.000 |             0 |           1 |   0.000000 | NON-TERMINALS-IN-GRAMMAR
     0.000 |      0.000 |             0 |           1 |   0.000000 | CURRENT-LEX-CHARACTER
     0.000 |      0.000 |             0 |           1 |   0.000000 | HTML-GRAMMAR
     0.000 |      0.000 |             0 |           1 |   0.000000 | PARSE-TOKEN
     0.000 |      0.185 |   530,480,192 |  11,084,934 |   0.000000 | FIRST-OF-SYMBOL
     0.000 |      0.000 |             0 |          58 |   0.000000 | COLUMN-AT
     0.000 |      0.000 |             0 |          29 |   0.000000 | (SETF COLUMN-AT)
     0.000 |      0.000 |             0 |          30 |   0.000000 | TEXT-OF
     0.000 |      0.000 |             0 |          28 |   0.000000 | (SETF TEXT-OF)
     0.000 |      0.000 |             0 |           1 |   0.000000 | INITIAL-LR1-ITEMS-FOR-GRAMMAR
     0.000 |      0.000 |             0 |           1 |   0.000000 | ACTIONS
     0.000 |      0.943 | 2,905,081,072 |     150,542 |   0.000000 | CLOSURE-OF-LR1-ITEMS
     0.000 |      0.106 |   322,918,400 |           1 |   0.000000 | MAKE-GRAMMAR
     0.000 |      0.034 |   140,863,088 |     150,541 |   0.000000 | LR1-GOTO-FOR-SYMBOL
     0.000 |      0.000 |             0 |         117 |   0.000000 | LINE-AT
     0.000 |      0.000 |             0 |           2 |   0.000000 | MAKE-LINES
     0.000 |      0.000 |             0 |          27 |   0.000000 | (SETF PARSER-OF)
     0.000 |      0.000 |             0 |           1 |   0.000000 | INCF-LEX-POSITION
     0.000 |      0.000 |             0 |           1 |   0.000000 | PRODUCTIONS-IN-GRAMMAR
     0.000 |      0.000 |             0 |           4 |   0.000000 | STACK
     0.000 |      0.000 |             0 |           2 |   0.000000 | (SETF STACK)
     0.000 |      0.000 |         7,936 |          29 |   0.000000 | INSERT-INTO
     0.000 |      0.000 |             0 |          56 |   0.000000 | NEXT-COLUMN
     0.000 |      0.000 |         4,096 |           1 |   0.000000 | SYMBOLS-IN-GRAMMAR
     0.000 |      0.004 |     7,897,088 |           1 |   0.000000 | LR1-ITEMS-FOR-GRAMMAR
     0.000 |      0.000 |             0 |         169 |   0.000000 | CURRENT-POSITION
     0.000 |      0.000 |             0 |           1 |   0.000000 | (SETF LINES-OF)
     0.000 |      0.000 |             0 |           1 |   0.000000 | (SETF SOURCE-TEXT)
     0.000 |      0.000 |             0 |           1 |   0.000000 | INSERT-TEXT
     0.000 |      0.000 |             0 |           2 |   0.000000 | CURRENT-COLUMN-POSITION
     0.000 |      0.000 |         4,096 |           1 |   0.000000 | (SETF CURRENT-COLUMN-POSITION)
     0.000 |      0.000 |         4,096 |         172 |   0.000000 | CURRENT-LINE-POSITION
-----------------------------------------------------------------
   164.493 |      2.770 | 8,487,836,976 | 298,900,637 |            | Total

estimated total profiling overhead: 1374.35 seconds
overhead estimation parameters:
  8.000001e-9s/call, 4.598e-6s total profiling, 2.1800001e-6s internal profiling

These functions were not called:
 (SETF ACTIONS) COMPOUNDTERMP COPY-LEXER (SETF CURRENT-LINE)
 (SETF CURRENT-LINE-POSITION) (SETF CURRENT-POSITION) (SETF ENTRIES)
 EQUAL-CORES FOR-EACH-RHS FOR-EACH-RULE GET-PARSE-RESULT (SETF GOTOS) GOTOS
 (SETF GRAMMAR) GRAMMAR-419 GRAMMAR-420 INSERT-LINE (SETF LEXER) LEXER
 (SETF LINE-AT) LR1-GOTO-INDEX-FOR-SYMBOL MAKE-NEW-NAMED-RULE NEXT-LINE
 (SETF NUMBER-OF-STATES) NUMBER-OF-STATES NUMBERS-GRAMMAR PARSE-INPUT
 (SETF PARSE-POSITION) PARSE-POSITION PARSER-OF POSITIONS-EQUAL REPARSE
 (SETF SOURCE) SOURCE SOURCE-TEXT (SETF SPECIFICATION) SPECIFICATION
 SPLIT-LINE (SETF STATE) STATE (SETF STATES) STATES TERMINALS-IN-GRAMMAR
 TRANSFORM-EXTENDED-GRAMMAR-TO-FUNDAMENTAL TRANSFORM-FOR-NIL TRANSFORM-RHS
 TRANSFORM-TERM (SETF UNEXPECTED-CHARACTER) UNEXPECTED-CHARACTER

|#
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.