svell_jerry il y a 2 ans
Parent
commit
aeafe461f1
4 fichiers modifiés avec 63 ajouts et 27 suppressions
  1. 4 4
      package-lock.json
  2. 0 1
      src/core/reader.ts
  3. 42 18
      src/core/writer.ts
  4. 17 4
      src/index.ts

+ 4 - 4
package-lock.json

@@ -8,6 +8,9 @@
       "name": "worker-transfer-data",
       "version": "1.0.0",
       "license": "ISC",
+      "dependencies": {
+        "dexie": "3.2.2"
+      },
       "devDependencies": {
         "@types/jest": "27.0.3",
         "@types/offscreencanvas": "2019.6.4",
@@ -19,7 +22,6 @@
         "clean-webpack-plugin": "4.0.0",
         "copy-webpack-plugin": "10.0.0",
         "css-loader": "6.5.1",
-        "dexie": "3.2.2",
         "esbuild-loader": "2.18.0",
         "eslint": "8.4.1",
         "eslint-config-airbnb-base": "15.0.0",
@@ -3487,7 +3489,6 @@
       "version": "3.2.2",
       "resolved": "https://registry.npmjs.org/dexie/-/dexie-3.2.2.tgz",
       "integrity": "sha512-q5dC3HPmir2DERlX+toCBbHQXW5MsyrFqPFcovkH9N2S/UW/H3H5AWAB6iEOExeraAu+j+zRDG+zg/D7YhH0qg==",
-      "dev": true,
       "engines": {
         "node": ">=6.0"
       }
@@ -13614,8 +13615,7 @@
     "dexie": {
       "version": "3.2.2",
       "resolved": "https://registry.npmjs.org/dexie/-/dexie-3.2.2.tgz",
-      "integrity": "sha512-q5dC3HPmir2DERlX+toCBbHQXW5MsyrFqPFcovkH9N2S/UW/H3H5AWAB6iEOExeraAu+j+zRDG+zg/D7YhH0qg==",
-      "dev": true
+      "integrity": "sha512-q5dC3HPmir2DERlX+toCBbHQXW5MsyrFqPFcovkH9N2S/UW/H3H5AWAB6iEOExeraAu+j+zRDG+zg/D7YhH0qg=="
     },
     "diff-sequences": {
       "version": "27.5.1",

+ 0 - 1
src/core/reader.ts

@@ -4,6 +4,5 @@ export class Reader {
   static read(): void {
     const database = new AppDatabase();
     const result = database.cells.toArray();
-    console.log(result);
   }
 }

+ 42 - 18
src/core/writer.ts

@@ -14,37 +14,49 @@ export class WriterJson {
   static async writeJson(json: IJson): Promise<void> {
     const database = new AppDatabase();
     database.jsons.clear();
-    console.time();
     await database.jsons.add(json);
-    console.timeEnd();
   }
 
   static async write1w(): Promise<void> {
-    return WriterJson.writeJson(WriterJson.mockJson(10000));
+    console.time("写入1W数据耗时: ");
+    await WriterJson.writeJson(WriterJson.mockJson(10000));
+    console.timeEnd("写入1W数据耗时: ");
   }
 
   static async write5w(): Promise<void> {
-    return WriterJson.writeJson(WriterJson.mockJson(50000));
+    console.time("写入5W数据耗时: ");
+    await WriterJson.writeJson(WriterJson.mockJson(50000));
+    console.timeEnd("写入5W数据耗时: ");
   }
 
   static async write10w(): Promise<void> {
-    return WriterJson.writeJson(WriterJson.mockJson(100000));
+    console.time("写入10W数据耗时: ");
+    await WriterJson.writeJson(WriterJson.mockJson(100000));
+    console.timeEnd("写入10W数据耗时: ");
   }
 
   static async write50w(): Promise<void> {
-    return WriterJson.writeJson(WriterJson.mockJson(500000));
+    console.time("写入50W数据耗时: ");
+    await WriterJson.writeJson(WriterJson.mockJson(500000));
+    console.timeEnd("写入50W数据耗时: ");
   }
 
   static async write100w(): Promise<void> {
-    return WriterJson.writeJson(WriterJson.mockJson(1000000));
+    console.time("写入100W数据耗时: ");
+    await WriterJson.writeJson(WriterJson.mockJson(1000000));
+    console.timeEnd("写入100W数据耗时: ");
   }
 
   static async write500w(): Promise<void> {
-    return WriterJson.writeJson(WriterJson.mockJson(5000000));
+    console.time("写入500W数据耗时: ");
+    await WriterJson.writeJson(WriterJson.mockJson(5000000));
+    console.timeEnd("写入500W数据耗时: ");
   }
 
   static async write1000w(): Promise<void> {
-    return WriterJson.writeJson(WriterJson.mockJson(10000000));
+    console.time("写入1000W数据耗时: ");
+    await WriterJson.writeJson(WriterJson.mockJson(10000000));
+    console.timeEnd("写入1000W数据耗时: ");
   }
 }
 
@@ -62,36 +74,48 @@ export class WriterArray {
   static async writeArray(cells: ICell[]): Promise<void> {
     const database = new AppDatabase();
     database.cells.clear();
-    console.time();
     await database.cells.bulkAdd(cells);
-    console.timeEnd();
   }
 
   static async write1w(): Promise<void> {
-    return WriterArray.writeArray(WriterArray.mockArray(10000));
+    console.time("写入1W数据耗时: ");
+    await WriterArray.writeArray(WriterArray.mockArray(10000));
+    console.timeEnd("写入1W数据耗时: ");
   }
 
   static async write5w(): Promise<void> {
-    return WriterArray.writeArray(WriterArray.mockArray(50000));
+    console.time("写入5W数据耗时: ");
+    await WriterArray.writeArray(WriterArray.mockArray(50000));
+    console.timeEnd("写入5W数据耗时: ");
   }
 
   static async write10w(): Promise<void> {
-    return WriterArray.writeArray(WriterArray.mockArray(100000));
+    console.time("写入10W数据耗时: ");
+    await WriterArray.writeArray(WriterArray.mockArray(100000));
+    console.timeEnd("写入10W数据耗时: ");
   }
 
   static async write50w(): Promise<void> {
-    return WriterArray.writeArray(WriterArray.mockArray(500000));
+    console.time("写入50W数据耗时: ");
+    await WriterArray.writeArray(WriterArray.mockArray(500000));
+    console.timeEnd("写入50W数据耗时: ");
   }
 
   static async write100w(): Promise<void> {
-    return WriterArray.writeArray(WriterArray.mockArray(1000000));
+    console.time("写入100W数据耗时: ");
+    await WriterArray.writeArray(WriterArray.mockArray(1000000));
+    console.timeEnd("写入100W数据耗时: ");
   }
 
   static async write500w(): Promise<void> {
-    return WriterArray.writeArray(WriterArray.mockArray(5000000));
+    console.time("写入500W数据耗时: ");
+    await WriterArray.writeArray(WriterArray.mockArray(5000000));
+    console.timeEnd("写入500W数据耗时: ");
   }
 
   static async write1000w(): Promise<void> {
-    return WriterArray.writeArray(WriterArray.mockArray(10000000));
+    console.time("写入1000W数据耗时: ");
+    await WriterArray.writeArray(WriterArray.mockArray(10000000));
+    console.timeEnd("写入1000W数据耗时: ");
   }
 }

+ 17 - 4
src/index.ts

@@ -1,8 +1,21 @@
 import { WriterArray, WriterJson } from "./core/writer";
 
-(window as any).WriteJson = () => {
-  WriterJson.write5w().then();
+(window as any).WriteJson = async () => {
+  await WriterJson.write1w();
+  await WriterJson.write5w();
+  await WriterJson.write10w();
+  await WriterJson.write50w();
+  await WriterJson.write100w();
+  await WriterJson.write500w();
+  await WriterJson.write1000w();
 };
-(window as any).WriteArray = () => {
-  WriterArray.write5w().then();
+
+(window as any).WriteArray = async () => {
+  await WriterArray.write1w();
+  await WriterArray.write5w();
+  await WriterArray.write10w();
+  await WriterArray.write50w();
+  await WriterArray.write100w();
+  await WriterArray.write500w();
+  await WriterArray.write1000w();
 };