Toggle navigation
Toggle navigation
This project
Loading...
Sign in
iOS
/
asi-http-request
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Ben Copsey
2009-12-19 22:08:13 +0000
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
610eed77d14e957f26fbcf77330ad9d33a9d28f8
610eed77
1 parent
9c90f90c
Use magic to narrow the NSURLConnection performance gap to almost nothing :)
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
7 deletions
Classes/ASIHTTPRequest.m
Classes/Tests/PerformanceTests.m
Classes/ASIHTTPRequest.m
View file @
610eed7
This diff is collapsed. Click to expand it.
Classes/Tests/PerformanceTests.m
View file @
610eed7
...
...
@@ -24,7 +24,8 @@
-
(
void
)
setUp
{
[
self
setTestURL
:[
NSURL
URLWithString
:
@"http://allseeing-i.com"
]];
[
self
setTestURL
:[
NSURL
URLWithString
:
@"http://allseeing-i.com/ASIHTTPRequest/tests/the_great_american_novel_%28abridged%29.txt"
]];
//[self setTestURL:[NSURL URLWithString:@"http://allseeing-i.com"]];
}
-
(
void
)
testASIHTTPRequestSynchronousPerformance
...
...
@@ -47,7 +48,6 @@
[
request
addRequestHeader
:
@"Accept-Language"
value
:
@"en/us"
];
[
request
setUseCookiePersistance
:
NO
];
[
request
setUseSessionPersistance
:
NO
];
//[request setShouldRunInBackgroundThread:YES];
[
request
startSynchronous
];
if
([
request
error
])
{
NSLog
(
@"Request failed - cannot proceed with test"
);
...
...
@@ -116,7 +116,7 @@
[
self
performSelectorOnMainThread
:
@selector
(
startASIHTTPRequests
)
withObject
:
nil
waitUntilDone
:
NO
];
}
-
(
void
)
test
ASIHTTPRequestAsyncPerformanceWithQueu
e
-
(
void
)
test
QueuedASIHTTPRequestAsyncPerformanc
e
{
[
self
performSelectorOnMainThread
:
@selector
(
startASIHTTPRequestsWithQueue
)
withObject
:
nil
waitUntilDone
:
NO
];
}
...
...
@@ -129,13 +129,15 @@
[
self
setTestStartDate
:[
NSDate
date
]];
int
i
;
for
(
i
=
0
;
i
<
10
;
i
++
)
{
ASIHTTPRequest
*
request
=
[
ASIHTTPRequest
requestWithURL
:
[
NSURL
URLWithString
:
@"http://allseeing-i.com/ASIHTTPRequest/tests/the_great_american_novel_(abridged).txt"
]
];
ASIHTTPRequest
*
request
=
[
ASIHTTPRequest
requestWithURL
:
testURL
];
//Send the same headers as NSURLRequest
[
request
addRequestHeader
:
@"Pragma"
value
:
@"no-cache"
];
[
request
addRequestHeader
:
@"Accept"
value
:
@"*/*"
];
[
request
addRequestHeader
:
@"Accept-Language"
value
:
@"en/us"
];
[
request
setUseCookiePersistance
:
NO
];
[
request
setUseSessionPersistance
:
NO
];
[
request
setDelegate
:
self
];
[
request
start
];
[
request
start
Asynchronous
];
}
}
...
...
@@ -146,13 +148,17 @@
[
self
setTestStartDate
:[
NSDate
date
]];
int
i
;
NSOperationQueue
*
queue
=
[[[
NSOperationQueue
alloc
]
init
]
autorelease
];
[
queue
setMaxConcurrentOperationCount
:
4
];
for
(
i
=
0
;
i
<
10
;
i
++
)
{
ASIHTTPRequest
*
request
=
[
ASIHTTPRequest
requestWithURL
:
[
NSURL
URLWithString
:
@"http://allseeing-i.com/ASIHTTPRequest/tests/the_great_american_novel_(abridged).txt"
]
];
ASIHTTPRequest
*
request
=
[
ASIHTTPRequest
requestWithURL
:
testURL
];
//Send the same headers as NSURLRequest
[
request
addRequestHeader
:
@"Pragma"
value
:
@"no-cache"
];
[
request
addRequestHeader
:
@"Accept"
value
:
@"*/*"
];
[
request
addRequestHeader
:
@"Accept-Language"
value
:
@"en/us"
];
[
request
setUseCookiePersistance
:
NO
];
[
request
setUseSessionPersistance
:
NO
];
[
request
setDelegate
:
self
];
[
request
setShouldRunInBackgroundThread
:
YES
];
[
queue
addOperation
:
request
];
}
}
...
...
@@ -185,7 +191,7 @@
int
i
;
for
(
i
=
0
;
i
<
10
;
i
++
)
{
NSURLRequest
*
request
=
[
NSURLRequest
requestWithURL
:
[
NSURL
URLWithString
:
@"http://allseeing-i.com/ASIHTTPRequest/tests/the_great_american_novel_(abridged).txt"
]
cachePolicy
:
NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval
:
10
];
NSURLRequest
*
request
=
[
NSURLRequest
requestWithURL
:
testURL
cachePolicy
:
NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval
:
10
];
[[
self
responseData
]
addObject
:[
NSMutableData
data
]];
NSURLConnectionSubclass
*
connection
=
[[[
NSURLConnectionSubclass
alloc
]
initWithRequest
:
request
delegate
:
self
startImmediately
:
YES
]
autorelease
];
[
connection
setTag
:
i
];
...
...
Please
register
or
login
to post a comment