Skip to content

Commit

Permalink
Remove FastStringCodec
Browse files Browse the repository at this point in the history
Currently unnecessary

PiperOrigin-RevId: 190568226
  • Loading branch information
michajlo authored and Copybara-Service committed Mar 27, 2018
1 parent 327c74d commit b8765a6
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 309 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -14,28 +14,12 @@

package com.google.devtools.build.lib.skyframe.serialization.strings;

import com.google.devtools.build.lib.skyframe.serialization.CodecRegisterer;
import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec;
import java.util.Collections;
import java.util.logging.Logger;

/** Utility for accessing (potentially platform-specific) {@link String} {@link ObjectCodec}s. */
public final class StringCodecs {

private static final Logger logger = Logger.getLogger(StringCodecs.class.getName());

private static final StringCodec stringCodec;
private static final ObjectCodec<String> asciiOptimized;

static {
stringCodec = new StringCodec();
if (FastStringCodec.isAvailable()) {
asciiOptimized = new FastStringCodec();
} else {
logger.warning("Optimized string deserialization unavailable");
asciiOptimized = stringCodec;
}
}
private static final StringCodec stringCodec = new StringCodec();

private StringCodecs() {}

Expand All @@ -44,7 +28,7 @@ private StringCodecs() {}
* if the expected optimizations are applied.
*/
public static boolean supportsOptimizedAscii() {
return asciiOptimized instanceof FastStringCodec;
return false;
}

/**
Expand All @@ -54,9 +38,13 @@ public static boolean supportsOptimizedAscii() {
*
* <p>Note that when optimized, this instance can still serialize/deserialize UTF-8 data, but with
* potentially worse performance than {@link #simple()}.
*
* <p>Currently this is the same as {@link #simple()}, it remains to avoid a time-consuming
* cleanup and in case we want to revive an optimized version in the near future.
*/
// TODO(bazel-core): Determine if we need to revive ascii-optimized.
public static ObjectCodec<String> asciiOptimized() {
return asciiOptimized;
return simple();
}

/**
Expand All @@ -66,34 +54,4 @@ public static ObjectCodec<String> asciiOptimized() {
public static ObjectCodec<String> simple() {
return stringCodec;
}

/**
* Registers a codec for {@link String}.
*
* <p>Needed to resolve ambiguity between {@link StringCodec} and {@link FastStringCodec}.
*/
static class StringCodecRegisterer implements CodecRegisterer<StringCodec> {
@Override
public Iterable<? extends ObjectCodec<?>> getCodecsToRegister() {
if (!supportsOptimizedAscii()) {
return Collections.singletonList(simple());
}
return Collections.emptyList();
}
}

/**
* Registers a codec for {@link String}.
*
* <p>Needed to resolve ambiguity between {@link StringCodec} and {@link FastStringCodec}.
*/
static class FastStringCodecRegisterer implements CodecRegisterer<FastStringCodec> {
@Override
public Iterable<? extends ObjectCodec<?>> getCodecsToRegister() {
if (supportsOptimizedAscii()) {
return Collections.singletonList(asciiOptimized());
}
return Collections.emptyList();
}
}
}

This file was deleted.

This file was deleted.

0 comments on commit b8765a6

Please sign in to comment.