No es comparable de esta manera. Si bien puede obtener los mismos datos (en algunos casos) de ambos , sus intentos son completamente diferentes: FQL es un lenguaje de consulta, Graph es una API.
Llamando a consulta FQL si se utiliza JS nuevo SDK es un Graph API llama a sí mismo ...
Usted puede (y probablemente debería, si usted se preocupa comparación real y no la especulación teórica) comparar la velocidad de las llamadas que regresan misma datos, sino que debe tener en cuenta algunas cosas:
- Graph API aún se chupa en
condiciones de filtrado de datos y
agregación de datos
- FQL simplemente no puede proporcionar muchos de funcionalidad requerida en las aplicaciones de hoy en día (como Real-Time updates)
- Graph API tiene una capacidad de batch llamadas, lo que puede acelerar mucho las cosas, esto también se puede utilizar para llamar a fql.query y fql.multiquery (de una manera algo engorrosa).
- rocas Graph API de datos de filtrado con
Field Expansion
Considere siguiente ejemplo de FQL documentation, sub consulta que obtiene toda la información de usuario para el usuario activo y amigos:
SELECT uid, name, pic_square FROM user WHERE uid = me()
OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
Esto simplemente no es posible lograr con una sola llamada Graph API.
(ver la actualización)
Una vez que haya definido el subconjunto de datos deseado para obtener, puede elegir el método de recuperación apropiado en función de sus requisitos.
Por cierto, FQL es mucho mayor que el gráfico, tuvimos a un lado para FBML (RIP) y FBJS (RIP)
Actualización:
Graph API proporcionando camino para Batch Requests y especificando las dependencias entre las operaciones de la solicitud.Por ejemplo misma muestra como anteriormente se puede lograr en una sola llamada a Graph API
POST https://graph.facebook.com/
POST Data:
batch=[
{
"method": "GET",
"name" : "get-friends",
"relative_url": "me/friends?fields=id",
},
{
"method": "GET",
"relative_url": "?ids={result=get-friends:$.data.*.id}&fields=id,name,picture"
}
]
Actualización 2:
Como de 30 de agosto API 2012 gráfico también se admite Field Expansion (muy potente) mecanismo como adicional de datos la recuperación (incluyendo datos anidados)
no es realmente una respuesta, pero creo que la latencia de netwo rk es más importante, en comparación con la latencia del procesamiento de la CPU. Facebook debe tener una buena política de caché para acelerar las cosas. –