David Jones 46550cf03d Update to Kitura 2.6 and Swift-Kuery 3.0 (#4354) 6 năm trước cách đây
..
Sources 46550cf03d Update to Kitura 2.6 and Swift-Kuery 3.0 (#4354) 6 năm trước cách đây
Views 2093bde2bf Initial Kitura 2.3 implementation (#3639) 7 năm trước cách đây
.gitignore 2093bde2bf Initial Kitura 2.3 implementation (#3639) 7 năm trước cách đây
.swift-version 3ad275cb7f Update Swift/kitura to Kitura 2.5 and use ORM (#4173) 6 năm trước cách đây
Package.swift 46550cf03d Update to Kitura 2.6 and Swift-Kuery 3.0 (#4354) 6 năm trước cách đây
README.md 0ef0caa317 Add new Kitura tests in the KITURA_NIO mode (#4298) 6 năm trước cách đây
benchmark_config.json 46550cf03d Update to Kitura 2.6 and Swift-Kuery 3.0 (#4354) 6 năm trước cách đây
config.json 2093bde2bf Initial Kitura 2.3 implementation (#3639) 7 năm trước cách đây
kitura-gcd-postgres-orm-codable.dockerfile 3ad275cb7f Update Swift/kitura to Kitura 2.5 and use ORM (#4173) 6 năm trước cách đây
kitura-gcd-postgres-orm.dockerfile 3ad275cb7f Update Swift/kitura to Kitura 2.5 and use ORM (#4173) 6 năm trước cách đây
kitura-gcd-postgres.dockerfile 3ad275cb7f Update Swift/kitura to Kitura 2.5 and use ORM (#4173) 6 năm trước cách đây
kitura-gcd.dockerfile 3ad275cb7f Update Swift/kitura to Kitura 2.5 and use ORM (#4173) 6 năm trước cách đây
kitura-mongodb.dockerfile 2093bde2bf Initial Kitura 2.3 implementation (#3639) 7 năm trước cách đây
kitura-nio-postgres-orm-codable.dockerfile 46550cf03d Update to Kitura 2.6 and Swift-Kuery 3.0 (#4354) 6 năm trước cách đây
kitura-nio-postgres-orm.dockerfile 46550cf03d Update to Kitura 2.6 and Swift-Kuery 3.0 (#4354) 6 năm trước cách đây
kitura-nio-postgres.dockerfile 0ef0caa317 Add new Kitura tests in the KITURA_NIO mode (#4298) 6 năm trước cách đây
kitura-nio.dockerfile 0ef0caa317 Add new Kitura tests in the KITURA_NIO mode (#4298) 6 năm trước cách đây
kitura-postgres-orm-codable.dockerfile 3ad275cb7f Update Swift/kitura to Kitura 2.5 and use ORM (#4173) 6 năm trước cách đây
kitura-postgres-orm.dockerfile 3ad275cb7f Update Swift/kitura to Kitura 2.5 and use ORM (#4173) 6 năm trước cách đây
kitura-postgres.dockerfile 3ad275cb7f Update Swift/kitura to Kitura 2.5 and use ORM (#4173) 6 năm trước cách đây
kitura.dockerfile 3ad275cb7f Update Swift/kitura to Kitura 2.5 and use ORM (#4173) 6 năm trước cách đây

README.md

Kitura Benchmark Test

This is the Kitura portion of a benchmarking test suite comparing a variety of web development platforms.

Variants

The benchmark is split up into multiple executable targets, demonstrating different database backends and uses of the Kitura routing APIs:

  • kitura: Implementations of Plaintext and JSON using 'raw' (Express-style) routing
  • kitura-postgres: Implementation of database tests, using Postgres with Swift-Kuery (no ORM)
  • kitura-postgres-orm: Equivalent implementation with Postgres and Swift-Kuery-ORM
  • kitura-postgres-orm-codable: Equivalent implementation with Postgres, using Codable Routing together with Swift-Kuery-ORM
  • kitura-mongodb: Implementation of database tests, using MongoDB with MongoKitten (no ORM)
  • kitura-nio: kitura implementations of Plaintext and JSON run on Kitura-NIO
  • kitura-nio-postgres: Testing kitura implementations of database tests using Postgres on Kitura-NIO

There are additional variants for each of the above implementations, with the '-gcd' suffix: These are compiled from the same source, but use the Grand Central Dispatch threading model (used by default on macOS) instead of a direct epoll implementation (the default on Linux).

Each listens on port 8080, and uses the common URLs described below.

Versions and Dependencies

This version of the benchmark requires Swift 4.0.3 or higher, and uses the following versions of Kitura and dependencies:

Test URLs

JSON serialization

http://localhost:8080/json

Single database query

http://localhost:8080/db

Multiple database queries

http://localhost:8080/queries?queries=n

Fortunes

http://localhost:8080/fortunes

Database updates

http://localhost:8080/updates?queries=n

Plaintext

http://localhost:8080/plaintext