Michael Snoyman
b93a5d1993
Merge branch 'master' into yesod-1.4
...
Conflicts:
yesod-core/test/YesodCoreTest/CleanPath.hs
yesod-persistent/yesod-persistent.cabal
2014-06-09 11:22:30 +03:00
Michael Snoyman
0a3ae4ef66
Merge remote-tracking branch 'origin/master' into yesod-1.4
2014-06-01 16:12:36 +03:00
Michael Snoyman
82de52e3d2
Various additional WAI 3.0 fixes
2014-05-22 21:04:28 +03:00
Michael Snoyman
71263ae047
Initial WAI 3.0 support, one test still failing
2014-05-22 20:17:29 +03:00
Michael Snoyman
cbbeb3b7f6
exceptions 0.6
2014-05-05 21:20:26 +03:00
Michael Snoyman
e9311d0e1f
ToWidget instances for Css, JS
2014-04-23 16:31:13 +03:00
Michael Snoyman
fe622d5345
Merge remote-tracking branch 'origin/master' into yesod-1.4
...
Conflicts:
yesod-auth/yesod-auth.cabal
yesod-form/Yesod/Form/Fields.hs
yesod-form/yesod-form.cabal
yesod-persistent/Yesod/Persist/Core.hs
2014-04-18 14:33:54 +03:00
Michael Snoyman
03a39a05f7
Export defaultYesodMiddleware and authorizationCheck
2014-04-17 07:54:37 +03:00
Michael Snoyman
dfd7965b6b
Workarounds for older bytestrings
2014-04-16 14:31:54 +03:00
Michael Snoyman
e036f934f6
Add MonadCatch for WidgetT
2014-04-14 08:32:55 +03:00
Michael Snoyman
7133f75bf3
Note about strictness annotations
2014-04-10 20:36:46 +03:00
Michael Snoyman
b67d225f56
Use mplus (thanks @meteficha)
2014-04-10 20:30:14 +03:00
Michael Snoyman
4dc7a1258c
Deeply evaluate session and headers #712
2014-04-10 20:21:49 +03:00
Michael Snoyman
b8a73d9b7f
defaultMiddlewares and MonadCatch instance
2014-04-10 15:04:29 +03:00
Michael Snoyman
5a24477316
Fix some CPP
2014-04-09 07:40:38 +03:00
Michael Snoyman
7512cc2bfc
Add ToContent etc instance for Css and Javascript
2014-04-03 12:23:38 +03:00
Michael Snoyman
5edb77eb80
Use defaultShouldDisplayException
2014-03-30 09:38:36 +03:00
Michael Snoyman
76cff2ab23
MonadReader instance for HandlerT and WidgetT
2014-03-28 13:15:51 +03:00
Michael Snoyman
d764464152
conduit 1.1
2014-03-27 16:38:52 +02:00
Michael Snoyman
60b4684119
Drop usage of failure
2014-03-26 10:38:51 +02:00
Michael Snoyman
827b1d4bd2
Merge remote-tracking branch 'origin/master' into persistent2-simpler-dispatch
2014-03-20 20:38:14 +02:00
Michael Snoyman
24e8e53f64
Merge remote-tracking branch 'origin/master' into persistent2-simpler-dispatch
...
Conflicts:
.gitignore
yesod-core/yesod-core.cabal
2014-03-20 04:14:09 +02:00
Felipe Lessa
ddf64c1481
Helper data type for redirecting with fragment identifiers.
2014-03-19 19:52:17 -03:00
Michael Snoyman
c36dbf9302
Add missing import
2014-03-12 06:50:33 +02:00
Greg Weber
4b8cb247ce
add forkHandler. closes #680
...
Also fix import warnings in Handler
2014-03-11 18:33:45 -07:00
Greg Weber
8535f19583
use fewer imports
2014-03-11 17:14:24 -07:00
Michael Snoyman
56e42936b0
sendRawResponse
2014-03-06 16:34:27 +02:00
Greg Weber
a62157097c
parseJsonBody_ -> requireJsonBody. closes #678
2014-03-04 10:06:56 -08:00
Michael Snoyman
c19088d569
Switch yesod-core to use simpler dispatch
2014-03-04 13:46:03 +02:00
Michael Snoyman
f4bbe1cc52
Set content-length whenever evaluating a response body
2014-03-02 14:30:46 +02:00
Michael Snoyman
9ec14e7f53
Log exceptions from Warp
2014-02-05 09:48:33 +02:00
Michael Snoyman
e7bddafcbb
Merge pull request #662 from yesodweb/never-expires-cache-control
...
add cache-control to neverExpires
2014-02-03 20:30:31 -08:00
Greg Weber
f20c236d50
add cache-control to neverExpires
2014-02-03 16:33:29 -08:00
Michael Snoyman
86b7f5ea43
Test case and fix for notCaught3 in #658
2014-01-27 17:20:02 +02:00
Michael Snoyman
807ff497f9
aeson 0.7 support
2014-01-15 19:12:57 +02:00
Michael Snoyman
45eadd3e09
fast-logger 2.1 support
2013-12-26 13:53:39 +02:00
Michael Snoyman
d4998d2246
Temp file upload changes in wai-extra 2.0.1 #630
2013-12-13 06:45:40 +02:00
Michael Snoyman
cf0fad20bc
Merge branch 'master' of github.com:yesodweb/yesod
2013-12-03 12:34:55 +02:00
Michael Snoyman
cca38cfe03
Expand prefix on generated identifiers #625
2013-12-03 12:01:11 +02:00
Michael Snoyman
c670c54ba4
fast-logger 2.0
2013-12-03 11:55:39 +02:00
Michael Snoyman
b18e43c050
Incomplete fast-logger 2.0 changes
2013-12-02 19:40:03 +02:00
Michael Snoyman
3330e89e10
Merge remote-tracking branch 'origin/master' into wai-2.0
2013-11-12 19:40:51 +02:00
Michael Snoyman
11b49dfe9e
Merge remote-tracking branch 'origin/master' into HEAD
2013-11-12 19:29:34 +02:00
Michael Snoyman
dce5ea942e
Fix a faulty rewrite rule
2013-11-12 19:29:18 +02:00
Michael Snoyman
d34c3f26dc
WAI 2.0 updates
2013-11-10 16:49:26 +02:00
Michael Snoyman
6f495fc758
Merge branch 'master' into wai-2.0
...
Conflicts:
yesod-static/yesod-static.cabal
2013-11-10 13:46:58 +02:00
Michael Snoyman
3a9fa33b7e
Export a TH-used identifier #609
2013-10-13 12:11:15 +03:00
Michael Snoyman
5b379067b2
Add warning about calling parseJsonBody twice
2013-09-08 16:52:56 +02:00
Michael Snoyman
366127527a
Fix some CPP
2013-08-19 13:20:44 +03:00
Michael Snoyman
2d0f560bea
wai 2.0
2013-08-19 12:51:54 +03:00
Michael Snoyman
aa5781d4e4
shouldLogIO
2013-08-07 07:22:28 +03:00
Michael Snoyman
d5b66d35d5
Allow overriding status code in error handlers
2013-08-04 08:55:42 +03:00
Jonathan Fischoff
28e7bc26b8
Adding a ToTypedContent constraint to yesodMiddleware for response logging, etc.
2013-06-17 14:24:50 -07:00
Michael Snoyman
8e5c419dd5
Move some Yesod exports to Yesod.Core
2013-06-06 10:05:22 +03:00
Michael Snoyman
772563c46b
lookupHeader/lookupHeaders
2013-05-30 08:31:24 +03:00
Michael Snoyman
743966898d
Move away from RepHtml some more
2013-05-20 09:16:53 +03:00
Michael Snoyman
44c5b03a6e
Deprecate hamletToRepHtml
2013-05-19 19:33:48 +03:00
Michael Snoyman
89203d0630
returnJson and provideJson
2013-05-09 08:39:06 +03:00
Greg Weber
eb779fb0f6
document UniqueList
2013-05-06 16:57:13 -05:00
Felipe Lessa
5c434b089a
Rewrite handlerToIO so that it works with Yesod 1.2.
...
Since the new YesodRequest has strict fields, handlerToIO didn't
work at all. Even if it did, it had a reference to its parent's
ResourceT's internal state, so its chances of blowing up were
quite high.
The new implementation takes a whitelist approach of taking what
we want instead of clearing what we do not want. Also, it takes
care of using a new runResourceT.
2013-05-03 21:20:31 -03:00
Felipe Lessa
c19501b1d8
yesod-core: New 'customizeSessionCookies' helper function.
2013-05-03 20:56:52 -03:00
Michael Snoyman
3956958b7a
Better Show HandlerContents
2013-05-01 14:38:21 +03:00
Michael Snoyman
abd4cc5fc2
Export yesodRunner
2013-04-23 11:55:27 +03:00
Michael Snoyman
16260f3e37
RouteAttrs ( fixes #531 )
2013-04-21 17:14:40 +03:00
Michael Snoyman
a013eb2295
maximumContentLength is a Maybe
2013-04-18 10:19:50 +03:00
Michael Snoyman
64ef26104d
Route attributes/appcache example #518
2013-04-11 17:07:22 +03:00
Michael Snoyman
307540fc04
GHC 7.6.2
2013-04-09 06:43:30 +03:00
Greg Weber
a357922d39
setHeader -> addHeader
2013-04-03 15:24:12 -07:00
Greg Weber
8429a66ad8
not authenticated returns 401, not 403
2013-04-03 07:47:32 -07:00
Michael Snoyman
e663e84caf
Deprecate setHeader, provide addHeader #524
2013-04-03 17:28:44 +03:00
Greg Weber
18be9bc206
accept header content negotiation
...
* look at wildcards */* and main/*
* return a 406 when nothing matches the accept header
2013-04-02 08:39:56 -07:00
Greg Weber
be04f4888b
fix yesod-core auth response type for json
2013-04-02 08:27:30 -07:00
Michael Snoyman
f2072747ce
Include Yesod in server name
2013-04-02 14:58:02 +03:00
Michael Snoyman
6d98103115
Generalized sendChunk* functions
2013-03-27 09:46:10 +02:00
Michael Snoyman
d4422b656b
LiteApp uses a Writer monad
2013-03-27 08:51:03 +02:00
Michael Snoyman
ae65603c4b
Generalize streaming functions
2013-03-24 22:11:59 +02:00
Michael Snoyman
f3b459e9ce
respond
2013-03-22 10:33:33 +02:00
Michael Snoyman
8ab09931c4
Code cleanup and transformer instances
2013-03-22 09:17:14 +02:00
Michael Snoyman
c16184eb40
Type-specialized versions of sendChunk
2013-03-21 11:42:20 +02:00
Michael Snoyman
968b96e0b1
sendChunk/sendFlush
2013-03-21 08:42:10 +02:00
Michael Snoyman
ff3eb746f1
Added some docs
2013-03-21 08:30:09 +02:00
Michael Snoyman
8c45b2709f
respondSource
2013-03-20 13:49:43 +02:00
Michael Snoyman
68ca768b83
Export more aeson stuff
2013-03-20 11:57:00 +02:00
Michael Snoyman
fb4045ea45
Warning cleanup
2013-03-20 11:46:32 +02:00
Michael Snoyman
cf77d86a6a
Use new mkParseRouteInstance in yesod-core
2013-03-19 15:17:28 +02:00
Michael Snoyman
564fdab66b
SimpleApp to LiteApp
2013-03-18 12:18:49 +02:00
Michael Snoyman
0fc1c6cfef
SimpleApp
2013-03-18 12:13:26 +02:00
Michael Snoyman
da24596b77
Incomplete SimpleApp
2013-03-18 05:12:04 +02:00
Michael Snoyman
2a719941ca
Some parsing fixes (not complete)
2013-03-17 13:35:30 +02:00
Michael Snoyman
bca0d24533
Route parsing
2013-03-17 13:28:17 +02:00
Michael Snoyman
3b121ccde5
More cleanups
2013-03-17 12:46:55 +02:00
Michael Snoyman
090191bec3
Include warp etc in Yesod.Core
2013-03-17 12:39:04 +02:00
Michael Snoyman
beac5d56db
Minor TH cleanup
2013-03-17 12:08:58 +02:00
Michael Snoyman
4295346171
Split files up a bit more
2013-03-17 11:38:33 +02:00
Michael Snoyman
172f706924
Re-export some classes/methods
2013-03-17 11:28:57 +02:00
Michael Snoyman
a2c4f1f3b7
MonadHandler/MonadWidget
2013-03-17 10:10:39 +02:00
Michael Snoyman
8b9f8ea024
Some convenience re-exports
2013-03-15 05:54:09 +02:00
Michael Snoyman
cd2f0ed610
More useful defaultClientSessionBackend
2013-03-15 05:41:50 +02:00
Michael Snoyman
44a01d7107
Better fileSource
2013-03-14 19:02:20 +02:00
Michael Snoyman
326c13d8b4
House cleaning
2013-03-14 18:32:35 +02:00
Michael Snoyman
15bbd54e12
Some cleanup
2013-03-14 10:23:57 +02:00
Michael Snoyman
9c4cd573b4
Everything compiles
2013-03-14 09:28:51 +02:00
Michael Snoyman
55d13c62a6
whitespace fix for tests
2013-03-14 07:36:09 +02:00
Michael Snoyman
0f1637a1aa
Implemented rawRequestBody
2013-03-14 07:35:09 +02:00
Michael Snoyman
8e793c70cc
Compiles again, tests fails
2013-03-14 07:32:40 +02:00
Michael Snoyman
c466845095
More incomplete changes
2013-03-14 05:58:37 +02:00
Michael Snoyman
553dff7bd2
Incomplete change: GWidget/GHandler->WidgetT/HandlerT
2013-03-14 05:00:16 +02:00
Michael Snoyman
099b96f178
Everything compiles
2013-03-13 13:35:11 +02:00
Michael Snoyman
4bdd01ef58
Simplified GHandler/GWidget
2013-03-13 10:59:10 +02:00
Michael Snoyman
fc6551c650
defaultLayoutT
2013-03-13 10:15:47 +02:00
Michael Snoyman
0633d0b259
Beginning of subsite TH overhaul
2013-03-13 09:14:24 +02:00
Michael Snoyman
2aefef4414
YesodSubDispatch
2013-03-13 08:48:28 +02:00
Michael Snoyman
9a53092be7
Remove yreRoute
2013-03-13 07:20:20 +02:00
Michael Snoyman
815e185a4b
Slight simplification to YesodDispatch typeclass
2013-03-13 07:12:19 +02:00
Michael Snoyman
0a54826157
Simplified SessionBackend
2013-03-12 16:29:48 +02:00
Michael Snoyman
cf3fe53cd4
Initial HandlerT
2013-03-12 16:14:29 +02:00
Michael Snoyman
a2d26e096d
Move session header logic to yarToResponse
2013-03-12 10:41:17 +02:00
Michael Snoyman
77f41a18dd
Removed localNoCurrent for error handling
2013-03-12 10:33:02 +02:00
Michael Snoyman
062efc9ae3
More code movement
2013-03-12 10:30:34 +02:00
Michael Snoyman
845258e544
Removed some dead code
2013-03-12 10:26:43 +02:00
Michael Snoyman
04a034770b
Beginning of a dispatch overhaul
2013-03-12 10:21:26 +02:00
Michael Snoyman
9873b4d8f3
Moved code around some more
2013-03-12 05:49:24 +02:00
Michael Snoyman
e2cd292877
yesod-auth doesn't use redirects for JSON requests ( fixes #479 )
2013-03-11 11:37:45 +02:00
Michael Snoyman
8246aa4c1e
Whole repo compiles
2013-03-11 11:25:26 +02:00
Michael Snoyman
2af304bd7f
Provide JSON reps for default error message handler ( fixes #478 )
2013-03-11 11:10:00 +02:00
Michael Snoyman
f3f55a1ecd
RepHtml is a synonym for Html
2013-03-11 10:54:26 +02:00
Michael Snoyman
1d0cac6e03
TypedContent
2013-03-11 10:45:01 +02:00
Michael Snoyman
d2f5ca449d
selectRep/provideRep API
2013-03-11 09:08:34 +02:00
Michael Snoyman
81ec09bf63
Some more rearranging
2013-03-11 07:29:43 +02:00
Michael Snoyman
e673c1f35e
Removed some subsite stuff
2013-03-11 07:23:30 +02:00
Michael Snoyman
2c2ee10dd7
Converted Yesod.Handler to typeclasses
2013-03-11 07:08:03 +02:00
Michael Snoyman
8f8e986839
Started on the Handler typeclasses
2013-03-11 06:00:50 +02:00
Michael Snoyman
8d5f207c8d
Removed Yesod.Internal.TestApi
2013-03-10 15:21:54 +02:00
Michael Snoyman
5c4ddfad6c
Removed Yesod.Internal
2013-03-10 15:18:58 +02:00
Michael Snoyman
9559c2a345
Typeable-based cache implementation ( #268 )
2013-03-10 15:05:40 +02:00
Michael Snoyman
1a5793e2b9
Removed Yesod.Request
2013-03-10 14:38:52 +02:00
Michael Snoyman
070e0aa8b3
Make RandomGen parameter optional
2013-03-10 14:34:00 +02:00
Michael Snoyman
5b5203a275
Removed yepnope
2013-03-10 14:20:39 +02:00
Michael Snoyman
0e2fee8da3
Removed messageLogger
2013-03-10 14:17:53 +02:00
Michael Snoyman
0c4643422c
safeEh logs properly
2013-03-10 14:14:44 +02:00
Michael Snoyman
1b8a1b9d42
Removed unneeded conditional
2013-03-10 14:04:45 +02:00
Michael Snoyman
ee01aaf268
Better error handling and auth checking
2013-03-10 14:03:10 +02:00
Michael Snoyman
7e2338aaa1
Unified some datatypes
2013-03-10 13:33:52 +02:00
Michael Snoyman
4ece5fafd9
Removed handlerToYAR
2013-03-10 13:24:23 +02:00
Michael Snoyman
e4683ed001
.Class and .Run modules
2013-03-10 12:56:32 +02:00
Michael Snoyman
1bd193f642
Initial YesodRequest/YesodRespnse change
2013-03-10 11:58:29 +02:00
Michael Snoyman
4f1a6b461e
BackendSession => SessionMap
2013-03-10 11:13:19 +02:00
Michael Snoyman
98613278d4
Yesod.Core.Types created, but it's a mess
2013-03-10 11:02:53 +02:00
Michael Snoyman
20091656aa
Make Felipe's session code the default ( #415 )
2013-03-10 10:08:20 +02:00
Michael Snoyman
2377d70ec8
Merge branch 'master' into yesod1.2
...
Conflicts:
yesod-json/yesod-json.cabal
2013-03-10 09:49:28 +02:00
Michael Snoyman
afd700753c
Use RequestBodyLength
2013-03-10 05:26:34 +02:00
Michael Snoyman
eda98f96db
Merge remote-tracking branch 'origin/master' into yesod1.2
...
Conflicts:
yesod-core/yesod-core.cabal
yesod-json/yesod-json.cabal
2013-03-10 05:10:13 +02:00
Michael Snoyman
a73cac167e
wai 1.4
2013-02-18 12:39:20 +02:00
Michael Snoyman
a1734e0e18
conduit 1.0 support
2013-02-13 11:45:50 +02:00
Michael Snoyman
8eb898931a
Merge branch 'master' into yesod1.2
2013-02-12 16:59:40 +02:00
Michael Snoyman
23ee947ba1
IsContent instance for ResumableSource #466
2013-02-12 15:49:59 +02:00
Michael Snoyman
ed53b20308
Merge yesod-json functionality into yesod-core ( closes #487 )
2013-02-12 15:42:45 +02:00
Michael Snoyman
3786362300
Add Failure instance for GHandler
2013-01-27 19:04:18 +02:00
Felipe Lessa
991f937b39
Use resolveApproot on runFakeHandler.
2013-01-25 13:55:41 -02:00
Michael Snoyman
f78559d7ed
Remove deprecated Yesod.Widget functions ( fixes #469 )
2013-01-15 11:23:21 +02:00
Michael Snoyman
91f98c480e
Removed instance Exception ErrorResponse
2013-01-15 11:12:25 +02:00
Michael Snoyman
617c1d724e
Removed some FIXMEs
2013-01-02 14:26:56 +02:00
Michael Snoyman
bd05541df4
Limit request body sizes for chunked bodies
2013-01-01 11:18:07 +02:00
Michael Snoyman
bf293e6a1f
Make new session code optional, keep old API
2012-12-26 19:00:45 +02:00
Michael Snoyman
f4674f9465
Merge branch 'faster-session' of https://github.com/meteficha/yesod
2012-12-26 18:19:22 +02:00
Michael Snoyman
9624d4bf66
Add error logging for all internal server errors ( #335 )
2012-12-26 16:41:24 +02:00
Michael Snoyman
0c4ded0fd1
Slightly more efficient header construction
2012-11-25 21:45:08 +02:00
David L. L. Thomas
513d6ed4f9
Bugfix - Caching redirect *only* for 301 redirects
...
Previous commit got it backwards.
2012-11-25 11:12:39 -08:00
David L. L. Thomas
246a024dce
Allowing cache on 301 redirects
2012-11-23 13:44:31 -08:00
David L. L. Thomas
a2ad8fe704
Prevent caching of redirect
...
Dynamic redirects shouldn't be cached. This especially causes a problem
with redirection to the login page, since trying to actually access the
page the user logged in to see can get them redirected back to the login
page on some browsers.
This patch adds headers to prevent caching of all redirects, which isn't
ideal, but better than allowing caching of all of them.
2012-11-21 22:39:53 -08:00
Michael Snoyman
d37b0634a5
Added yesodMiddleware method
2012-11-21 10:58:45 +02:00
Michael Snoyman
053210da6f
shakespeare-js 1.0.2 and 1.1
2012-11-16 09:27:31 +02:00
Michael Snoyman
a598846bd3
Better formatting of error messages
2012-11-12 11:24:32 +02:00
Michael Snoyman
ae8168ede5
Added extra explanation from Felipe
2012-11-07 14:49:11 +02:00
Michael Snoyman
a144b56928
Warning about fork vs resourceForkIO
2012-11-07 14:35:31 +02:00
Piyush P Kurur
e32f37eadd
refactored mkYesodGeneral to use mkDispatchInstance
2012-11-07 16:51:25 +05:30
Piyush P Kurur
30ddc17384
yesod-core: generic dispatch instance generation fixes #427 partially.
2012-10-26 15:23:54 +05:30
Michael Snoyman
ae23dee4ab
Include level in source
2012-10-13 22:40:03 +02:00
Michael Snoyman
01b855969b
CssBuilder
2012-10-11 07:35:25 +02:00
Michael Snoyman
a30cc74087
Export log*S ( #405 )
2012-09-23 13:44:04 +02:00
Michael Snoyman
34f2942c54
Add deprecation for messageLogger ( #405 )
2012-09-21 17:15:21 +03:00
Michael Snoyman
7bd06e9b7b
LogSource ( #405 )
2012-09-21 15:01:07 +03:00
Michael Snoyman
cf4fed8cb9
Precede null path segments with dashes ( #421 )
2012-09-21 14:23:38 +03:00
Michael Snoyman
a6ce05609d
Version bumps
2012-09-11 07:17:23 +03:00
Felipe Lessa
b2a9beba3c
Use a cache for session cookie's expiration time.
...
The following HelloWorld app was used as benchmark:
data HelloWorld = HelloWorld
mkYesod "HelloWorld" [parseRoutes|
/ HomeR GET
|]
instance Yesod HelloWorld where
-- makeSessionBackend = const $ return Nothing
getHomeR = return . RepPlain . toContent $ "Hello World!"
main :: IO ()
main = warp 8080 HelloWorld
The benchmark was tested with httperf under the following
environments:
[vanilla-nosession] Released yesod-core 1.1.1.1, but without sessions.
[vanilla-session] Released yesod-core 1.1.1.1 (with sessions).
[faster-session-1] With patch 065e33a , "Faster, leaner
implementation of putTime/getTime".
[faster-session-2] With this commit.
Performance results:
A) Testing with:
httperf --hog --client=0/1 --server=localhost \
--port=8080 --uri=/ --rate=1000 \
--send-buffer=4096 --recv-buffer=16384 \
--num-conns=100 --wsess=1000,60,1 \
--burst-length=20 --session-cookie
Results:
vanilla-nosession: 19187.7 req/s (0.1 ms/req)
vanilla-session: 2523.3 req/s (0.4 ms/req)
faster-session-1: 2933.5 req/s (0.3 ms/req)
faster-session-2: 2957.5 req/s (0.3 ms/req)
This test benchmarks both saving and loading the session.
Interestingly, this commit provides only a small performance
increase.
B) Testing with:
httperf --hog --client=0/1 --server=localhost \
--port=8080 --uri=/ --rate=1000 \
--send-buffer=4096 --recv-buffer=16384 \
--num-conns=100 --num-calls=1000 \
--burst-length=20
Results:
vanilla-nosession: 43548.7 req/s (0.0 ms/req)
vanilla-session: 3609.4 req/s (0.3 ms/req)
faster-session-1: 3454.9 req/s (0.3 ms/req)
faster-session-2: 3786.9 req/s (0.3 ms/req)
This test benchmarks only saving the session. Strangely,
faster-session-1 was worse than vanilla-session (while
isolated tests show that the new putTime should be +70x
faster). However, there is a non-negligible performance
increase on faster-session-2.
2012-09-05 01:35:10 -03:00
Felipe Lessa
065e33a3d1
Faster, leaner implementation of putTime/getTime.
...
Benchmark on my computer (per call, includes runPut/runGet):
old putTime: 5658 ns +/- 224ns
new putTime: 821 ns +/- 24ns (7x faster)
old getTime: 7228 ns +/- 126ns
new getTime: 99 ns +/- 4ns (73x faster!!)
Besides, the old format used 25 raw bytes (33.3 bytes on the
base64 output), while the new one uses 8 bytes (10.6 bytes on the
base64 output).
2012-09-05 00:41:54 -03:00
Felipe Lessa
0d95e6917d
yesod-core: Whitespace.
2012-08-27 14:50:04 -03:00
Felipe Lessa
5b19865c7a
yesod-core: In handlerToIO, really avoid keeping old handler data in memory.
2012-08-27 10:20:17 -03:00
Felipe Lessa
20f51e38e2
yesod-core: Doc improvements for runFakeHandler.
2012-08-21 13:38:49 -03:00
Felipe Lessa
0346dab14c
yesod-core: New function runFakeHandler.
2012-08-21 13:38:42 -03:00
Felipe Lessa
dc14783c81
yesod-core: On handlerToIO, avoid 'sourceList []'.
2012-08-20 13:13:46 -03:00
Felipe Lessa
786b5bc6e2
yesod-core: On handlerToIO's docs, avoid shadowing a name.
2012-08-20 13:09:43 -03:00
Felipe Lessa
60046bad96
yesod-core: New handlerToIO function.
2012-08-20 13:07:58 -03:00
Michael Snoyman
2e87e13347
Filter missing files ( #403 )
2012-08-12 17:36:26 +03:00
Michael Snoyman
da33be529d
Deprecated addWidget
2012-08-03 07:38:21 +03:00
Michael Snoyman
b0c6651ac6
Strictness annotations on Content
2012-07-25 08:56:46 +03:00
Michael Snoyman
c009067b11
DontFullyEvaluate (Felipe's code)
2012-07-25 08:54:43 +03:00
Michael Snoyman
f91ff4fde2
fullyEvaluateBody
2012-07-24 17:49:17 +03:00
Michael Snoyman
33c39662b9
Reflect wai changes for #262
2012-07-11 15:58:36 +03:00
Michael Snoyman
fffb3028c9
Export FileUpload ( #262 )
2012-07-09 15:11:24 +03:00