Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
4eaf9c3c
Commit
4eaf9c3c
authored
Nov 10, 2015
by
Adam Barth
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #276 from abarth/benchmarks
Add some basic benchmarks of the Stocks app
parents
778289f7
68eebaa5
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
136 additions
and
13 deletions
+136
-13
.gitignore
packages/flutter_sprites/.gitignore
+0
-7
.gitignore
packages/flx/.gitignore
+0
-3
.gitignore
packages/unit/.gitignore
+0
-3
animation_bench.dart
packages/unit/benchmark/stocks/animation_bench.dart
+51
-0
build_bench.dart
packages/unit/benchmark/stocks/build_bench.dart
+43
-0
layout_bench.dart
packages/unit/benchmark/stocks/layout_bench.dart
+40
-0
pubspec.yaml
packages/unit/pubspec.yaml
+2
-0
No files found.
packages/flutter_sprites/.gitignore
deleted
100644 → 0
View file @
778289f7
.DS_Store
.idea
.packages
.pub/
build/
packages
pubspec.lock
packages/flx/.gitignore
deleted
100644 → 0
View file @
778289f7
.idea
.pub/
pubspec.lock
packages/unit/.gitignore
deleted
100644 → 0
View file @
778289f7
.pub
packages
pubspec.lock
packages/unit/benchmark/stocks/animation_bench.dart
0 → 100644
View file @
4eaf9c3c
import
'dart:io'
;
import
'package:flutter/rendering.dart'
;
import
'package:flutter/material.dart'
;
import
'package:stocks/main.dart'
as
stocks
;
import
'package:stocks/stock_data.dart'
as
stock_data
;
import
'../../test/widget/widget_tester.dart'
;
const
int
_kNumberOfIterations
=
50000
;
const
bool
_kRunForever
=
true
;
void
main
(
)
{
assert
(
false
);
// Don't run in checked mode
stock_data
.
StockDataFetcher
.
actuallyFetchData
=
false
;
const
Duration
_kAnimationDuration
=
const
Duration
(
milliseconds:
200
);
const
Duration
tickDuration
=
const
Duration
(
milliseconds:
2
);
int
numberOfTicks
=
_kAnimationDuration
.
inMicroseconds
~/
tickDuration
.
inMicroseconds
;
int
numberOfRounts
=
_kNumberOfIterations
~/
numberOfTicks
;
Stopwatch
watch
=
new
Stopwatch
()
..
start
();
testWidgets
((
WidgetTester
tester
)
{
stocks
.
main
();
tester
.
pump
();
// Start startup animation
tester
.
pump
(
const
Duration
(
seconds:
1
));
// Complete startup animation
bool
drawerIsOpen
=
false
;
for
(
int
i
=
0
;
i
<
numberOfRounts
||
_kRunForever
;
++
i
)
{
if
(
drawerIsOpen
)
tester
.
tapAt
(
const
Point
(
20.0
,
20.0
));
// Open drawer
else
tester
.
tapAt
(
const
Point
(
780.0
,
20.0
));
// Close drawer
tester
.
pump
();
// Start drawer animation
for
(
int
j
=
0
;
j
<
numberOfTicks
;
++
j
)
tester
.
pump
(
tickDuration
);
tester
.
pump
(
const
Duration
(
seconds:
1
));
// Complete animation
drawerIsOpen
=
!
drawerIsOpen
;
}
});
watch
.
stop
();
print
(
"Stock animation: "
+
watch
.
elapsed
.
toString
());
exit
(
0
);
}
packages/unit/benchmark/stocks/build_bench.dart
0 → 100644
View file @
4eaf9c3c
import
'dart:io'
;
import
'package:flutter/rendering.dart'
;
import
'package:flutter/material.dart'
;
import
'package:stocks/main.dart'
as
stocks
;
import
'package:stocks/stock_data.dart'
as
stock_data
;
import
'../../test/widget/widget_tester.dart'
;
const
int
_kNumberOfIterations
=
100000
;
const
bool
_kRunForever
=
true
;
void
_doNothing
(
)
{
}
void
main
(
)
{
assert
(
false
);
// Don't run in checked mode
stock_data
.
StockDataFetcher
.
actuallyFetchData
=
false
;
stocks
.
StocksAppState
appState
;
testWidgets
((
WidgetTester
tester
)
{
stocks
.
main
();
tester
.
pump
();
// Start startup animation
tester
.
pump
(
const
Duration
(
seconds:
1
));
// Complete startup animation
tester
.
tapAt
(
new
Point
(
20.0
,
20.0
));
// Open drawer
tester
.
pump
();
// Start drawer animation
tester
.
pump
(
const
Duration
(
seconds:
1
));
// Complete drawer animation
appState
=
tester
.
findStateOfType
(
stocks
.
StocksAppState
);
});
WidgetFlutterBinding
binding
=
WidgetFlutterBinding
.
instance
;
Stopwatch
watch
=
new
Stopwatch
()
..
start
();
for
(
int
i
=
0
;
i
<
_kNumberOfIterations
||
_kRunForever
;
++
i
)
{
appState
.
setState
(
_doNothing
);
binding
.
buildDirtyElements
();
}
watch
.
stop
();
print
(
"Stock build: "
+
watch
.
elapsed
.
toString
());
exit
(
0
);
}
packages/unit/benchmark/stocks/layout_bench.dart
0 → 100644
View file @
4eaf9c3c
import
'dart:io'
;
import
'package:flutter/rendering.dart'
;
import
'package:flutter/material.dart'
;
import
'package:stocks/main.dart'
as
stocks
;
import
'package:stocks/stock_data.dart'
as
stock_data
;
import
'../../test/widget/widget_tester.dart'
;
const
int
_kNumberOfIterations
=
100000
;
const
bool
_kRunForever
=
false
;
void
main
(
)
{
assert
(
false
);
// Don't run in checked mode
stock_data
.
StockDataFetcher
.
actuallyFetchData
=
false
;
testWidgets
((
WidgetTester
tester
)
{
stocks
.
main
();
tester
.
pump
();
// Start startup animation
tester
.
pump
(
const
Duration
(
seconds:
1
));
// Complete startup animation
tester
.
tapAt
(
new
Point
(
20.0
,
20.0
));
// Open drawer
tester
.
pump
();
// Start drawer animation
tester
.
pump
(
const
Duration
(
seconds:
1
));
// Complete drawer animation
});
ViewConstraints
big
=
const
ViewConstraints
(
size:
const
Size
(
360.0
,
640.0
));
ViewConstraints
small
=
const
ViewConstraints
(
size:
const
Size
(
355.0
,
635.0
));
RenderView
renderView
=
WidgetFlutterBinding
.
instance
.
renderView
;
Stopwatch
watch
=
new
Stopwatch
()
..
start
();
for
(
int
i
=
0
;
i
<
_kNumberOfIterations
||
_kRunForever
;
++
i
)
{
renderView
.
rootConstraints
=
(
i
%
2
==
0
)
?
big
:
small
;
RenderObject
.
flushLayout
();
}
watch
.
stop
();
print
(
"Stock layout: "
+
watch
.
elapsed
.
toString
());
exit
(
0
);
}
packages/unit/pubspec.yaml
View file @
4eaf9c3c
...
...
@@ -6,5 +6,7 @@ dependencies:
path
:
../flx
flutter
:
path
:
../flutter
stocks
:
path
:
../../examples/stocks
sky_tools
:
path
:
../flutter_tools
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment