Skip to content

Commit

Permalink
made fast path faster.
Browse files Browse the repository at this point in the history
 - small optimizations on the fast path of PageServlet
 - better initial size for StringBuilders; resize won't be needed for most keys.
 - replaced String append with char append for single char Strings; should be easier to inline
  • Loading branch information
mbien committed Feb 23, 2021
1 parent 16d3ee4 commit c3d5d10
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 34 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public final class PlanetCache {
private long timeout = RollerConstants.FIFTEEN_MIN_IN_MS;

// reference to our singleton instance
private static PlanetCache singletonInstance = new PlanetCache();
private static final PlanetCache singletonInstance = new PlanetCache();

private PlanetCache() {

Expand Down Expand Up @@ -194,17 +194,17 @@ public String generateKey(PlanetRequest planetRequest) {

StringBuilder key = new StringBuilder();

key.append(CACHE_ID).append(":");
key.append(CACHE_ID).append(':');
key.append(planetRequest.getContext());
key.append("/");
key.append('/');
key.append(planetRequest.getType());

if(planetRequest.getFlavor() != null) {
key.append("/").append(planetRequest.getFlavor());
key.append('/').append(planetRequest.getFlavor());
}

// add language
key.append("/").append(planetRequest.getLanguage());
key.append('/').append(planetRequest.getLanguage());

if(planetRequest.getFlavor() != null) {
// add excerpts
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ public final class SaltCache {
private Cache contentCache = null;

// reference to our singleton instance
private static SaltCache singletonInstance = new SaltCache();
private static final SaltCache singletonInstance = new SaltCache();

private SaltCache() {
private SaltCache() {

Map cacheProps = new HashMap();
cacheProps.put("id", CACHE_ID);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public final class SiteWideCache implements CacheHandler {
private ExpiringCacheEntry lastUpdateTime = null;

// reference to our singleton instance
private static SiteWideCache singletonInstance = new SiteWideCache();
private static final SiteWideCache singletonInstance = new SiteWideCache();


private SiteWideCache() {
Expand Down Expand Up @@ -193,9 +193,9 @@ public Date getLastModified() {
*/
public String generateKey(WeblogPageRequest pageRequest) {

StringBuilder key = new StringBuilder();
StringBuilder key = new StringBuilder(128);

key.append(CACHE_ID).append(":");
key.append(CACHE_ID).append(':');
key.append("page/");
key.append(pageRequest.getWeblogHandle());

Expand All @@ -216,7 +216,7 @@ public String generateKey(WeblogPageRequest pageRequest) {
}

if(pageRequest.getWeblogDate() != null) {
key.append("/").append(pageRequest.getWeblogDate());
key.append('/').append(pageRequest.getWeblogDate());
}

if(pageRequest.getWeblogCategoryName() != null) {
Expand All @@ -228,7 +228,7 @@ public String generateKey(WeblogPageRequest pageRequest) {
// ignored
}

key.append("/").append(cat);
key.append('/').append(cat);
}

if("tags".equals(pageRequest.getContext())) {
Expand All @@ -242,7 +242,7 @@ public String generateKey(WeblogPageRequest pageRequest) {
}

if(pageRequest.getLocale() != null) {
key.append("/").append(pageRequest.getLocale());
key.append('/').append(pageRequest.getLocale());
}

// add page number when applicable
Expand Down Expand Up @@ -283,14 +283,14 @@ public String generateKey(WeblogPageRequest pageRequest) {
*/
public String generateKey(WeblogFeedRequest feedRequest) {

StringBuilder key = new StringBuilder();
StringBuilder key = new StringBuilder(128);

key.append(CACHE_ID).append(":");
key.append(CACHE_ID).append(':');
key.append("feed/");
key.append(feedRequest.getWeblogHandle());

key.append("/").append(feedRequest.getType());
key.append("/").append(feedRequest.getFormat());
key.append('/').append(feedRequest.getType());
key.append('/').append(feedRequest.getFormat());

if (feedRequest.getTerm() != null) {
key.append("/search/").append(feedRequest.getTerm());
Expand All @@ -304,11 +304,11 @@ public String generateKey(WeblogFeedRequest feedRequest) {
// should never happen, utf-8 is always supported
}

key.append("/").append(cat);
key.append('/').append(cat);
}

if(feedRequest.getLocale() != null) {
key.append("/").append(feedRequest.getLocale());
key.append('/').append(feedRequest.getLocale());
}

if(feedRequest.isExcerpts()) {
Expand Down Expand Up @@ -421,7 +421,7 @@ private String paramsToString(Map<String, String[]> map) {

for (Map.Entry<String, String[]> entry : map.entrySet()) {
if(entry.getValue() != null) {
string.append(",").append(entry.getKey()).append("=").append(entry.getValue()[0]);
string.append(',').append(entry.getKey()).append('=').append(entry.getValue()[0]);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public final class WeblogFeedCache {
private Cache contentCache = null;

// reference to our singleton instance
private static WeblogFeedCache singletonInstance = new WeblogFeedCache();
private static final WeblogFeedCache singletonInstance = new WeblogFeedCache();


private WeblogFeedCache() {
Expand Down Expand Up @@ -162,13 +162,13 @@ public void clear() {
*/
public String generateKey(WeblogFeedRequest feedRequest) {

StringBuilder key = new StringBuilder();
StringBuilder key = new StringBuilder(128);

key.append(this.CACHE_ID).append(":");
key.append(this.CACHE_ID).append(':');
key.append(feedRequest.getWeblogHandle());

key.append("/").append(feedRequest.getType());
key.append("/").append(feedRequest.getFormat());
key.append('/').append(feedRequest.getType());
key.append('/').append(feedRequest.getFormat());

if (feedRequest.getTerm() != null) {
key.append("/search/").append(feedRequest.getTerm());
Expand All @@ -182,7 +182,7 @@ public String generateKey(WeblogFeedRequest feedRequest) {
// should never happen, utf-8 is always supported
}

key.append("/").append(cat);
key.append('/').append(cat);
}

if(feedRequest.getTags() != null && feedRequest.getTags().size() > 0) {
Expand All @@ -192,7 +192,7 @@ public String generateKey(WeblogFeedRequest feedRequest) {
}

if(feedRequest.getLocale() != null) {
key.append("/").append(feedRequest.getLocale());
key.append('/').append(feedRequest.getLocale());
}

if(feedRequest.isExcerpts()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public final class WeblogPageCache {
private Cache contentCache = null;

// reference to our singleton instance
private static WeblogPageCache singletonInstance = new WeblogPageCache();
private static final WeblogPageCache singletonInstance = new WeblogPageCache();


private WeblogPageCache() {
Expand Down Expand Up @@ -166,9 +166,9 @@ public void clear() {
*/
public String generateKey(WeblogPageRequest pageRequest) {

StringBuilder key = new StringBuilder();
StringBuilder key = new StringBuilder(128);

key.append(this.CACHE_ID).append(":");
key.append(this.CACHE_ID).append(':');
key.append(pageRequest.getWeblogHandle());

if(pageRequest.getWeblogAnchor() != null) {
Expand All @@ -189,7 +189,7 @@ public String generateKey(WeblogPageRequest pageRequest) {
}

if(pageRequest.getWeblogDate() != null) {
key.append("/").append(pageRequest.getWeblogDate());
key.append('/').append(pageRequest.getWeblogDate());
}

if(pageRequest.getWeblogCategoryName() != null) {
Expand All @@ -201,7 +201,7 @@ public String generateKey(WeblogPageRequest pageRequest) {
// ignored
}

key.append("/").append(cat);
key.append('/').append(cat);
}

if("tags".equals(pageRequest.getContext())) {
Expand All @@ -215,7 +215,7 @@ public String generateKey(WeblogPageRequest pageRequest) {
}

if(pageRequest.getLocale() != null) {
key.append("/").append(pageRequest.getLocale());
key.append('/').append(pageRequest.getLocale());
}

// add page number when applicable
Expand Down Expand Up @@ -251,7 +251,7 @@ private String paramsToString(Map<String, String[]> map) {

for (Map.Entry<String, String[]> entry : map.entrySet()) {
if(entry.getKey() != null) {
string.append(",").append(entry.getKey()).append("=").append(entry.getValue()[0]);
string.append(',').append(entry.getKey()).append('=').append(entry.getValue()[0]);
}
}

Expand Down

0 comments on commit c3d5d10

Please sign in to comment.