示例#1
0
        /// <summary>
        /// Insert some records and then retrieve them.
        /// </summary>
        private void InsertReadSeek()
        {
            const int NumRecords = 1000000;

            long[] keys = this.GetRandomKeys(NumRecords);

            using (var worker = new PerfTestWorker(this.instance, this.database))
            {
                TimeAction("Insert records", () => worker.InsertRecordsWithSetColumn(NumRecords / 2));
                TimeAction("Insert records with SetColumns", () => worker.InsertRecordsWithSetColumns(NumRecords / 2));
                TimeAction("Read one record", () => worker.RepeatedlyRetrieveOneRecord(NumRecords));
                TimeAction("Read one record with JetRetrieveColumns", () => worker.RepeatedlyRetrieveOneRecordWithJetRetrieveColumns(NumRecords));
                TimeAction("Read one record with RetrieveColumns", () => worker.RepeatedlyRetrieveOneRecordWithRetrieveColumns(NumRecords));
                TimeAction("Read one record with JetEnumerateColumns", () => worker.RepeatedlyRetrieveOneRecordWithEnumColumns(NumRecords));
                TimeAction("Read all records", worker.RetrieveAllRecords);
                TimeAction("Seek to all records", () => worker.SeekToAllRecords(keys));
            }
        }
示例#2
0
        /// <summary>
        /// Insert some integer records and then retrieve them.
        /// </summary>
        private void InsertReadSeekLongs()
        {
            const int NumRecords = 100 * 1000;

            long[] keys = this.GetRandomKeys(NumRecords);

            using (var worker = new PerfTestWorker(
                       this.longDictionary,
                       this.longDatabase,
                       this.stringDictionary,
                       this.stringDatabase))
            {
                TimeAction("Insert records with Add()s", () => worker.InsertRecordsWithAddFunction(NumRecords / 2));
                TimeAction("Insert records with []", () => worker.InsertRecordsWithBracketOperator(NumRecords / 2));
                TimeAction("Read one record", () => worker.RepeatedlyRetrieveOneRecord(NumRecords));
                TimeAction("Read one record with JetRetrieveColumns", () => worker.RepeatedlyRetrieveOneRecordWithTryGetValue(NumRecords));
                TimeAction("Read one record with RetrieveColumns", () => worker.RepeatedlyRetrieveOneRecordWithBracketOperator(NumRecords));
                TimeAction("Read all records sequentially", worker.RetrieveAllRecords);
                TimeAction("Seek to all records randomly", () => worker.SeekToAllRecords(keys));
            }
        }