mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-22 00:19:24 +03:00
Benchmarking reveals filtering out non-files takes forevs
toString everything 0.199 Filter out non-files 0.703 Everything 0.961
This commit is contained in:
parent
1420ca9adb
commit
982d5a4426
12
index.html
12
index.html
@ -3,6 +3,18 @@
|
||||
<script src='src/stdlib/require.js'></script>
|
||||
|
||||
<script>
|
||||
window.measure = function(name) {
|
||||
var start = new Date().getTime();
|
||||
return {stop: function() {
|
||||
var end = new Date().getTime();
|
||||
var total = (end - start) / 1000;
|
||||
while(name.length < 40) {
|
||||
name = name + " "
|
||||
}
|
||||
console.log(name + (end - start) / 1000);
|
||||
}}
|
||||
}
|
||||
|
||||
window.onload = function() {
|
||||
require($bootstrapScript);
|
||||
}
|
||||
|
@ -49,8 +49,10 @@ class FileFinder extends Template
|
||||
if not query
|
||||
urls = @urls
|
||||
else
|
||||
scoreMeasure = measure 'Score urls'
|
||||
scoredUrls = ({url, score: stringScore(url, query)} for url in @urls)
|
||||
scoredUrls.sort (a, b) -> a.score > b.score
|
||||
urls = (urlAndScore.url for urlAndScore in scoredUrls when urlAndScore.score > 0)
|
||||
scoreMeasure.stop()
|
||||
|
||||
urls.slice 0, @maxResults
|
||||
|
@ -6,7 +6,13 @@ class Project
|
||||
constructor: (@url) ->
|
||||
|
||||
getFilePaths: ->
|
||||
everythingMeasure = measure "Everything"
|
||||
projectUrl = @url
|
||||
fs.async.list(@url, true).pipe (urls) ->
|
||||
url.replace(projectUrl, "") for url in urls when fs.isFile(url)
|
||||
filterMeasure = measure "Filter out non-files"
|
||||
urls = (url.replace(projectUrl, "") for url in urls when fs.isFile(url))
|
||||
filterMeasure.stop()
|
||||
everythingMeasure.stop()
|
||||
|
||||
urls
|
||||
|
||||
|
@ -100,6 +100,9 @@ module.exports =
|
||||
list: (path, recursive) ->
|
||||
deferred = $.Deferred()
|
||||
$atomController.contentsOfDirectoryAtPath_recursive_onComplete path, recursive, (result) ->
|
||||
deferred.resolve (subpath.toString() for subpath in result)
|
||||
subpathMeasure = measure 'toString everything'
|
||||
subpaths = (subpath.toString() for subpath in result)
|
||||
subpathMeasure.stop()
|
||||
deferred.resolve subpaths
|
||||
deferred
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user