summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r--generic/tclExecute.c42
1 files changed, 38 insertions, 4 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 964f04f..baef21f 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -8940,7 +8940,9 @@ EvalStatsCmd(
Tcl_Obj *const objv[]) /* The argument strings. */
{
Interp *iPtr = (Interp *) interp;
+#if 0
LiteralTable *globalTablePtr = &iPtr->literalTable;
+#endif
ByteCodeStats *statsPtr = &iPtr->stats;
double totalCodeBytes, currentCodeBytes;
double totalLiteralBytes, currentLiteralBytes;
@@ -8968,7 +8970,9 @@ EvalStatsCmd(
}
totalLiteralBytes = sizeof(LiteralTable)
+#if 0
+ iPtr->literalTable.numBuckets * sizeof(LiteralEntry *)
+#endif
+ (statsPtr->numLiteralsCreated * sizeof(LiteralEntry))
+ (statsPtr->numLiteralsCreated * sizeof(Tcl_Obj))
+ statsPtr->totalLitStringBytes;
@@ -8979,10 +8983,15 @@ EvalStatsCmd(
currentHeaderBytes = numCurrentByteCodes
* (sizeof(ByteCode) - sizeof(size_t) - sizeof(Tcl_Time));
literalMgmtBytes = sizeof(LiteralTable)
+#if 0
+ (iPtr->literalTable.numBuckets * sizeof(LiteralEntry *))
- + (iPtr->literalTable.numEntries * sizeof(LiteralEntry));
+ + (iPtr->literalTable.numEntries * sizeof(LiteralEntry))
+#endif
+;
currentLiteralBytes = literalMgmtBytes
+#if 0
+ iPtr->literalTable.numEntries * sizeof(Tcl_Obj)
+#endif
+ statsPtr->currentLitStringBytes;
currentCodeBytes = statsPtr->currentByteCodeBytes + currentLiteralBytes;
@@ -9021,7 +9030,11 @@ EvalStatsCmd(
totalLiteralBytes);
Tcl_AppendPrintfToObj(objPtr, " table %lu + bkts %lu + entries %lu + objects %lu + strings %.6g\n",
(unsigned long) sizeof(LiteralTable),
+#if 0
(unsigned long) (iPtr->literalTable.numBuckets * sizeof(LiteralEntry *)),
+#else
+(unsigned long) 0,
+#endif
(unsigned long) (statsPtr->numLiteralsCreated * sizeof(LiteralEntry)),
(unsigned long) (statsPtr->numLiteralsCreated * sizeof(Tcl_Obj)),
statsPtr->totalLitStringBytes);
@@ -9042,9 +9055,13 @@ EvalStatsCmd(
currentLiteralBytes);
Tcl_AppendPrintfToObj(objPtr, " table %lu + bkts %lu + entries %lu + objects %lu + strings %.6g\n",
(unsigned long) sizeof(LiteralTable),
+#if 0
(unsigned long) (iPtr->literalTable.numBuckets * sizeof(LiteralEntry *)),
(unsigned long) (iPtr->literalTable.numEntries * sizeof(LiteralEntry)),
(unsigned long) (iPtr->literalTable.numEntries * sizeof(Tcl_Obj)),
+#else
+(unsigned long)0, (unsigned long)0, (unsigned long)0,
+#endif
statsPtr->currentLitStringBytes);
Tcl_AppendPrintfToObj(objPtr, " Mean code/source\t\t%.1f\n",
currentCodeBytes / statsPtr->currentSrcBytes);
@@ -9086,6 +9103,7 @@ EvalStatsCmd(
strBytesIfUnshared = 0.0;
strBytesSharedMultX = 0.0;
strBytesSharedOnce = 0.0;
+#if 0
for (i = 0; i < globalTablePtr->numBuckets; i++) {
for (entryPtr = globalTablePtr->buckets[i]; entryPtr != NULL;
entryPtr = entryPtr->nextPtr) {
@@ -9105,6 +9123,7 @@ EvalStatsCmd(
}
}
}
+#endif
sharingBytesSaved = (objBytesIfUnshared + strBytesIfUnshared)
- currentLiteralBytes;
@@ -9116,15 +9135,19 @@ EvalStatsCmd(
statsPtr->numLiteralsCreated);
Tcl_AppendPrintfToObj(objPtr, "\nCurrent literal objects\t\t%d (%0.1f%% of current objects)\n",
+#if 0
globalTablePtr->numEntries,
Percent(globalTablePtr->numEntries, tclObjsAlloced-tclObjsFreed));
+#else
+0, Percent(0, 1));
+#endif
Tcl_AppendPrintfToObj(objPtr, " ByteCode literals\t\t%ld (%0.1f%% of current literals)\n",
numByteCodeLits,
- Percent(numByteCodeLits, globalTablePtr->numEntries));
+ Percent(numByteCodeLits, /*globalTablePtr->numEntries*/1));
Tcl_AppendPrintfToObj(objPtr, " Literals reused > 1x\t\t%d\n",
numSharedMultX);
Tcl_AppendPrintfToObj(objPtr, " Mean reference count\t\t%.2f\n",
- ((double) refCountSum) / globalTablePtr->numEntries);
+ ((double) refCountSum) / /*globalTablePtr->numEntries*/ 1);
Tcl_AppendPrintfToObj(objPtr, " Mean len, str reused >1x \t%.2f\n",
(numSharedMultX ? strBytesSharedMultX/numSharedMultX : 0.0));
Tcl_AppendPrintfToObj(objPtr, " Mean len, str used 1x\t\t%.2f\n",
@@ -9136,9 +9159,13 @@ EvalStatsCmd(
currentLiteralBytes);
Tcl_AppendPrintfToObj(objPtr, " table %lu + bkts %lu + entries %lu + objects %lu + strings %.6g\n",
(unsigned long) sizeof(LiteralTable),
+#if 0
(unsigned long) (iPtr->literalTable.numBuckets * sizeof(LiteralEntry *)),
(unsigned long) (iPtr->literalTable.numEntries * sizeof(LiteralEntry)),
(unsigned long) (iPtr->literalTable.numEntries * sizeof(Tcl_Obj)),
+#else
+(unsigned long)0, (unsigned long)0, (unsigned long)0,
+#endif
statsPtr->currentLitStringBytes);
Tcl_AppendPrintfToObj(objPtr, " Bytes if no sharing\t\t%.6g = objects %.6g + strings %.6g\n",
(objBytesIfUnshared + strBytesIfUnshared),
@@ -9151,8 +9178,13 @@ EvalStatsCmd(
Percent(literalMgmtBytes, currentLiteralBytes));
Tcl_AppendPrintfToObj(objPtr, " table %lu + buckets %lu + entries %lu\n",
(unsigned long) sizeof(LiteralTable),
+#if 0
(unsigned long) (iPtr->literalTable.numBuckets * sizeof(LiteralEntry *)),
- (unsigned long) (iPtr->literalTable.numEntries * sizeof(LiteralEntry)));
+ (unsigned long) (iPtr->literalTable.numEntries * sizeof(LiteralEntry))
+#else
+(unsigned long) 0, (unsigned long) 0
+#endif
+);
/*
* Breakdown of current ByteCode space requirements.
@@ -9210,10 +9242,12 @@ EvalStatsCmd(
decadeHigh, Percent(sum, statsPtr->numLiteralsCreated));
}
+/*
litTableStats = TclLiteralStats(globalTablePtr);
Tcl_AppendPrintfToObj(objPtr, "\nCurrent literal table statistics:\n%s\n",
litTableStats);
ckfree(litTableStats);
+*/
/*
* Source and ByteCode size distributions.