|
@@ -2,7 +2,7 @@ import { AppDatabase, ICell, IJson } from "./data";
|
|
|
|
|
|
export class WriterJson {
|
|
|
static mockJson(count: number): IJson {
|
|
|
- const mock: IJson = { j: [] };
|
|
|
+ let mock: IJson = { j: [] };
|
|
|
for (let i = 0; i < count; i++) {
|
|
|
mock.j.push({
|
|
|
p: {}, s: 0, v: '', m: '', f: '', fm: {}, h: '', n: '',
|
|
@@ -17,51 +17,58 @@ export class WriterJson {
|
|
|
}
|
|
|
|
|
|
static async write1w(): Promise<void> {
|
|
|
+ const mockJson = WriterJson.mockJson(10000);
|
|
|
console.time("写入1W数据耗时: ");
|
|
|
- await WriterJson.writeJson(WriterJson.mockJson(10000));
|
|
|
+ await WriterJson.writeJson(mockJson);
|
|
|
console.timeEnd("写入1W数据耗时: ");
|
|
|
}
|
|
|
|
|
|
static async write5w(): Promise<void> {
|
|
|
+ const mockJson = WriterJson.mockJson(50000);
|
|
|
console.time("写入5W数据耗时: ");
|
|
|
- await WriterJson.writeJson(WriterJson.mockJson(50000));
|
|
|
+ await WriterJson.writeJson(mockJson);
|
|
|
console.timeEnd("写入5W数据耗时: ");
|
|
|
}
|
|
|
|
|
|
static async write10w(): Promise<void> {
|
|
|
+ const mockJson = WriterJson.mockJson(100000);
|
|
|
console.time("写入10W数据耗时: ");
|
|
|
- await WriterJson.writeJson(WriterJson.mockJson(100000));
|
|
|
+ await WriterJson.writeJson(mockJson);
|
|
|
console.timeEnd("写入10W数据耗时: ");
|
|
|
}
|
|
|
|
|
|
static async write50w(): Promise<void> {
|
|
|
+ const mockJson = WriterJson.mockJson(500000);
|
|
|
console.time("写入50W数据耗时: ");
|
|
|
- await WriterJson.writeJson(WriterJson.mockJson(500000));
|
|
|
+ await WriterJson.writeJson(mockJson);
|
|
|
console.timeEnd("写入50W数据耗时: ");
|
|
|
}
|
|
|
|
|
|
static async write100w(): Promise<void> {
|
|
|
+ const mockJson = WriterJson.mockJson(1000000);
|
|
|
console.time("写入100W数据耗时: ");
|
|
|
- await WriterJson.writeJson(WriterJson.mockJson(1000000));
|
|
|
+ await WriterJson.writeJson(mockJson);
|
|
|
console.timeEnd("写入100W数据耗时: ");
|
|
|
}
|
|
|
|
|
|
static async write500w(): Promise<void> {
|
|
|
+ const mockJson = WriterJson.mockJson(5000000);
|
|
|
console.time("写入500W数据耗时: ");
|
|
|
- await WriterJson.writeJson(WriterJson.mockJson(5000000));
|
|
|
+ await WriterJson.writeJson(mockJson);
|
|
|
console.timeEnd("写入500W数据耗时: ");
|
|
|
}
|
|
|
|
|
|
static async write1000w(): Promise<void> {
|
|
|
+ const mockJson = WriterJson.mockJson(10000000);
|
|
|
console.time("写入1000W数据耗时: ");
|
|
|
- await WriterJson.writeJson(WriterJson.mockJson(10000000));
|
|
|
+ await WriterJson.writeJson(mockJson);
|
|
|
console.timeEnd("写入1000W数据耗时: ");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
export class WriterArray {
|
|
|
static mockArray(count: number): ICell[] {
|
|
|
- const cells = [];
|
|
|
+ let cells = [];
|
|
|
for (let i = 0; i < count; i++) {
|
|
|
cells.push({
|
|
|
p: {}, s: 0, v: '', m: '', f: '', fm: {}, h: '', n: '',
|
|
@@ -71,49 +78,125 @@ export class WriterArray {
|
|
|
}
|
|
|
|
|
|
static async writeArray(cells: ICell[]): Promise<void> {
|
|
|
+ let database = new AppDatabase();
|
|
|
+ for (let i = 0; i < cells.length; i++) {
|
|
|
+ let cell = cells[i];
|
|
|
+ await database.cells.add(cell);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ static async write1w(): Promise<void> {
|
|
|
+ const mockArray = WriterBulkArray.mockArray(10000);
|
|
|
+ console.time("写入1W数据耗时: ");
|
|
|
+ await WriterArray.writeArray(mockArray);
|
|
|
+ console.timeEnd("写入1W数据耗时: ");
|
|
|
+ }
|
|
|
+
|
|
|
+ static async write5w(): Promise<void> {
|
|
|
+ const mockArray = WriterBulkArray.mockArray(50000);
|
|
|
+ console.time("写入5W数据耗时: ");
|
|
|
+ await WriterArray.writeArray(mockArray);
|
|
|
+ console.timeEnd("写入5W数据耗时: ");
|
|
|
+ }
|
|
|
+
|
|
|
+ static async write10w(): Promise<void> {
|
|
|
+ const mockArray = WriterBulkArray.mockArray(100000);
|
|
|
+ console.time("写入10W数据耗时: ");
|
|
|
+ await WriterArray.writeArray(mockArray);
|
|
|
+ console.timeEnd("写入10W数据耗时: ");
|
|
|
+ }
|
|
|
+
|
|
|
+ static async write50w(): Promise<void> {
|
|
|
+ const mockArray = WriterBulkArray.mockArray(500000);
|
|
|
+ console.time("写入50W数据耗时: ");
|
|
|
+ await WriterArray.writeArray(mockArray);
|
|
|
+ console.timeEnd("写入50W数据耗时: ");
|
|
|
+ }
|
|
|
+
|
|
|
+ static async write100w(): Promise<void> {
|
|
|
+ const mockArray = WriterBulkArray.mockArray(1000000);
|
|
|
+ console.time("写入100W数据耗时: ");
|
|
|
+ await WriterArray.writeArray(mockArray);
|
|
|
+ console.timeEnd("写入100W数据耗时: ");
|
|
|
+ }
|
|
|
+
|
|
|
+ static async write500w(): Promise<void> {
|
|
|
+ const mockArray = WriterBulkArray.mockArray(5000000);
|
|
|
+ console.time("写入500W数据耗时: ");
|
|
|
+ await WriterArray.writeArray(mockArray);
|
|
|
+ console.timeEnd("写入500W数据耗时: ");
|
|
|
+ }
|
|
|
+
|
|
|
+ static async write1000w(): Promise<void> {
|
|
|
+ const mockArray = WriterBulkArray.mockArray(10000000);
|
|
|
+ console.time("写入1000W数据耗时: ");
|
|
|
+ await WriterArray.writeArray(mockArray);
|
|
|
+ console.timeEnd("写入1000W数据耗时: ");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+export class WriterBulkArray {
|
|
|
+ static mockArray(count: number): ICell[] {
|
|
|
+ let cells = [];
|
|
|
+ for (let i = 0; i < count; i++) {
|
|
|
+ cells.push({
|
|
|
+ p: {}, s: 0, v: '', m: '', f: '', fm: {}, h: '', n: '',
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return cells;
|
|
|
+ }
|
|
|
+
|
|
|
+ static async writeBulkArray(cells: ICell[]): Promise<void> {
|
|
|
const database = new AppDatabase();
|
|
|
await database.cells.bulkAdd(cells);
|
|
|
}
|
|
|
|
|
|
static async write1w(): Promise<void> {
|
|
|
+ const mockArray = WriterBulkArray.mockArray(10000);
|
|
|
console.time("写入1W数据耗时: ");
|
|
|
- await WriterArray.writeArray(WriterArray.mockArray(10000));
|
|
|
+ await WriterBulkArray.writeBulkArray(mockArray);
|
|
|
console.timeEnd("写入1W数据耗时: ");
|
|
|
}
|
|
|
|
|
|
static async write5w(): Promise<void> {
|
|
|
+ const mockArray = WriterBulkArray.mockArray(50000);
|
|
|
console.time("写入5W数据耗时: ");
|
|
|
- await WriterArray.writeArray(WriterArray.mockArray(50000));
|
|
|
+ await WriterBulkArray.writeBulkArray(mockArray);
|
|
|
console.timeEnd("写入5W数据耗时: ");
|
|
|
}
|
|
|
|
|
|
static async write10w(): Promise<void> {
|
|
|
+ const mockArray = WriterBulkArray.mockArray(100000);
|
|
|
console.time("写入10W数据耗时: ");
|
|
|
- await WriterArray.writeArray(WriterArray.mockArray(100000));
|
|
|
+ await WriterBulkArray.writeBulkArray(mockArray);
|
|
|
console.timeEnd("写入10W数据耗时: ");
|
|
|
}
|
|
|
|
|
|
static async write50w(): Promise<void> {
|
|
|
+ const mockArray = WriterBulkArray.mockArray(500000);
|
|
|
console.time("写入50W数据耗时: ");
|
|
|
- await WriterArray.writeArray(WriterArray.mockArray(500000));
|
|
|
+ await WriterBulkArray.writeBulkArray(mockArray);
|
|
|
console.timeEnd("写入50W数据耗时: ");
|
|
|
}
|
|
|
|
|
|
static async write100w(): Promise<void> {
|
|
|
+ const mockArray = WriterBulkArray.mockArray(1000000);
|
|
|
console.time("写入100W数据耗时: ");
|
|
|
- await WriterArray.writeArray(WriterArray.mockArray(1000000));
|
|
|
+ await WriterBulkArray.writeBulkArray(mockArray);
|
|
|
console.timeEnd("写入100W数据耗时: ");
|
|
|
}
|
|
|
|
|
|
static async write500w(): Promise<void> {
|
|
|
+ const mockArray = WriterBulkArray.mockArray(5000000);
|
|
|
console.time("写入500W数据耗时: ");
|
|
|
- await WriterArray.writeArray(WriterArray.mockArray(5000000));
|
|
|
+ await WriterBulkArray.writeBulkArray(mockArray);
|
|
|
console.timeEnd("写入500W数据耗时: ");
|
|
|
}
|
|
|
|
|
|
static async write1000w(): Promise<void> {
|
|
|
+ const mockArray = WriterBulkArray.mockArray(10000000);
|
|
|
console.time("写入1000W数据耗时: ");
|
|
|
- await WriterArray.writeArray(WriterArray.mockArray(10000000));
|
|
|
+ await WriterBulkArray.writeBulkArray(mockArray);
|
|
|
console.timeEnd("写入1000W数据耗时: ");
|
|
|
}
|
|
|
}
|