mirror of
https://github.com/nasa/openmct.git
synced 2025-06-23 09:25:29 +00:00
Remove format/parse cache
Remove the cache for formatted and parsed values, as this was a net performance loss due to a very low cache hit percentage.
This commit is contained in:
committed by
Victor Woeltjen
parent
9e12886c66
commit
1378b57567
@ -41,8 +41,6 @@ define([
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.valueMetadata = valueMetadata;
|
this.valueMetadata = valueMetadata;
|
||||||
this.parseCache = new WeakMap();
|
|
||||||
this.formatCache = new WeakMap();
|
|
||||||
try {
|
try {
|
||||||
this.formatter = formatService
|
this.formatter = formatService
|
||||||
.getFormat(valueMetadata.format, valueMetadata);
|
.getFormat(valueMetadata.format, valueMetadata);
|
||||||
@ -72,26 +70,14 @@ define([
|
|||||||
|
|
||||||
TelemetryValueFormatter.prototype.parse = function (datum) {
|
TelemetryValueFormatter.prototype.parse = function (datum) {
|
||||||
if (_.isObject(datum)) {
|
if (_.isObject(datum)) {
|
||||||
if (!this.parseCache.has(datum)) {
|
return this.formatter.parse(datum[this.valueMetadata.source]);
|
||||||
this.parseCache.set(
|
|
||||||
datum,
|
|
||||||
this.formatter.parse(datum[this.valueMetadata.source])
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return this.parseCache.get(datum);
|
|
||||||
}
|
}
|
||||||
return this.formatter.parse(datum);
|
return this.formatter.parse(datum);
|
||||||
};
|
};
|
||||||
|
|
||||||
TelemetryValueFormatter.prototype.format = function (datum) {
|
TelemetryValueFormatter.prototype.format = function (datum) {
|
||||||
if (_.isObject(datum)) {
|
if (_.isObject(datum)) {
|
||||||
if (!this.formatCache.has(datum)) {
|
return this.formatter.format(datum[this.valueMetadata.source]);
|
||||||
this.formatCache.set(
|
|
||||||
datum,
|
|
||||||
this.formatter.format(datum[this.valueMetadata.source])
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return this.formatCache.get(datum);
|
|
||||||
}
|
}
|
||||||
return this.formatter.format(datum);
|
return this.formatter.format(datum);
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user