using System;
using System.Diagnostics;
using System.Collections;
using System.IO;
using System.Text;
using System.Threading;
using RaptorDB;
using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace testing
{
public class bplusTest
{
static string s =
// ~100 bytes
//"{\"$type\":\"BizFX.TestApp.Entity.Customer, BizFX.TestApp.Entity, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426204062733118a\"";//,\"Address\":null,\"Code\":null,\"Phone\":null,\"email\":null,\"Mobile\":null,\"ContactName\":null,\"Comments\":null,\"GUID\":\"iNIaPond7k6McmSStz14kA==\",\"BaseInfo\":{\"$type\":\"BizFX.Entity.BaseInfo, BizFX.Entity, Version=2.0.0.0, Culture=neutral, PublicKeyToken=e5d192f5e46064af\",\"RevisionNumber\":0,\"CreateDate\":\"2011-04-06 10:16:50\",\"SkipSync\":false,\"SkipDocs\":false,\"SkipRunning\":false,\"DeleteRevisions\":false,\"AssemblyFilename\":\"BizFX.TestApp.Entity.Customer, BizFX.TestApp.Entity, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426204062733118a\",\"TypeName\":\"BizFX.TestApp.Entity.Customer\"},\"SecurityInfo\":{\"$type\":\"BizFX.Entity.SecurityInfo, BizFX.Entity, Version=2.0.0.0, Culture=neutral, PublicKeyToken=e5d192f5e46064af\",\"WinUserName\":\"\",\"AppUserName\":\"\",\"GUID\":\"FAfCsxxJOUuLJITZj005Ow==\",\"LoginName\":\"\",\"UserName\":\"\",\"MachineName\":\"\",\"UserDomainName\":\"\"},\"Description\":\"Base entity description.\",\"Name\":\"BaseEntity\"}";
// ~1kb
"{\"$type\":\"BizFX.TestApp.Entity.Customer, BizFX.TestApp.Entity, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426204062733118a\",\"Address\":null,\"Code\":null,\"Phone\":null,\"email\":null,\"Mobile\":null,\"ContactName\":null,\"Comments\":null,\"GUID\":\"iNIaPond7k6McmSStz14kA==\",\"BaseInfo\":{\"$type\":\"BizFX.Entity.BaseInfo, BizFX.Entity, Version=2.0.0.0, Culture=neutral, PublicKeyToken=e5d192f5e46064af\",\"RevisionNumber\":0,\"CreateDate\":\"2011-04-06 10:16:50\",\"SkipSync\":false,\"SkipDocs\":false,\"SkipRunning\":false,\"DeleteRevisions\":false,\"AssemblyFilename\":\"BizFX.TestApp.Entity.Customer, BizFX.TestApp.Entity, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426204062733118a\",\"TypeName\":\"BizFX.TestApp.Entity.Customer\"},\"SecurityInfo\":{\"$type\":\"BizFX.Entity.SecurityInfo, BizFX.Entity, Version=2.0.0.0, Culture=neutral, PublicKeyToken=e5d192f5e46064af\",\"WinUserName\":\"\",\"AppUserName\":\"\",\"GUID\":\"FAfCsxxJOUuLJITZj005Ow==\",\"LoginName\":\"\",\"UserName\":\"\",\"MachineName\":\"\",\"UserDomainName\":\"\"},\"Description\":\"Base entity description.\",\"Name\":\"BaseEntity\"}";
static int count = //20000;
500000;
public static void Main()
{
//purebytespeed();
INDEXTYPE idx = INDEXTYPE.HASH;
Console.WriteLine("Index type = " + idx);
Console.WriteLine("Inserting " + (count * 2).ToString("#,#") + " via 2 threads");
DateTime dt = DateTime.Now;
RaptorDB.RaptorDB rap = RaptorDB.RaptorDB.Open("docs\\data.ext", 16, true, idx);
rap.IndexingTimerSeconds = 1000;
threadtest(rap);
rap.IndexingTimerSeconds = 1;
Console.WriteLine();
Console.WriteLine("insert time secs = " + DateTime.Now.Subtract(dt).TotalSeconds);
Console.WriteLine("press any key to stop indexing");
Console.ReadKey();
//rap.Stop();
return;
}
private static void NewMethod(RaptorDB.RaptorDB rap, char c)
{
byte[] bb = System.Text.Encoding.UTF8.GetBytes(s);
for (int i = 0; i < count; i++)
{
Guid g = Guid.NewGuid();
rap.Set(g, bb);
if (i % 10000 == 0)
{
Console.Write(c);
}
}
}
private static void threadtest(RaptorDB.RaptorDB bpt)
{
Thread t1 = new Thread(delegate() { NewMethod(bpt, '.'); });
Thread t2 = new Thread(delegate() { NewMethod(bpt, '-'); });
t1.Start();
t2.Start();
t1.Join();
t2.Join();
}
}
}