Minor code cleanup + microoptimization + readme update

feature-optimized-md5
Inga 🏳‍🌈 7 years ago
parent b092c19989
commit fc5164fde2
  1. 2
      README.md
  2. 2
      WhiteRabbit/PermutationsGenerator.cs
  3. 2
      WhiteRabbit/StringsProcessor.cs
  4. 2
      WhiteRabbit/VectorsConverter.cs
  5. 2
      WhiteRabbit/VectorsProcessor.cs

@ -28,7 +28,7 @@ Multi-threaded performance with RyuJIT (.NET 4.6, 64-bit system) on quad-core Sa
* If phrases of 6 words are allowed as well, then "more difficult" hash is solved in 30 seconds, "easiest" in 3 minutes, and "hard" in 6 minutes. * If phrases of 6 words are allowed as well, then "more difficult" hash is solved in 30 seconds, "easiest" in 3 minutes, and "hard" in 6 minutes.
* If phrases of 7 words are allowed as well, then "more difficult" hash is solved in 6 minutes. * If phrases of 7 words are allowed as well, then "more difficult" hash is solved in 3 minutes.
Note that all measurements were done on a Release build; Debug build is significantly slower. Note that all measurements were done on a Release build; Debug build is significantly slower.

@ -8,7 +8,7 @@
/// <summary> /// <summary>
/// Code taken from https://ericlippert.com/2013/04/22/producing-permutations-part-three/ /// Code taken from https://ericlippert.com/2013/04/22/producing-permutations-part-three/
/// </summary> /// </summary>
internal class PermutationsGenerator internal sealed class PermutationsGenerator
{ {
public static IEnumerable<Permutation> HamiltonianPermutations(int n) public static IEnumerable<Permutation> HamiltonianPermutations(int n)
{ {

@ -6,7 +6,7 @@
using System.Linq; using System.Linq;
using System.Numerics; using System.Numerics;
internal class StringsProcessor internal sealed class StringsProcessor
{ {
public StringsProcessor(byte[] sourceString, int maxWordsCount, IEnumerable<byte[]> words) public StringsProcessor(byte[] sourceString, int maxWordsCount, IEnumerable<byte[]> words)
{ {

@ -9,7 +9,7 @@
/// Converts strings to vectors containing chars count, based on a source string. /// Converts strings to vectors containing chars count, based on a source string.
/// E.g. for source string "abc", string "a" is converted to [1, 0, 0], while string "bcb" is converted to [0, 2, 1]. /// E.g. for source string "abc", string "a" is converted to [1, 0, 0], while string "bcb" is converted to [0, 2, 1].
/// </summary> /// </summary>
internal class VectorsConverter internal sealed class VectorsConverter
{ {
public VectorsConverter(byte[] sourceString) public VectorsConverter(byte[] sourceString)
{ {

@ -7,7 +7,7 @@
using System.Linq; using System.Linq;
using System.Numerics; using System.Numerics;
internal class VectorsProcessor internal sealed class VectorsProcessor
{ {
private const byte MaxComponentValue = 8; private const byte MaxComponentValue = 8;
private const int LeastCommonMultiple = 840; private const int LeastCommonMultiple = 840;

Loading…
Cancel
Save