Hi Brian,
There is a blobstore sample using slim3:
http://slim3demo.appspot.com/blobstore/
Yasuo Higa
On Fri, Aug 26, 2011 at 9:37 PM, Brian brian...@gmail.com wrote:
Adam --
How were you able to modify the post header? I'm experiencing the
same issue and am using the slim3 mvc framework
It's *NO* bogus benchmark because the sample iterates the results.
http://code.google.com/p/slim3/source/browse/trunk/slim3demo/src/slim3/demo/controller/performance/GetLLController.java
Yasuo Higa
The code linked from http://slim3demo.appspot.com/performance/ has
just gone back to calling
, (System.currentTimeMillis() - start) / COUNT);
return redirect(basePath);
}
http://slim3demo.appspot.com/performance/
Slim3 is slightly faster than frameworks that use reflection,
but the difference is small.
Yasuo Higa
On Fri, Jun 10, 2011 at 2:29 AM, Alfred Fuller
arfuller+appeng...@google.com wrote
It is not bogus.
LazyList#size() fetches all data as follows:
public int size() {
resolveAllData();
return results.size();
}
Yasuo Higa
On Wed, Jun 8, 2011 at 11:32 PM, Dennis Peterson
dennisbpeter...@gmail.com wrote:
It's not my benchmark, it's Slim3's :) ...but you're right
Hi Dennis,
You can see all sources.
http://slim3demo.appspot.com/performance/
Java runtime reflections are very very slow.
If you don't think so, please try it by you.
Yasuo Higa
On Thu, Jun 9, 2011 at 12:00 AM, Dennis Peterson
dennisbpeter...@gmail.com wrote:
Apologies, no offense meant. My
Hi Dennis,
The following document will help you about global transactions:
http://sites.google.com/site/slim3appengine/#gtx
Yasuo Higa
On Thu, Jun 9, 2011 at 12:33 AM, Dennis Peterson
dennisbpeter...@gmail.com wrote:
Those multi-entity transactions are definitely interesting to me. There's
();
}
for (BarObjectify bar : service.getBarListUsingObjectify()) {
bar.getKey();
bar.getSortValue();
}
for (BarJDO bar : service.getBarListUsingJDO()) {
bar.getKey();
bar.getSortValue();
}
LL API is much slower than before.
http://slim3demo.appspot.com/performance/
Yasuo Higa
On Thu, Jun
fixed the samples to call list.size().
http://slim3demo.appspot.com/performance/
As a result, LL is as fast as slim3 (^^;
Yasuo Higa
On Thu, Jun 9, 2011 at 10:17 AM, Jeff Schnitzer j...@infohazard.org wrote:
Thank you for fixing the benchmark.
I am very curious. According to this new
No. Slim3 loads all data eagerly.
Yasuo Higa
On Wednesday, June 8, 2011, Jeff Schnitzer j...@infohazard.org wrote:
Ok, I have figured out what's going on. To put it gently, the
benchmark is bogus.
The benchmark code for the Low-Level API just gets the size() of the
collection and doesn't
No. Slim3 loads all data eagerly.
Yasuo Higa
On Wednesday, June 8, 2011, Jeff Schnitzer j...@infohazard.org wrote:
Ok, I have figured out what's going on. To put it gently, the
benchmark is bogus.
The benchmark code for the Low-Level API just gets the size() of the
collection and doesn't
as the source code when compiling.
so the speed of Slim3 is almost equal to LL API.
Yasuo Higa
On Tue, Jun 7, 2011 at 8:27 PM, Anders blabl...@gmail.com wrote:
I started by looking at JDO but after finding some info about potential
performance loss I wrote a simple wrapper abstract base class
are very very slow on production server,
so slim3 creates the mapping logic between a model and an entity
as the source code when compiling.
Yasuo Higa
On Wed, Jun 8, 2011 at 10:18 AM, Ikai Lan (Google) ika...@google.com wrote:
I doubt the low-level API is significantly faster than JDO (have
Hi Elio,
See Kotori Web JUnit Runner:
http://code.google.com/p/ktrwjr/
On Fri, Apr 1, 2011 at 12:28 AM, Eliot Stock 1...@eliotstock.com wrote:
Is there a standard way to do this or do I have to write a servlet or
something? If I have to write something, how am I going to get the log
output
Hi Luca,
Slim3 supports HOT reloading.
https://sites.google.com/site/slim3appengine/
Yasuo Higa
On Thu, Mar 10, 2011 at 7:58 PM, Luca Matteis lmatt...@gmail.com wrote:
Hello everybody!
I'm using Google AppEngine with their built in web server. My
development goes about in a simple way: I
commit, it will be rolled forward
by task queue.
- Is it using undocumented Google APIs?
No.
Yasuo Higa
--
You received this message because you are subscribed to the Google Groups
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
is a java framework, supports global
transactions between multiple entity groups.
http://sites.google.com/site/slim3appengine/#gtx
You may worry about the overhead of global transactions. Don't worry.
It is not very expensive.
The demonstration is as follows:
http://slim3demo.appspot.com/gtx/
Yasuo Higa
Hi liqwei,
You can get the total count of a specific query as follows:
Query query = new Query(Book.getKind());
PreparedQuery pq = ds.prepare(query);
FetchOptions option = FetchOptions.Builder.withLimit(Integer.MAX_VALUE);
out.println(pq.countEntities(option));
Hope this helps,
Yasuo Higa
I filed an issue:
http://code.google.com/p/googleappengine/issues/detail?id=3671
Yasuo Higa
On Thu, Aug 26, 2010 at 2:18 AM, tomkarren tkar...@gmail.com wrote:
Agreed. We have an example for a fix that does not correspond to the
1.3.6 low level API spec. Could you please elaborate?
On Aug
.
Do I misunderstand datastore count()?
Yasuo Higa
--
You received this message because you are subscribed to the Google Groups
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to
google
Hi jesbox,
Slim3 supports HOT reloading.
HOT reloading means a new version of a class is automatically reloaded
on the fly.
The site of Slim3 is here:
http://slim3.org
Hope this helps,
Yasuo Higa
On Sun, Jul 4, 2010 at 1:40 PM, jesbox jesb...@gmail.com wrote:
Hi!
I have read that it should
://sites.google.com/site/slim3appengine/slim3-datastore/transactions/global-transaction
You may worry about the overhead of global transactions. Don't worry.
It is not very expensive.
We prepare the demonstration:
http://slim3demo.appspot.com/gtx/
Hope this helps,
Yasuo Higa
This should help:
http
If you use org.slim3.memcache.Memcache, you should upgrade to the version 1.0.4,
because MemcacheService#setNamespace() causes NullPointerException on
the current production server.
Thanks,
Yasuo Higa
--
You received this message because you are subscribed to the Google Groups
Google App Engine
-datastore/queries-and-indexes/query-cursors
The following code may help you, see 236 lines(ModelQuery#asQueryResultList):
http://code.google.com/p/slim3/source/browse/trunk/slim3/src/main/java/org/slim3/datastore/ModelQuery.java
Hope this helps,
Yasuo Higa
--
You received this message because you
reloading, when you change the source code,
you can see the changed result on your browser without restarting web
application.
Yasuo Higa
On Sun, Apr 25, 2010 at 4:04 AM, jbdhl jbirksd...@gmail.com wrote:
Hi
I really can't decide which datastore abstraction to use for my app.
Any help deciding
as follows:
@Attribute(lob = true)
private ListEmbeddedChild Children;
See
http://sites.google.com/site/slim3appengine/slim3-datastore/defining-data-classes/serializable-objects
Yasuo Higa
--
You received this message because you are subscribed to the Google Groups
Google App Engine for Java
Hi John, thanks for your clarification.
Current Slim3 does not support embedding instances like Twig/Objectify.
Yasuo Higa
Serializing is a bit different to embedding instances because the Blob is
opaque and not able to be queried. If you use @Embed in Twig or Objectify
you can query
-model
Yasuo Higa
--
You received this message because you are subscribed to the Google Groups
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to
google-appengine-java+unsubscr
Hi Andreas,
slim3 is more than just a datastore framework)
You can use Slim3 as just a datastore framework.
Please see
http://sites.google.com/site/slim3appengine/slim3-datastore/using-slim3-datastore.
Thanks,
Yasuo Higa
--
You received this message because you are subscribed to the Google
) {
keys.add(child.getParentRef().getKey());
}
Batch get for parents:
ListParent parents = Datastore.get(Parent.class, keys);
The document of relationships is here:
http://sites.google.com/site/slim3appengine/slim3-datastore/relationships
Hope this helps,
Yasuo Higa
--
You received this message
information about Slim3 here:
http://slim3.org
Release Notes:
http://sites.google.com/site/slim3appengine/release-notes
Download:
http://slim3.googlecode.com/files/slim3-blank-1.0.0.zip
Thanks,
Yasuo Higa
--
You received this message because you are subscribed to the Google Groups
Google App
Transactions
* Faster than JDO/JPA
* Fast spin-up
* HOT reloading
* Type safe query
You can find more information about Slim3 here:
http://slim3.org
Thanks,
Yasuo Higa
--
You received this message because you are subscribed to the Google Groups
Google App Engine for Java group.
To post
/browse#svn/trunk/slim3/src/main/java/org/slim3/tester
Thanks,
Yasuo Higa
--
You received this message because you are subscribed to the Google Groups
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group
.
Thanks,
Yasuo Higa
--
You received this message because you are subscribed to the Google Groups
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to
google-appengine-java+unsubscr
prevents
the lock from being deleted?
If the transaction is not committed for same reasons,
the locks will be released 30 seconds later.
Yasuo Higa
--
You received this message because you are subscribed to the Google Groups
Google App Engine for Java group.
To post to this group, send email
as follows:
@Override
public void init() throws ServletException {
TimeZone.setDefault(TimeZone.getTimeZone(GMT-8:00));
}
When I reply something, I always try it.
Hope this helps,
Yasuo Higa
--
You received this message because you are subscribed to the Google Groups
Google App Engine
-param
You can change GMT-8:00 as you want.
Hope this helps,
Yasuo Higa
--
You received this message because you are subscribed to the Google Groups
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send
://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes
Hope this helps,
Yasuo Higa
--
You received this message because you are subscribed to the Google Groups
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group
the covers. Here's a
pretty recent article about how the datastore works:
http://code.google.com/appengine/articles/storage_breakdown.html
Not a lot in there about transactions, though, but that would be something
we would add to the series.
I am looking forward to the article.
Thanks,
Yasuo Higa
Hi Ikai,
On Thu, Dec 10, 2009 at 2:49 AM, Ikai L (Google) ika...@google.com wrote:
Which timestamp are you referring to?
I mean timestamp as committed timestamp explained by the following
document(50p):
http://snarfed.org/space/datastore_talk.html
Thanks,
Yasuo Higa
On Tue, Dec 8, 2009 at 6
descendants, then removing the
root entity. Transactions are possible for entities in the same entity
group.
Do you mean that a root key has time-stamp for transaction
or an entity group itself is an entity?
I would like to know where time-stamp for transaction is stored.
Thanks,
Yasuo Higa
,
Yasuo Higa
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email
);
query.setKeysOnly();
query.addFilter(...);
int count = ds.prepare(query).asList(FetchOptions.Builder.withOffset(0)).size();
The first query is faster than the second one.
Hope this helps,
Yasuo Higa
--~--~-~--~~~---~--~~
You received this message because you are subscribed
);
PreparedQuery preparedQuery = datastore.prepare(query);
int result = preparedQuery.asList(fetchOptions).size();
logger.info(Integer.toString(result));
return result;
}
Hope this helps,
Yasuo Higa
Hi Pion,
It still returns 6218 entities while The Admin Console - Datastore -
Statistic shows 5029.
It is unusual.
I think the admin console uses Statistics API.
The Statistic data may be wrong or ...
Could you try an another sample?
Thanks,
Yasuo Higa
efficient than a single put.
JDO:
PersistenceManager#makePersistenceAll(Collection);
Low level API:
DatastoreService#put(IterableEntity)
Hope this helps,
Yasuo Higa
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups
().getTime() - starttime = 1) {
ListKey keys = new ArrayListKey();
for (Entity entity :
ds.prepare(query).asList(FetchOptions.Builder.withLimit(500))) {
keys.add(entity.getKey());
}
ds.delete(keys);
}
The points are setKeysOnly() and batch delete.
Hope this helps,
Yasuo Higa
) pm.getObjectsById(ids);
Thanks,
Yasuo Higa
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe
in a batch get.
If you specify more than 1000 keys in a batch get,
you will encounter the following exception:
java.lang.IllegalArgumentException: cannot get more than 1000 keys in
a single call
Hope this helps,
Yasuo Higa
--~--~-~--~~~---~--~~
You received this message
to String using Text#getValue() as follows:
Text text = new Text(aaa);
assertEquals(aaa, text.getValue());
Hope this helps,
Yasuo Higa
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups
Google App Engine for Java
a filter of multiple keys
as follows:
PersistenceManager pm = PMF.get().getPersistenceManager();
Query query = pm.newQuery(Master.class);
// key is a name of a primary key field.
query.setFilter(key == :keyList);
ListMaster list = (ListMaster) query.execute(keyList);
Hope this helps,
Yasuo Higa
() + ')
PersistenceManager pm = PMF.get().getPersistenceManager();
Query query = pm.newQuery(Master.class);
query.setFilter(detailKeySet.contains(:key));
ListMaster list = (ListMaster) query.execute(detail.getKey());
Hope this helps,
Yasuo Higa
--~--~-~--~~~---~--~~
You
Thanks for your suggestion, Jason.
I filed it.
http://code.google.com/p/googleappengine/issues/detail?id=2135
Thanks,
Yasuo Higa
On Thu, Sep 17, 2009 at 6:56 AM, Jason (Google) apija...@google.com wrote:
Thanks for the extra digging, Yasuo. Feel free to file a bug in the issue
tracker
:
query.declareParameters(String content);
I use implicit parameter as :content.
Thanks,
Yasuo Higa
- Jason
On Sat, Sep 12, 2009 at 10:32 PM, Yasuo Higa higaya...@gmail.com wrote:
Hi all,
JDO startsWith for Japanese works fine on development server,
but it does not work on production
(vendorName = datanucleus, key = gae.encoded-pk,
value = true)
private String key;
@Persistent
private String title;
@Persistent
private String content;
...
}
My jsp's encoding is UTF-8.
Is there a workaround?
Thanks,
Yasuo Higa
54 matches
Mail list logo