Well, that was a bit fast. Arcueid 0.1.1 is released. You can download it here.
This is just a bugfix release, but it is a rather significant one, as this is the first version of Arcueid that can actually run news.arc completely. There were several subtle bugs in 0.1.0 that caused it to fail to run news.arc correctly before, most notably involving the way that it handles ssyntax and its treatment of the andf operator. These have been fixed and now news.arc can run properly.
It is sorely lacking in performance however, and it’s probably unstable, but I hope to address all of those in forthcoming releases. The current version gives the following timings when running news.arc with ApacheBench:
Concurrency Level: 1
Time taken for tests: 23.292 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 233500 bytes
HTML transferred: 226100 bytes
Requests per second: 4.29 [#/sec] (mean)
Time per request: 232.915 [ms] (mean)
Time per request: 232.915 [ms] (mean, across all concurrent requests)
Transfer rate: 9.79 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 166 233 34.6 227 372
Waiting: 108 207 34.4 200 332
Total: 166 233 34.6 227 372
Percentage of the requests served within a certain time (ms)
50% 227
66% 242
75% 251
80% 252
90% 281
95% 308
98% 349
99% 372
100% 372 (longest request)
Rather dismal I’m sorry to say, but a large part of that seems to be the garbage collector, which is run much too aggressively, and turning off the garbage collector increases performance rather dramatically:
Concurrency Level: 1
Time taken for tests: 5.162 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 233500 bytes
HTML transferred: 226100 bytes
Requests per second: 19.37 [#/sec] (mean)
Time per request: 51.624 [ms] (mean)
Time per request: 51.624 [ms] (mean, across all concurrent requests)
Transfer rate: 44.17 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 44 52 7.1 50 102
Waiting: 22 24 2.3 24 37
Total: 44 52 7.1 50 103
Percentage of the requests served within a certain time (ms)
50% 50
66% 51
75% 52
80% 52
90% 58
95% 66
98% 72
99% 103
100% 103 (longest request)
I’ll be working on improving garbage collection performance and other improvements over the next few releases, as well as addressing some stability issues observed over the testing I’ve been doing.