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

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