import "reflect-metadata"; import {Connection} from "../../../src/connection/Connection"; import {closeTestingConnections, createTestingConnections, reloadTestingDatabases} from "../../utils/test-utils"; import {Post} from "./entity/Post"; describe("benchmark > bulk-save > case1", () => { let connections: Connection[]; before(async () => connections = await createTestingConnections({ __dirname, enabledDrivers: ["postgres"] })); beforeEach(() => reloadTestingDatabases(connections)); after(() => closeTestingConnections(connections)); it("testing bulk save of 10.000 objects", () => Promise.all(connections.map(async connection => { const posts: Post[] = []; for (let i = 1; i <= 10000; i++) { const post = new Post(); post.title = `Post #${i}`; post.text = `Post #${i} text`; post.likesCount = i; post.commentsCount = i; post.watchesCount = i; posts.push(post); } await connection.manager.save(posts); // await connection.manager.insert(Post, posts); }))); /** * Before persistence refactoring * * MySql * * √ testing bulk save of 1000 objects (2686ms) * √ testing bulk save of 1000 objects (1579ms) * √ testing bulk save of 1000 objects (1664ms) * √ testing bulk save of 1000 objects (1426ms) * √ testing bulk save of 1000 objects (1512ms) * √ testing bulk save of 1000 objects (1526ms) * √ testing bulk save of 1000 objects (1605ms) * √ testing bulk save of 1000 objects (1914ms) * √ testing bulk save of 1000 objects (1983ms) * √ testing bulk save of 1000 objects (1500ms) * * Postgres * * √ testing bulk save of 1000 objects (3704ms) * √ testing bulk save of 1000 objects (2080ms) * √ testing bulk save of 1000 objects (2176ms) * √ testing bulk save of 1000 objects (2447ms) * √ testing bulk save of 1000 objects (2259ms) * √ testing bulk save of 1000 objects (2112ms) * √ testing bulk save of 1000 objects (2193ms) * √ testing bulk save of 1000 objects (2211ms) * √ testing bulk save of 1000 objects (2282ms) * √ testing bulk save of 1000 objects (2551ms) * * SqlServer * * √ testing bulk save of 1000 objects (8098ms) * √ testing bulk save of 1000 objects (6534ms) * √ testing bulk save of 1000 objects (5789ms) * √ testing bulk save of 1000 objects (5505ms) * √ testing bulk save of 1000 objects (5813ms) * √ testing bulk save of 1000 objects (5932ms) * √ testing bulk save of 1000 objects (6114ms) * √ testing bulk save of 1000 objects (5960ms) * √ testing bulk save of 1000 objects (5755ms) * √ testing bulk save of 1000 objects (5935ms) */ });